Presentation is loading. Please wait.

Presentation is loading. Please wait.

Globus Grid Tutorial Part 3: Information Services.

Similar presentations


Presentation on theme: "Globus Grid Tutorial Part 3: Information Services."— Presentation transcript:

1 Globus Grid Tutorial Part 3: Information Services

2 Goals of this Tutorial l Learn how to use the Globus Metacomputing Directory Service to locate and determine characteristics of resources l Locate resources u Where are resources with required architecture, installed software, available capacity, network bandwidth, etc.? l Determine resource characteristics u What are the physical characteristics, connectivity, capabilities of a resource?

3 The Need for Information l System information is critical to operation of the grid and construction of applications u How does an application determine what resources are available? u What is the “state” of the computational grid? u How can we optimize an application based on configuration of the underlying system? l We need a general information infrastructure to answer these questions

4 Using Information for Resource Brokering “10 GFlops, EOS data, 20 Mb/sec -- for 20 mins” Metacomputing Directory Service GRAM Resource Broker Info service: location + selection Globus Resource Allocation Managers GRAM Fork LSF EASYLL Condor etc. “What computers?” “What speed?” “When available?” “50 processors + storage from 10:20 to 10:40 pm” “20 Mb/sec”

5 Examples of Useful Information l Characteristics of a compute resource u IP address, software available, system administrator, networks connected to, OS version, load l Characteristics of a network u Bandwidth and latency, protocols, logical topology l Characteristics of the Globus infrastructure u Hosts, resource managers

6 Information Infrastructure l Provide access to static and dynamic information regarding system components l A basis for configuration and adaptation in heterogeneous, dynamic environments l Requirements and characteristics u Uniform, flexible access to information u Scalable, efficient access to dynamic data u Access to multiple information sources u Decentralized maintenance

7 The Globus Metacomputing Directory Service l Store information in a distributed directory u Directory stored in collection of servers l Directory can be updated by u Globus system u Other information providers and tools u Applications (i.e., users) l Information dynamically available to u Tools u Applications

8 Directory Service Functions l White Pages u Look up u Look up the IP number, amount of memory, and so forth, associated with a particular machine l Yellow Pages u Find u Find all the computers of a particular class or with a particular property l Tuned for high-volume lookup or search l Temporary inconsistencies are considered okay

9 The Metacomputing Directory Service l Standard interface and protocol u Lightweight Directory Access Protocol (LDAP) u Add gateways and pragmas l Globus specific data model u Host-centric representation l Data discovery & update SNMP MDS Client Library NIS NWS LDAP LDAP API & represent. Middleware Data model … Application

10 MDS Components l Standard LDAP server u Netscape Directory Server v4 l Tools for populating & maintaining MDS u Integrated with Globus server release, not of concern to most Globus users u Discover static info, update dynamic info l APIs for accessing & updating MDS contents u C, Java, PERL (LDAP API, JNDI) l Various tools for manipulating MDS contents u Command line tools, Shell scripts & GUIs

11 LDAP Directory Service l Lightweight Directory Access Protocol u Stripped down version of X.500 DAP protocol u Supports distributed storage/access (referrals) u Supports replication u Becoming de facto standard l Defines: u Network protocol for accessing directory contents u Information model defining form of information u Namespace defining how information is referenced and organized

12 Directory Structure l Directory contents u What information is stored in directory u Group related information into entries l Directory organization u Objects organized into tree structure u Position of object in tree uniquely names entry

13 Entries and Object Classes l Directory entry consists of related set of attributes and values l Entries are typed by their Object Class l Object class specifications define u Required and optional attributes u Attribute types u Single inheritance on object classes

14 Sample Object Classes l Compute Resources u Operating System u Memory Hierarchy u Health and Status l Network Interfaces u IP address u Interface types l Performance Data u Schedule Jobs u CPU Loads u Network Traffic l Resource Managers u Contact strings u Scheduled jobs u Free nodes l Software u Configuration u Version Control u Contact information l Organizations l People

15 Object Class Specification GlobusHost OBJECT CLASS SUBCLASS OF GlobusPhysicalResource RDN = hn (hostName) CHILD OF { organization } MUST CONTAIN { type:: cis, vendor:: cis, model:: cis, ostype:: cis, osversion:: cis } MAY CONTAIN { networkNode :: dn, totalMemory :: cis, totalSwap :: cis,... } GlobusPhysicalResource OBJECT CLASS SUBCLASS OF GlobusTop RDN = rn (resourceName) MUST CONTAIN { imageObject :: dn } MAY CONTAIN { manager:: dn, provider:: dn, technician:: dn, description:: cis, documentation:: cis }

