1 / 87

WP 10

WP 10. Information Services. Giovanni Aloisio, Massimo Cafaro, Italo Epicoco. giovanni.aloisio@unile.it massimo.cafaro@unile.it italo.epicoco@unile.it. University of Lecce, Italy. Outline. Grid Information Services Globus Toolkit 2.x MDS Configuring & adding information providers

minna
Download Presentation

WP 10

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. WP 10 Information Services Giovanni Aloisio, Massimo Cafaro, Italo Epicoco giovanni.aloisio@unile.itmassimo.cafaro@unile.ititalo.epicoco@unile.it University of Lecce, Italy

  2. Outline • Grid Information Services • Globus Toolkit 2.x MDS • Configuring & adding information providers • GridLab WP 10 activities • Work in progress 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  3. Grid Information Services • System information is critical to operation of the grid and construction of applications • What resources are available? • Resource discovery • What is the “state” of the grid? • Resource selection • How to optimize resource use • Application configuration and adaptation? • We need a general information infrastructure to answer these questions 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  4. Examples of useful Information • Characteristics of a compute resource • IP address, software available, system administrator, networks connected to, OS version, load • Characteristics of a network • Bandwidth and latency, protocols, logical topology 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  5. Grid Information: facts of Life • Information is always old • changing system state • need to provide quality metrics • Distributed state hard to obtain • complexity of global snapshot • Component will fail • Scalability and overhead • Many different usage scenarios • heterogeneous policy, different information organizations, different queries, etc. 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  6. Grid Information Service • Provide access to static and dynamic information regarding system components • A basis for configuration and adaptation in heterogeneous, dynamic environments • Requirements and characteristics • Uniform, flexible access to information • Scalable, efficient access to dynamic data • Access to multiple information sources • Decentralized maintenance 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  7. VO C ? ? ? ? VO A VO B The GIS Problem: Many Information Sources, Many Views R R R R R R R R R R R R R R R R R 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  8. What is a Virtual Organization? • Facilitates the workflow of a group of users across multiple domains who share (some of) their resources to solve particular classes of problems • Collates and presents information about these resources in a uniform view 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  9. Outline • Grid Information Services • Globus Toolkit 2.x MDS • Configuring & adding information providers • GridLab WP 10 activities • Work in progress 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  10. Two Classes of MDS Servers • Grid Resource Information Service (GRIS) • Supplies information about a specific resource • Configurable to support multiple information providers • LDAP as inquiry protocol • Grid Index Information Service (GIIS) • Supplies collection of information which was gathered from multiple GRIS servers • Supports efficient queries against information which is spread across multiple GRIS server • LDAP as inquiry protocol 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  11. MDS 2.2 Architecture Customized Aggregate Directories Users A A Enquiry Protocol Registration Protocol R R R R Standard Resource Description Services 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  12. Information Protocols • Grid Resource Registration Protocol • Support information/resource discovery • Designed to support machine/network failure • Grid Resource Inquiry Protocol • Query resource description server for information • Query aggregate server for information • LDAP V3.0 in Globus 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  13. MDS 2.2 Service Architecture VO-specific Aggregate Directories discovery (GRIP?) ? A A lookup (GRIP) registration (GRRP) R R R R standard Resource Description services • Dynamic Registration via Reg. Protocol (GRRP) • Resource Inquiry via Info. Protocol (GRIP) • Co-located with resource on network • Resource Discovery (via GRIP or other) • Using GRIP allows resource/directory hierarchy 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  14. R R R R R R R R R R R R R R R registration R fault-partition messages R R R R R R R R R R R R R R R R R R replicated directories divergent directories VO-A VO-B Distributed Services D D D D • Service scales with Grid growth • Loose consistency model tolerates failures • Interoperability by GRIP/GRRP protocols 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  15. Metacomputing Directory Service • Uses LDAP as Inquiry • Access information in a distributed directory • Directory represented by collection of LDAP servers • Each server optimized for particular function • Directory can be updated by: • Information providers and tools • Applications (i.e., users) • Backend tools which generate info on demand • Information dynamically available to tools and applications 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  16. LDAP Details • Lightweight Directory Access Protocol • IETF Standard • Stripped down version of X.500 DAP protocol • Supports distributed storage/access (referrals) • Supports authentication and access control • Defines: • Network protocol for accessing directory contents • Information model defining form of information • Namespace defining how information is referenced and organized 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  17. MDS Components • LDAP 3.0 Protocol Engine • Based on OpenLDAP with custom backend • Integrated caching • Information providers • Delivers resource information to backend • APIs for accessing & updating MDS contents • C, Java, PERL (LDAP API, JNDI) • Various tools for manipulating MDS contents • Command line tools, Shell scripts & GUIs 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  18. Grid Resource Information Service • Server which runs on each resource • Given the resource DNS name, you can find the GRIS server • well known port = 2135 • Provides resource specific information • Much of this information may be dynamic • Load, process information, storage information, etc. • GRIS gathers this information on demand • “White pages” lookup of resource information • Ex: How much memory does machine have? 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  19. Grid Index Information Service • GIIS describes a class of servers • Gathers information from multiple GRIS servers • Each GIIS is optimized for particular queries • Ex1: Which Alliance machines are >16 process SGIs? • Ex2: Which Alliance storage servers have >100Mbps bandwidth to host X? • Akin to web search engines • Organization GIIS • The Globus Toolkit ships with one GIIS • Caches GRIS info with long update frequency • Useful for queries across an organization that rely on relatively static information (Ex1 above) • “Yellow pages” lookup • Ex: Which machines have large memory? 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  20. Server Registration • A GRIS or GIIS server can be configured to (de-) register itself during startup/shutdown • Targets specified in configuration file • Soft-state registration protocol • Good behavior in case of failure • Allows for federations of information servers • E.g. Argonne GRIS can register with both Alliance and DOE GIIS servers 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  21. Soft-state Registration • Periodic notification • “Service/resource is available” • Expected-frequency metadata • Automatic directory construction • Add new resources to directory • Invite resources to join new directory • Self-cleaning • Reduce occurrence of “dead” references 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  22. Hierarchical MDS Deployment GIIS GIIS GRISes 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  23. MDS Commands • LDAP defines a set of standard commands ldapsearch, etc. • Globus Toolkit defines MDS-specific commands • grid-info-search, grid-info-host-search • APIs are defined for C, Java, etc. • C: OpenLDAP client API • ldap_search_s(), … • Java: JNDI 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  24. Information Services API • RFC 1823 defines an IETF draft standard client API for accessing LDAP databases • Connect to server • Pose query which returns data structures contains sets of object classes and attributes • Functions to walk these data structures • Globus does not provide an LDAP API and recommends the use of OpenLDAP, an open source implementation of RFC 1823. • LDAP APIs available in other languages • E.g. Java JDNI, Perl, Python, etc. 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  25. MDS 2.2 Features • Security Mechanisms • GSI mutual-authentication • Fine-grained access control by GSI name • Performance Enhancements • Better query speeds • Less stale information • New Information Model (schema) • Better representation of computers • Cleaner namespace management 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  26. MDS 2.2 Software Stack • OpenLDAP 2.0.x • Implements LDAPv3 protocol • Client and server components • Cyrus-SASL • Generic security • We provide loadable SASL/GSS plugin • Globus GSI • Provides GSS-API interface to PKI • Shared library used by our SASL plugin 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  27. MDS 2.2 Information Model • Structural information • Resource hierarchy maps to objects • Named positions in LDAP DIT • Merged information • Some parents “join” child data • Simplifies common query patterns • Auxiliary information • Uniform representation of leaf/parent data • Uses LDAP auxiliary objectclasses 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  28. hostname hn= CPU RAM DISK CPU VM NET software= OS dev group= CPUs CPU CPU dev group= memory dev group= disk dev group= net RAM DISK NET dev= cpu 0 dev= cpu 1 CPU CPU VM dev= RAM dev= VM dev= /scratch1 dev= eth0 RAM VM DISK NET GRIS Host Objects OS OS 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  29. GRIS Object Hierarchy Mds-Host-name=hostname Mds-Software-Deployment=operating system Mds-Device-Group-name=processors Mds-Device-name=cpu 0 Mds-Device-Group-name=memory Mds-Device-name=physical memory Mds-Device-name=virtual memory Mds-Device-Group-name=filesystems Mds-Device-name=/scratch1 Mds-Device-name=/scratch2 Mds-Device-Group-name=networks Mds-Device-name=eth0 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  30. GRIS Structural Class Hierarchy Mds Attr: Mds-validfrom (like createtime) Attr: Mds-validto (accuracy metadata) Attr: Mds-keepto (discard metadata) MdsHost MdsDevice MdsDeviceGroup MdsSoftwareDeployment • Every MDS object: name, time metadata 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  31. GRIS Auxiliary Class Examples • Once per CPU • Once per CPU • Once per SMP • Once per MPP MdsCpu Attr: Mds-Cpu-vendor Attr: Mds-Cpu-model Attr: Mds-Cpu-speedMHz MdsCpuCache Attr: Mds-Cpu-Cache-L1kB MdsCpuSmp Attr: Mds-Cpu-Smp-size MdsCpuTotal Attr: Mds-Cpu-Total-count 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  32. GRIS Auxiliary Class Examples MdsCpuFree (once per SMP) Attr: Mds-Cpu-Free-1minX100 Attr: Mds-Cpu-Free-5minX100 Attr: Mds-Cpu-Free-15minX100 MdsCpuTotalFree (once per MPP) Attr: Mds-Cpu-Total-Free-1minX100 Attr: Mds-Cpu -Total-Free-5minX100 Attr: Mds-Cpu -Total-Free-15minX100 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  33. Client Tools • Globus Toolkit includes 2 command line client tools for querying MDS services • grid-info-search: General purpose client • grid-info-search –h <host> -p <port> -b <base> \ -T <timeout> [<filter>] [<attributes>] • -x: Anonymous access • grid-info-host-search: Same as grid-info-search, but defaults to GRIS standard port • E.g. grid-info-host-search –h localhost • Both clients can search for specific system information and filter results. 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  34. Filtering • Filters allow selection of object based on relational operators • =, ~=,<=, >= • grid-info-search “cputype=*” • Compound filters can be construct with Boolean operations • &, |, ! • grid-info-search “(&(cputype=*)(cpuload1<=1.0))” • grid-info-search “(&(hn~=sdsc.edu)(latency<=10))” • Hints: • white space is significant • use -L for LDIF format 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  35. Outline • Grid Information Services • Globus Toolkit 2.x MDS • Configuring & adding information providers • GridLab WP 10 activities • Work in progress 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  36. Configuration files for Registration dc-n1.isi.edu grid-info-site-policy.conf grid-info-resource-register.conf grid-info-resource-ldif.conf GIIS GRIS dc-n2.isi.edu grid-info-resource-register.conf grid-info-resource-ldif.conf GRIS 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  37. Configuration files for Registration • A resource that is hosting a GIIS • grid-info-site-policy.conf • Determines whether to accept incoming registrations • Accept everything, or only registrations from the resources explicitly defined in this conf file (can use wildcards) • Default policy is to only accept registrations from self, and from port 2135 • In a hierarchical GIIS environment, this file must be modified from the default 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  38. grid-info-site-policy.conf Default Policy Data: objectclass: MdsRegistrationPolicy policydata: (&(Mds-Service-hn=mako.isi.edu)(Mds-Service-port=2135)) Change ‘policydata’ to this for completely open policy: (Mds-Service-hn=*) Change ‘policydata’ to this to restrict to 2 specific hosts: (&(|(Mds-Service-hn=dc-n2.isi.edu)(Mds-Service-hn=dc-n3.isi.edu))(Mds-Service-port=2135)) 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  39. Configuration files for Registration • A resource registering GRIS information with a GIIS • grid-info-resource-register.conf • Which GIIS’s this GRIS should register to, and how • GIIS could be on the same machine, but may not be • grid-info-resource-ldif.conf • Determines which GRIS providers are active and available to send data to the GIIS’s that this GRIS is registering with 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  40. Registering a GRIS with a GIIS • dn: <LDAP add object DN> • regtype: mdsreg2 • reghn: <host to send reg to> • regport: <port to send reg to> • regperiod: <how often to send reg (seconds)> • [service attribute/value]... • where service attribute entries depend on the type of LDAP object being published $GLOBUS_LOCATION/etc/grid-info-resource-register.conf 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  41. ExampleGRIS on dc-n2 registers with GIIS on dc-n1 • dn: Mds-Vo-Op-name=register, Mds-Vo-name=site, o=grid • regtype: mdsreg2 • reghn: dc-n1.isi.edu • regport: 2135 • regperiod: 600 • type: ldap • hn: dc-n2.isi.edu • port: 2135 • rootdn: Mds-Vo-name=local, o=grid • ttl: 1200 • timeout: 20 • mode: cachedump • cachettl: 30 $GLOBUS_LOCATION/etc/grid-info-resource-register.conf 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  42. Registration Control Parameters • regperiod • How often this GRIS will send a message to the GIIS noting its existence • ttl • How long the recieving GIIS should keep the registration information before assuming that the GRIS is no longer available • In general ttl should be: ttl = 2 x (regperiod) • cachettl • Recommendation to the GIIS about how long to maintain in cache, the GRIS information provided by this resource $GLOBUS_LOCATION/etc/grid-info-resource-register.conf 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  43. MDS 2.2 GRIS Providers • grid-info-cpu reports CPU/load info • grid-info-fs reports filesystem info • grid-info-mem reports RAM/VM info • grid-info-net reports NIC/net info • grid-info-os reports OS info • grid-info-platform reports arch. info • grid-info-merged merges all host info* • Extensible for other sources, e.g. GRAM 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  44. GRIS Dispatch Logic • For each provider: • Could search intersect provider? No, then skip. • Is provider cache stale? Yes, then refill. • Apply search filter to cache data. • Combine all intersecting providers’ results 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  45. GRIS Response Issues • MDS 2.2 is lazy • Probes are not issued unless queried • Some system probes are slow • “Best” probe may take several seconds • How to avoid stale data? • Clients set time-out per query • GRIS/GIIS define time-out per source • Fresh data found before timeout is returned • Cache fill continues after client time-out 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  46. New Information Providers • Decide what information to publish into MDS • Create a program that implements the I/O interface requirements of a GRIS Information Provider • Enable the information provider for an MDS installation 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  47. New Information Providers • Decide what information to publish into MDS • OID: conflict avoidance • OID Registered with IANA Private Enterprise Numbers • http://www.iana.org/cgi-bin/enterprise.pl • 1.3.6.1.4.1.3536.* Globus OID subspace • 1.3.6.1.4.1.3536.2.* Globus Info Services OID subspace • 1.3.6.1.4.1.3536.2.6.* MDS OID subspace • GridLab project OID: 1.3.6.1.4.1.3536.2.6.3536.9 • Object Naming: conflict avoidance • ISI will coordinate prefix naming. Request a prefix from: • mailto:mds-oid-registrar@globus.org • GridLab prefix: “GridLab” • Schema • Data Modeling problem • LDAP schema syntax problem • $GLOBUS_LOCATION/etc/grid-info-resource.schema 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  48. New Information Providers • Create your program • Any language. The only requirements are the I/O interface of your program: • Must be callable by fork and exec from the slapd process • You can pass in arguments to your program • Must return data in LDIF format • Data returned must match the LDAP schema • RFC 2849 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  49. New Information Providers • Enable your new information provider by adding a configuration block • $GLOBUS_LOCATION/etc/grid-info-resource-ldif.conf • # generate memory info every minute • dn: Mds-Device-Group-name=memory, Mds-Host-hn=mako.isi.edu, Mds-Vo-name=local, o=grid • objectclass: GlobusTop • objectclass: GlobusActiveObject • objectclass: GlobusActiveSearch • type: exec • path: /globus/libexec • base: grid-info-mem-linux • args: -devclassobj -devobjs -dn Mds-Host-hn=mako.isi.edu,Mds-Vo-name=local,o=grid -validto-secs 60 -keepto-secs 60 • cachetime: 60 • timelimit: 10 • sizelimit: 3 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

  50. New Information Providers • dn • Where the object lives in the DIT • These lines must be included: • objectclass: GlobusTop • objectclass: GlobusActiveObject • objectclass: GlobusActiveSearch • type: exec • path • Path to the information provider program • base • Name of the information provider program • args • Arguments to be passed to the information provider program • cachetime • In seconds, how long GRIS will consider the data to not be stale • timelimit • In seconds, how long the GRIS should wait for the information provider to return data before giving up on it • sizelimit • Max number of LDIF objects to be read from the output of the information provider $GLOBUS_LOCATION/etc/grid-info-resource-ldif.conf 2nd GridLab Conference Eger - Hungary, March 31 - April 1 2003

More Related