Download presentation
Presentation is loading. Please wait.
1
The Globus APIs Francesco.Giacomini@cnaf.infn.it 11 th January 2001
2
General remarks Globus Software is structured in modules A developer tutorial is available on “common” services, security, io, gram (client, myjob, jobmanager), duroc, gass, ldap, rsl, nexus Lack of documentation
3
“common” services Module management –activation/deactivation –it would be useful to have a dependency graph OS services –threads, mutexes, condition variables –generic interface, but not OO –globus-dependent naming
4
Security Basic gssapi and gss_assist –Not an expert, both difficult for me –Some errors in source code (port number not in net byte order, variable not initialized, missing arg to a function)
5
RSL No documentation (no reference manual, no user’s guide) –Which functions belong to the API? From the examples one can intuitively understand how to use some of the functions –How to navigate in the internal representation tree?
6
RSL (cont) In the spec executable, stdin, stdout, stderr can be URLs (http) –Ok for stdin –Not for executable
7
GRAM client GRAM_CLIENT POLLIOGRAM_HTTP THREAD THREAD_POOL THREAD_COMMON ERROR COMMON CALLBACK THREADTHREAD_POOL (acquire credentials)
8
GRAM client functions General –globus_gram_client_error_string() Job (globus_gram_client_job_*) –request(), status(), cancel(), contact_free() –callback_register(), callback_unregister() –check(), start_time() Callback (globus_gram_client_callback_*) –allow(), disallow()
9
Job submission module_activate(GLOBUS_GRAM_CLIENT_MODULE) job_request(jm_contact, rsl_spec, …) -> job_contact job_contact_free(job_contact) module_deactivate_all() https://1linux.cnaf.infn.it:2702/18926/978976875 job_contact is used by job_status() and job_cancel() Running machineportJM pidUNIX time
10
Callbacks Enabling a callback callback_allow(cb_fun, cb_arg) -> cb_contact Implicit callback registration job_request(…, cb_contact, …) Explicit callback registration job_callback_register(job_contact, cb_contact, …) job_callback_unregister(job_contact, cb_contact, …) Disabling a callback callback_disallow(cb_contact)
11
Callback contacts https://1linux.cnaf.infn.it:2676/ Existing callback contacts are disabled deactivating the module No API function to free a callback contact Submitting machineport
12
When will my job start? job_start_time(job_contact, …) –estimated start time of a PENDING job or –actual start time of an ACTIVE job job_check(jm_contact, rsl_spec, …) –estimated start time of a job with the specified characteristics Not yet implemented!
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.