16 The Directory Information Tree l Directory entries organized into tree u Called Directory Information Tree (DIT) u Subtrees can be distributed or replicated l Position in tree uniquely names entry l Each object is uniquely determined by its distinguished name (DN) u List of unique attribute names and values along path from root of DIT to object, e.g.:

17 MDS Data Model Carl Steve Switch Ethernet Ian Gregor Steve Warren sunny hot IBM SP dark cold LAN WAN USC/ISI ANL/MCS c=US o=globus o=USCo=ANL ou=MCSou=ISI nn=WAN cn=Ian cn=Gregor cn=Warren cn=Steve nn=SP-switch nn=SP-ether nn=MCS-lan hn=sp1.mcs.anl.gov hn=spN.mcs.anl.gov hn=cold.mcs… hn=dark.mcs… cn=Carl cn=Steve … … … … Physical Structure Directory Information Tree <hn= dark.mcs.anl.gov, ou= MCS, o = Argonne National Laboratory, o = Globus, c = US> Distinguished Name

18 MDS Tools l Web-based browsers and displays u MDS Object Class Browser u MDS Explorer l Various APIs and search tools l Translators from “Globus Object Definition Language” u Commented LDIF u LDAP schema definition language u HTML

19 MDS Object Class Browser

20

21 MDS Access/Update Commands l LDAP defines a set of standard commands ldapsearch, ldapmodify, ldapdelete, etc. l We also define MDS-specific commands u grid-info-search, grid-info-create, grid-info- update, grid-info-remove u Routines to ensure data consistency and to insert metadata l APIs are defined for C, Java, etc. ldap_search_s, ldap_modify_s, ….

22 Searching an LDAP Database grid-info-search [options] filter [attributes] l Default grid-info-search l Default grid-info-search options -h mds.globus.orgMDS server -p 389 MDS port -b “o=Globus, c=US” search start point -T 30 LDAP query timeout -s sub scope = subtree alternatives: base : lookup this entry one: lookup immediate children

23 grid-info-search: “Filter” l Filters allow selection of object based on relational operators (=, ~=, =) u grid-info-search “cputype=*” l Compound filters can be construct with Boolean operations: (&, |, !) u grid-info-search “(&(cputype=*)(cpuload1<=1.0))” u grid-info-search “(&(hn~=sdsc.edu)(latency<=10))” l Hints: u white space is significant u use -L for LDIF format required

24 Example 1: grid-info-search “(mn~=sdsc.edu)” cn=sp097.sdsc.edu-loadleveler, ou=SDSC, o=NPACI, o=Globus, c=US objectclass=GlobusResourceManager cn=sp097.sdsc.edu-loadleveler mn=sp097.sdsc.edu-loadleveler hn=sp097.sdsc.edu contact=sp097.sdsc.edu:754:/C=US/O=Globus/O=NPACI/OU=SDSC/ \ CN=sp097.sdsc.edu-loadleveler apiversion=0.1 apitype=loadleveler managedresources=hn=sp097.sdsc.edu, ou=SDSC, o=NPACI, \ o=Globus, c=US gramversion=1.53 gramversiondate=1998/06/1921:17:23 gramsecurity=ssleay freenodes=49 totalnodes=117 lastupdate=Sat Jun 27 18:23:34 GMT 1998 scheduledjob=none

25 Example 2: grid-info-search -L “(sw=Globus)” dn: sw=Globus, hn=host.domain.edu, o=My Organization, o=Globus, c=US sw: Globus objectclass: GlobusSoftware releasemajor: 1 releaseminor: 1 releasepatch: 0 configuration: --prefix=/cpc/globus/service/sun4-sparc2 \ --with-ssl-path=/cpc/ssl/sun4-sparc2 configuration: --prefix=/cpc/globus/tools/sun4-sparc2 \ --with-ssl-path=/cpc/ssl/sun4-sparc2 installprefix: /cpc/globus/ serviceprefix: /cpc/globus/service toolsprefix: /cpc/globus/tools deployprefix: /opt/globus/ userid: globus objectname: sw=Globus, hn=host.domain.edu, o=My Organization, \ o=Globus, c=US lastupdate: Wed Jan 20, 06:06:13 GMT 1999

26 grid-info-search: “Attributes” l Projections on the data objects are performed by supplying a list of attributes l Retrieve the DN for all objects in the MDS: % grid-info-search -L “(objectclass=*)” dn dn: o=Globus, c=US dn: o=University of Southern California, o=Globus, c=US dn: ou=MCS, o=Argonne National Laboratory, o=Globus, c=US dn: o=NASA Ames, o=Globus, c=US dn: ou=SDSC, o=NPACI, o=Globus, c=US

