Transcript Metacomputing Directory Service
Metacomputing Directory Service (MDS)
A Directory Service for Configuring High-Performance Distributed Computations (Fitzgerald et. al.) Joel Thomas
Overview
Introduction Design Considerations Current Approaches Design of MDS Implementation MDS With Globus Future Conclusion
Introduction
High performance distributed computing requires selection, configuration To make good decisions, timely, accurate information is invaluable Currently, have nonstandard ways to store/access the right kind of data The Metacomputing Directory Service (MDS) hopes to provide a scalable service to handle this need
Design Considerations
Performance Scalability and cost Uniformity Expressiveness Extensibility
Design Considerations(cont.)
Multiple Information Sources Dynamic data Flexible access Security Deployability Decentralized maintenance
Current Approaches
Uname, sysinfo Simple Network Management Protocol(SNMP), NIS(Network Information Service) PVM(Parallel Virtual Machine), MPICH (Message Passing Interface) DNS (Domain Name Service) X.500, LDAP (Lightweight Directory Access Protocol) Chose to integrate existing systems as much as possible But use LDAP to organize
Design of MDS
Representation and Data Access Data Model Implementation
Representation
Borrows straight from LDAP Entry: instance of person, network, computer, etc.
Type is created by associating an object class Directory Information Tree (DIT) hierarchical, tree-structured name space Distinguished Name (DN) path from leaf to root entry
ou = MCS, o = Argonne National Laboratory, o = Globus, c = US >
DIT example
Object Classes
LDAP has set of standard class definitions, which can be extended (top, group classes, etc.) Defines attributes for an entry, and what values those attributes may contain Attributes may be required or optional Can use inheritance to build new classes
Data Model
Consists of DIT hierarchy and object class definitions Computer centric, not network centric People, hosts, communication networks under organization
Data Model (cont.)
GlobusHost GlobusNetwork Link protocol (ATM, Ethernet) Network topology(bus, ring) Physical media (copper, fiber) GlobusNetworkInterface Physical characteristics (speed) and hardware address Hosts contain network interfaces Network interfaces attached to networks
Configuration example
MDS representation
Data Model (cont.)
Physical vs. Logical Network info Single network, multiple protocol stacks Each may have distinct interface and performance Images: multiple logical views of the same physical network (RFC 1609) contains new information, and pointer back to physical Physical has reference to all images that point to it GlobusHostImage GlobusNetworkImage GlobustNetworkInterfaceImage
Implementation
While LDAP interface met most needs, default implementation was somewhat slow Problems: Single information provider Client/server architecture Scope of Data Allows info providers to provide information per attribute Time to Live (TTL) for attribute (before refreshing) Update scope: process, computation, global
Sample queries
What are the network interfaces for ATM?
Find GlobusNetworkInterface->GlobusNetwork (link_protocol=ATM) For that GNI, GlobusNetworkInterface >GlobusNetworkInterfaceImage (ip_address) Which nodes can use vendor protocols on fast internal networks?
Two GlobusHostImages belong to the same GlobusNetworkImage object
MDS Recap
MDS with Globus
Nexus communication module Uses MDS to find out what low-level mechanisms are between modules Select between mechanism, based on rules Rules based on dynamic information or programmer preference Code runs unchanged, but can adapt to meet performance needs I-WAY TestBed (heterogeneous virtual machines) Resource Location Resource Brokers
Future
Use in GUSTO Extend Globus components to use MDS Expand information sources Optimize for common operations Sophisticated applications (e.g. resource scheduling) Performance metrics
Conclusion
Designed to provide dynamic information in a timely, scalable manner Take advantage of LDAP flexibility and growing usage in industry Provide information richness in extensible manner