1 / 12

The Globus APIs

The Globus APIs. Francesco.Giacomini@cnaf.infn.it 11 th January 2001. 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.

fonda
Download Presentation

The Globus APIs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The Globus APIs Francesco.Giacomini@cnaf.infn.it 11th 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 POLL IO GRAM_HTTP (acquire credentials) COMMON THREAD_POOL THREAD ERROR CALLBACK THREAD_COMMON THREAD THREAD_POOL

  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 machine port JM pid UNIX 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 machine port

  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!

More Related