27 Multiple Attribute Selection l % grid-info-search -L “(objectclass=*)” dn hn u Returns the distinguished name (dn) and hostname (hn) of all objects u Objects without hn fields are still listed u DNs are always listed dn: o=CalTech, o=Globus, c=US dn: hn=neptune.cacr.caltech.edu, o=CalTech, o=Globus, c=US hn: neptune.isi.edu dn: ou=SDSC, o=NPACI, o=Globus, c=US dn: o=University of Southern California, o=Globus, c=US

28 Efficient Lookups l Naïve searches retrieve lots of information % grid-info-search “(objectclass=*)” | grep contact l Whenever possible, reduce search domain u Specify a search base (-b) % grid-info-search -b “o=NASA Ames, o=Globus, C=US” u Specify the scope of the search (-s) options: base, one, and sub l Narrow the amount of objects selected, i.e., use specialized filters l Specify which attributes you want

29 Authentication to MDS l Authentication is required to perform certain operations (e.g., write operations) l Each site has a Directory Manager u cn=Directory Manager, o=Organization, c=US l Users registered with the MDS have a DN u cn=Jane Doe, o=Organization, c=US % grid-info-search -D “cn=Jane Doe, o=Organization, c=US” \ -w

30 Updating MDS Entries l To update an existing database entry: grid-info-modify -D "cn=Directory Manager, o=Globus, c=US” \ -w -f sample.ldif dn: hn=tuva.mcs.anl.gov, ou=MCS, o=Argonne National Laboratory, o=Globus, c=US cpuload1: 3.11 cpuload5: 2.64 cpuload15: 2.57 l Metadata is inserted by grid-info-update grid-info-update -D "cn=Directory Manager, o=Globus, c=US” \ -w -f sample.cldif

31 Example: Discovering CPU Load l Retrieve CPU load fields of compute resources grid-info-search -L “(objectclass=GlobusComputeResource)” \ dn cpuload1 cpuload5 cpuload15 dn: hn=lemon.mcs.anl.gov, ou=MCS, o=Argonne National Laboratory, o=Globus, c=US cpuload1: 0.48 cpuload5: 0.20 cpuload15: 0.03 dn: hn=tuva.mcs.anl.gov, ou=MCS, o=Argonne National Laboratory, o=Globus, c=US cpuload1: 3.11 cpuload5: 2.64 cpuload15: 2.57

32 Exercise 3 Extended Exercises l Explore the MDS via u MDS object code Browser http://www.globus.org/mds u MDS Navigator http://www.globus.org/testbeds u Globus View http://www.globus.org/testbeds l Write a set of MDS/LDAP queries % grid-info-search “hn~=isi.edu”

33 MDS Search Exercises 1. List all hosts that have a “lsf” jobmanager type. 2. List all hosts that have a CPU load greater than 5. 3. List all hosts with 16 or more CPUs. 4. Determine the current versions of Globus installed at Argonne. 5. Determine the deployment directory on flash.isi.edu. 6. Determine the bandwidth between pitcairn.mcs.anl.gov and bolas.isi.edu.

34 MDS Search Answers (1) 1. List all hosts that have a “lsf” gatekeeper. grid-info-search “apitype=lsf” hostname 2. List all hosts that have a CPU load greater than 5. grid-info-search “cpuload1>=5” hostname 3. List all hosts with 16 or more CPUs. grid-info-search “cpucount>=16” hostname 4. Determine the current versions of Globus installed at Argonne. grid-info-search \ -b ‘o=Argonne National Laboratory, o=Globus, c=US’ \ ‘sw=Globus’ releasemajor releaseminor releasepatch

35 MDS Search Answers (2) 5. Determine the deployment directory on flash.isi.edu. grid-info-search \ ‘(&(objectclass=*ResourceManager)(hn=flash.isi.edu))’ \ deploydir 6. Determine the bandwidth between pitcairn.mcs.anl.gov and bolas.isi.edu. grid-info-search \ “(|(&(sourcehostname=pitcairn.mcs.anl.gov) \ (destinationhostname=bolas.isi.edu)) \ (&(sourcehostname=bolas.isi.edu) \ (destinationhostname=pitcairn.mcs.anl.gov)))” bandwidth

36 Summary l MDS provides the information needed to perform dynamic resource discovery and configuration u Critical component of resource brokers l MDS is base on existing directory service standards (LDAPv3)

37 Changes from 1.0 to 1.1 l Tools are renamed globus-mds-{search,add,delete,modify} became grid-info-{search,add,delete,modify} l Configurable LDAP search timeout (-T)


Download ppt "Globus Grid Tutorial Part 3: Information Services."

Similar presentations


Ads by Google