Metacomputing Directory Service

Directory Service (MDS)
A Directory Service for Configuring
High-Performance Distributed
Computations (Fitzgerald et. al.)
Joel Thomas
 Introduction
 Design Considerations
 Current Approaches
 Design of MDS
 Implementation
 MDS With Globus
 Future
 Conclusion
 High performance distributed computing requires
selection, configuration
 To make good decisions, timely, accurate information is
 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
 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
 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
 <hn =
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
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
 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
For that GNI, GlobusNetworkInterface>GlobusNetworkInterfaceImage (ip_address)
 Which nodes can use vendor protocols on fast internal
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
Select between mechanism, based on rules
Rules based on dynamic information or programmer preference
Code runs unchanged, but can adapt to meet performance
 I-WAY TestBed (heterogeneous virtual machines)
 Resource Location
Resource Brokers
 Use in GUSTO
 Extend Globus components to use MDS
 Expand information sources
 Optimize for common operations
 Sophisticated applications (e.g. resource scheduling)
 Performance metrics
 Designed to provide dynamic information in a timely,
scalable manner
 Take advantage of LDAP flexibility and growing usage in
 Provide information richness in extensible manner