Grid Computing, B. Wilkinson, 2004 6c.1
Globus
III - Information Services
Grid Computing, B. Wilkinson, 2004 6c.2
Resource Discovery
• Critical in a grid to be able to discovery what resources are available and what are the options.
• For compute resources, information can be hardware details and software details, and dynamically changing information such as load.
Grid Computing, B. Wilkinson, 2004 6c.3
Typical Details
• Compute resources:– CPU vendor, type, speed, cache sizes, ...– Memory type, size, speed, ...– Disk space …
• Network resources– Network bandwidth– Latency– Topology– Protocols, ...
Grid Computing, B. Wilkinson, 2004 6c.4
Compute Resource Software Details
• IP address
• Software available
• Operating System version number
• Resource manager, ...
Grid Computing, B. Wilkinson, 2004 6c.5
Static and Dynamic data
• Information is always subject to change and old.
• Some information changes naturally, such as load information.
Grid Computing, B. Wilkinson, 2004 6c.6
Centralized Information System
ClientsResources
Periodically update LDAP server information
Clients query for current information
LDAP Server
“push”
LDAP Lightweight Directory Access Protocol
Grid Computing, B. Wilkinson, 2004 6c.7
Disadvantages
• Does not scale well as number of resources grows
• Commercial LDAP services optimized for read operations, not good with frequent writes.
• System fails if LDAP server down
Grid Computing, B. Wilkinson, 2004 6c.8
Globus Grid Information ServiceMonitoring and Directory Service (MDS)
• Based upon LDAP.
• Originally called “Metacomputing Directory Service” - renamed
• MDS-2 uses a distributed organization.
Grid Computing, B. Wilkinson, 2004 6c.9
MDS-2
Consisting of two types of service:
• Grid Resource Information Service (GRIS)
• Grid Index Information Service (GIIS)
Grid Computing, B. Wilkinson, 2004 6c.10
Grid Resource Information Service (GRIS)
• Associated with each resource.
• Answers queries from client/user about the particular resource.
• Accesses an “information provider” deployed on that resource for requested information.
Grid Computing, B. Wilkinson, 2004 6c.11
Queries
• “White pages”– Resource information
• e.g. How much memory does machine have
• “Yellow” pages– Resource options
• e.g. Which queues allow large jobs.
Grid Computing, B. Wilkinson, 2004 6c.12
Grid Index Information Service (GIIS)
• A directory service that collects (‘pulls”) information for GRIS’s.
• A “caching” service.
• Provides indexing and searching functions.
Grid Computing, B. Wilkinson, 2004 6c.13
Overall StructureClients Resources
GIIS information as needed
Clients query resource GRIS directly for current information
GIIS
“pull”
GRIS
GRISClients makes indirect query to GIIS
Grid Computing, B. Wilkinson, 2004 6c.14
Scaling
• Can have multiple GIIS’s in various configurations
• Configuration can take into account virtual organizations
Grid Computing, B. Wilkinson, 2004 6c.15
Accessing Information
GT3 command:
grid-info-search
with various flags to specify host, port, etc.: -h MDS server
-p MDS port
-b Search start point
-T LDAP query time out
Grid Computing, B. Wilkinson, 2004 6c.16
Examplegrid-info-search -x -h hot.mcs.anl.gov -p 2135 -b
“Mds-Vo-name=local, o=Grid”
Produces:
dn: Mdss-Host-hn=hot.mcs.gove, Mds-Vo-name=local, o=grid
Mds-CPU-speedMhz: 866
Mds-Memory-Ram-Total-freeMB: 304
Mds-CPU-Free-5minX100: 134.
.
From “Grid Computing” by A. Abbas, page 204.
Grid Computing, B. Wilkinson, 2004 6c.17
LDAP Browser/Editor
• Java Commodity Grid (CoG) Kit has a LDAP Browser/Editor
Grid Computing, B. Wilkinson, 2004 6c.18From “Grid Computing” by A. Abbas, page 202.
LDAP Browser/Editor
Grid Computing, B. Wilkinson, 2004 6c.19
Security
• MDS 2.1 has PKI security for GSI mutual authentication
Grid Computing, B. Wilkinson, 2004 6c.20
LDAP Exercise
• Go to Globus subdirectory called ldap
• Follow instructions in README file
Grid Computing, B. Wilkinson, 2004 6c.21
Discovering Grid Services
• MDS, as described, is only for discovery hardware resources, not the actual grid services one might want.
• In a service oriented architecture, services are “published” in a registry so that they can be found.
Grid Computing, B. Wilkinson, 2004 6c.22
2. Find
3. Bind
1. Publish
Service-Oriented Architecture
Service requester
Service registry
Service provider
Grid Computing, B. Wilkinson, 2004 6c.23
UDDI(Universal Description, Discovery, and Integration)
• Web services often use UDDI registries.
• UDDI designed to support business services.
• Information can be classified as:– White pages -- company contact information, ...– Yellow pages -- Web service description– Green pages -- Technical information about Web
Service
Grid Computing, B. Wilkinson, 2004 6c.24
Web Services
From http://www.globus.org
Grid Computing, B. Wilkinson, 2004 6c.25
Accessing Grid Services
• GT 3 provides an “index service” (as a higher level service) to access service data provided with grid service.
• Service data can includes both hardware and software details of service.
Grid Computing, B. Wilkinson, 2004 6c.26
GT3 Index Service
From “Grid Computing” by J. Joseph and C. Fellenstein, page 340.
Grid Computing, B. Wilkinson, 2004 6c.27
Service Data
• Information about service provided in service data elements (SDEs) as part of the GWSDL file.
• The GWSDL file defines service interface (see assignment 2), and SDEs are added to this.
Grid Computing, B. Wilkinson, 2004 6c.28
Types of Service Data Elements
• State Information -- results, previous results, run time information, …
• Service Metadata -- system data, supported interfaces, cost of using service, ...
Grid Computing, B. Wilkinson, 2004 6c.29
Client Accessing Service Data
• Done through grid service methods.
Grid Computing, B. Wilkinson, 2004 6c.30
Changes to Grid service
• Done through “notification” mechanism whereby client subscribes to mechanism and is notified of changes.
Grid Computing, B. Wilkinson, 2004 6c.31
Derived from The Globus Toolkit 3 Programmer’s Tutorial” by Borja Sotomayor, 2004, page 65.
addListenerto subscribe
notifyChangewhen change occurs
deliverNotification to notify subscribers
Grid Computing, B. Wilkinson, 2004 6c.32
More Information
• “The Globus Toolkit 3 Programmer’s Tutorial” by Borja Sotomayor, 2004, Chapter 5 and Chapter 6.
http://www-unix.globus.org/toolkit/
Gives sample code.