Professional Documents
Culture Documents
Course Contents
Grid Architecture
Open Grid Services Architecture
Resource and Service Management
Building Reliable Clients and Services
Instrumentation and Monitoring
4
Grid Architecture
Grid Architecture
6
Protocols, Services,
and APIs Occur at Each Level Applications
Languages/Frameworks
Connectivity APIs
Connectivity Protocols Local Access APIs and Protocols
Fabric Layer
18
Important Points
Built on Internet protocols & services
• Communication, routing, name resolution, etc.
“Layering” here is conceptual, does not
imply constraints on who can call what
• Protocols/services/APIs/SDKs will, ideally, be
largely self-contained
• Some things are fundamental: e.g.,
communication and security
• But, advantageous for higher-level functions to
use common lower-level functions
19
Hourglass
21
Fabric Layer
Protocols & Services
Just what you would expect: the diverse mix of
resources that may be shared
• Individual computers, Condor pools, file systems, archives,
metadata catalogs, networks, sensors, etc., etc.
Few constraints on low-level technology: connectivity
and resource level protocols form the “neck in the
hourglass”
Defined by interfaces not physical characteristics
23
Fabrics in general
24
Connectivity Layer
Protocols & Services
Communication
• Internet protocols: IP, DNS, routing, etc.
Security: Grid Security Infrastructure (GSI)
• Uniform authentication, authorization, and message
protection mechanisms in multi-institutional setting
• Single sign-on, delegation, identity mapping
• Public key technology, SSL, X.509, GSS-API
• Supporting infrastructure: Certificate Authorities,
certificate & key management, …
25
Resource Layer
Protocols & Services
Grid Resource Allocation Management (GRAM)
• Remote allocation, reservation, monitoring, control
of compute resources
GridFTP protocol (FTP extensions)
• High-performance data access & transport
Grid Resource Information Service (GRIS)
• Access to structure & state information
Others emerging: Catalog access, code
repository access, accounting, etc.
All built on connectivity layer: GSI & IP
27
Collective Layer
Protocols & Services
Index servers aka metadirectory services
• Custom views on dynamic resource collections
assembled by a community
Resource brokers (e.g., Condor Matchmaker)
• Resource discovery and allocation
Replica catalogs
Replication services
Co-reservation and co-allocation services
Workflow management services
etc.
Condor: www.cs.wisc.edu/condor
28
Collective
Brokering, certificate authorities
(Generic)
API
SDK
Resource Access to data, access to computers,
access to network performance data Access
Protocol
Connect Communication, service discovery (DNS),
authentication, authorization, delegation
Compute
Fabric Storage systems, schedulers Resource
30
Example:
Data Grid Architecture
App Discipline-Specific Data Grid Application
Service-Oriented Architecture
Service: an entity that provides
some capability to its clients by
exchanging messages
Service: defined by identifying
sequences of specific message
exchanges that cause the service to
perform some operations
36
Service-oriented Architecture
Great
flexibility in
implemen-
tation and
location:
because all
operations
are defined
in terms of
message
exchanges
Service-oriented Architecture
Definition: a service-oriented architecture
is one in which all entities are services,
and thus any operation visible to the
architecture is the result of message
exchange
Message exchanges services
Underlying
infrastructure
38
Service-oriented architecture
Examples:
• A storage service low-level service
• A data transfer service
• A troubleshooting service high-level service
Two important themes
39
Service-oriented architecture
Common behaviors can reoccur in
different contexts
• A goal of OGSA design is to allow these
behaviors to be expressed in standard
ways regardless of contexts, so as to
simplify application design and
encourage code reuse
41
42
Service-oriented architecture
A higher-level service behavior (data
transfer) can be implemented via the
composition of simpler behaviors
(storage service)
• Ease of composition is a second major
design goal for OGSA
43
Service-oriented architecture
Similarity in
protocols
44
Service-oriented architecture
By encapsulating service operations
behind a common message-oriented
service interface, service-oriented
architecture encourages service
virtualization, isolating users from
details of service implantation and
location
45
Service-oriented architecture
Virtualization
46
Service-oriented architecture
Virtualization
• Everything is becoming virtual: virtual
stores, virtual workspace, virtual
organization, virtual networks, …
• More than 60 million US workers work
remotely
47
Service-oriented architecture
Interaction with a given service is
facilitated by using a standard
interface definition language (IDL),
such as WSDL, to describe the
service’s interfaces.
48
Service-oriented architecture
Web service description language
49
Service-oriented architecture
IDL: a cornerstone of interoperability
and transparency
50
Service-oriented architecture
An IDL defines the operations
supported by a service, by specifying
the messages that a service
consumes and produces
An interface specification describes
the messages the service expects
but does not define what the service
does in response to those messages
(i.e., its behavior)
51
Service-oriented architecture
52
Service-oriented architecture
53
Service-oriented architecture
A well-defined interface definition
language and a separation of
concerns between service interface
and implementation simplify the
manipulation and management of
services in four important respects:
service discovery, composition,
specialization, and interface
extension.
54
Service-oriented architecture
Service discovery
55
Service-oriented architecture
Service discovery
• Service Location Protocol (SLP)
• Jini: A service discovery architecture based
on Java
• Universal Plug and Play (UPnP): Microsoft's
solution to service discovery
• Salutation: A light weight network protocol
independent service discovery protocol
56
Service-oriented architecture
Service composition
57
Service-oriented architecture
Service specialization: use of
different implementations of a
service interface on different
platforms
58
Service-oriented architecture
Interface extension:
allow for specialized
implementations to
add additional,
implementation-
specific functionality,
while still supporting
the common
A value-added extension
interface
59
Requesting a service
63
service register
service service
instances registry
64
Naming
Because Grid services are dynamic
and stateful, we need a way to
distinguish one dynamically created
service instance from another.
Thus, we need a naming scheme for
Grid service instances.
71
72
Naming
73
Naming
74
Naming
75
Naming
76
Naming
77
Naming
OGSI defines a two-level naming
scheme for Grid service instances
based on simple, abstract, long-lived
Grid service handles (GSH).
GSH can be mapped by handle
resolution services to concrete but
potentially short-lived Grid service
references (GSR).
78
Naming
A GSH is a globally unique name that
distinguishes that specific Grid
service instance from all other Grid
service instances that have existed,
exist now, or will exist in the future.
A GSH is represented using a
Uniform Resource Identifier.
79
Naming
A GSH carries no protocol- or
instance-specific information such as
network address or supported
protocol bindings.
All other instance-specific
information is encapsulated into a
single abstraction called a Grid
service reference (GSR).
80
Naming
Resolve (GSH)
client handle
resolver
time<T time>T
GSR1 GSR2
Path message
88
Resv message
89
OGSA Implementations
Container (good for code reuse)
demarshaling/decoding
protocol adaptation Grid service
termination layer implementation
Grid service invocation
OGSA Implementations
91
OGSA Implementations
92
OGSA Implementations
93
Future Directions
Service and tools
Implementation
Semantics
Scalability
…