Date post: | 11-Jan-2016 |
Category: |
Documents |
Upload: | alyson-mosley |
View: | 215 times |
Download: | 0 times |
MDS-2.1 and Futures
Karl Czajkowski
Information Sciences InstituteUniversity of Southern California
Talk Outline
Introduction– Problem, history, etc.
MDS-2 Architecture– Protocols– Features, services
MDS-2.1 Software– Technology map
Information Model– Additional background
Resource Discovery/Monitoring
Distributed users and resources Variable resource status Variable grouping and connectivity
RR
RR
R
R
?
?
R
RR
R
R R
R
R R?
?R
R
R
R R
dispersed users
VO-A VO-B
partioned network
Basic Grid Acquisition Phases
Resource Discovery– “What resources are relevant?”– Bootstraps planner state
Resource Status Query– “How do resources compare (now)?”– Refines planner knowledge
Resource Control– “Did I acquire the resources?”– Not an information service task!
MDS History
MDS-1 (classic)– Centralized database
– Globus 1.1.2 and earlier
– Did not scale MDS-2
– Distributed services
– MDS 2.0 in Globus 1.1.3
– New MDS 2.1 development in alpha release
Base Features
Virtual Organizations (Vos)– Group together resources
– Support community-specific “discovery”
– Specialized “views” Scalability
– Many resources
– Many Vos
– Graceful degradation of service
Virtual Organizations
Collaborating individuals and institutions– Shared goals
– Enable sharing of resources
– Non-locality of participants Dynamic in nature
– VOs come and go
– Resources joing and leave Vos
– Resource change status and fail Community-wide goals
Scalability
Large numbers– Many resources– Many users
Independence– Resources shouldn’t affect one another– Vos shouldn’t affect one another
Graceful degradation of service– “As much function as possible”– Tolerate partitions, prune failures
New MDS-2.1 Features
Security– GSI mutual-authentication
– Fine-grained access control by GSI name Performance
– Better query speeds
– Less stale information Extensibility Convenience
Service Hierarchy
Resource Description via Info. Protocol (GRIP)– Co-located with resource on network
Aggregate Directories (via GRIP or other)– Can be made hierarchical
Dynamic Registration via Reg. Protocol (GRRP)
discovery (GRIP?)
lookup (GRIP)registration (GRRP)
VO-specific AggDirs
standard ResDesc services
R R R R
A A?
Distributed Services
Service scales with Grid growth Loose consistency model tolerates failures Interoperability by protocols
R
R R
R R
R
R R
fault-partitionregistrationmessages
replicated directories divergent directories
R
R
RR
RR R
RR
VO-A VO-B
RR
R
R
RR R
RR
R
R R
R R
R
RR D
D
D
D
Soft-state Registration
Periodic notification– Service/resource is available
– Expected-frequency metadata Automatic extension
– Add new resources to directories
– Invite resource to join new directory Self-cleaning
– Reduce occurrence of “dead” references
MDS-2 Implementation
Grid Resource Information Service (GRIS)– Provides resource description
– Modular content gateway Grid Index Information Service (GIIS)
– Provides aggregate directory
– Hierarchical groups of resources Lightweight Dir. Access Protocol (LDAP)
– Standard with many client implementations
– Used for GRIP (and GRRP currently)
MDS-2.1 Development Activities
Incorporating external advances– New OpenLDAP 2.0.x code-base
– Cyrus-SASL/GSI security integration
– Leveraging new Globus packaging model Improving internal components
– Better query servicing
– New configuration/policy support
– Invitation (reverse registration)
MDS-2.1 External Software Stack
OpenLDAP 2.0.x (.11)– Implements LDAPv3 protocol– Client and server components
Cyrus-SASL– Generic security– We provide loadable SASL/GSI plugin
Globus GSI (repackaged)– Provides GSS-API interface to PKI– Loadable module works with SASL plugin
MDS 2.1 Security
PKI authentication Static authorization
– Class, attribute, object name rules “Self” authorization
– Semi-dynamic rule– Requires “owner” attribute on objects
Dynamic authorization– Directory-based group lists (or future CAS)– Per-object access rule attributes
MDS-2.1 Internal Software
Wrappers/tools– Simplify typical idioms
Modular GRIS providers– Probe/query resource status
– Generates LDIF-format data LDAP server “backend” modules
– GRIS provider dispatch/caching
– GIIS implementation(s)
MDS-2.1alpha GRIS Providers
globus-software reports Globus packages grid-info-host reports host OS info grid-info-host-interfaces reports NICs grid-info-host-load reports host load grid-info-host-filesystem reports disks globus-gram-reporter reports jobs
GRIS Dispatch Tests
Concurrent dispatch for each provider:
1. Could search intersect provider? No, then stop.
2. Is provider cache stale? Yes, then refill.
3. Apply search filter to cache data. Combine all providers’ results
MDS-2.1 GRIS Configurationdn: sw=Globus, hn=${GLOBUS_HOSTNAME}, ${GRID_INFO_
ORGANIZATION_DN}
objectclass: GlobusTop
objectclass: GlobusActiveObject
objectclass: GlobusActiveSearch
type: exec
path: /opt/globus-mds/bin
base: globus-version
args: -ldif
cachetime: 950400
timelimit: 10
sizelimit: 1
…
GRIS Configuration cont’ddn: hn=${GLOBUS_HOSTNAME},{GRID_INFO_ORGANIZ
ATION_DN}
objectclass: GlobusTop
objectclass: GlobusActiveObject
objectclass: GlobusActiveSearch
type: exec
path: /opt/globus-mds/libexec
base: globus-gram-reporter
args: -f /opt/globus-mds/etc/globus-gram-rep
orter.conf -onetime
cachetime: 30
timelimit: 10
sizelimit: 20
…
Hierarchical GIIS
Maintain set of remote services– Track incoming live registrations– GRIS or GIIS registrants
Cached proxy results (now), or– Same cache logic as GRIS– Refill cache with “chaining” queries
LDAPv3 referral results (planned)– Do not maintain any local info cache– Redirect clients to active registrants
Extensible GIIS Framework
Modular registration actions– Re-use registration protocol decoding
– Specialize directory update
– e.g. prefetch indexable data Modular query actions
– Re-use query protocol decoding
– Specialize query handler algorithm
– e.g. utilize precomputed indices
MDS-LDAP Data Model
Info named within service Info tagged with content type name(s) Values associated with typed attributes
valuestypesname
objectclass: computer
system: mips irix
dn: hn=hostX
objectclass: service
dispatchtype: immediate
dn: queue=default, hn=hostX
url: gram://hostname/default
objectclass: queue
dn: perf=load5, hn=hostX
objectclass: perf
objectclass: loadaverage
period: 10
load5: 3.2
dn: store=scratch, hn=hostX
objectclass: storage
objectclass: raidstore
free: 33515 MB
raidmode: stripe
MDS-LDAP Query Model
Search scoping– Search rooted in namespace
– Search depth of “root,” “root’s children,” or “root’s subtree”
Search filter– Value or type comparison
– Logical combinations of filters Namespace represents concept space
Namespace Management
Info is named uniquely within a service Append “source name” to disambiguate
locally, or use URLs to refer to remote info
host host host host
host
host
host: hn=R3host: hn=R2host: hn=R1
host: hn=R2host: hn=R1
host: hn=R1host: hn=R2, O=O2host: hn=R1, O=O2host: hn=R3, O=O1
O1 O2 R1
R2R1R3R2R1
host: hn=R2, O=O1
AggDir
AggDir
AggDir
ResDesc
host: hn=R1, O=O1
More Information
Questions? HPDC-10 Paper (to appear August 2001)
– “Grid Information Services for Distributed Resource Sharing”
MDS-2.1 Alpha Website– http://www.globus.org/mds2-alpha
– Early access to development code