The Anatomy of the Grid: An Integrated View of Grid Architecture Carl Kesselman USC/Information Sciences Institute Ian Foster, Steve Tuecke Argonne National Laboratory
Outline and Goals l Define what is (and isn’t) a grid in terms of a layered protocol architecture l Understand the role of protocols, services, APIs and tools in the deployment and use of Grids l Understand what role Globus plays l Understand the role of other technologies
What is a Grid? l Grid language has been driven by genesis from metacomputing, but… l In practice, the Grid is about resource sharing and coordinated problem solving in dynamic, multi-institutional virtual organizations l Focus on how to enable, maintain and control the sharing of resources to achieve a common goal
Some Useful Definitions l Network Protocol u A formal description of message formats and a set of rules for exchange of messages u Rules define sequences of message exchange, and potentially resulting behavior l Protocol may define state-change in endpoint l Network Enabled Services u Defines a set of capabilities u Protocol defines interaction with service l All services require protocols, although not all protocols are to services
More definitions l Resource u Entity that is to be shared u Provides some capabilities, that can be accessed via interface (API) or protocol l Application Programmer Interface (API) l Software Development Kit (SDK) u Package that enables application development, consisting of one or more APIs, and programming tools
Protocols Make the Grid l Protocols and APIs u Protocols enable interoperability u APIs enable portability l Sharing is about interoperability, so … u Grid architecture should be about protocols
Grid Services Architecture: Previous Perspective Grid-enabled archives, networks, computers, display devices, etc.; associated local services Protocols, authentication, policy, resource management, instrumentation, discovery, etc., etc. Grid Fabric Grid Services Appln Toolkits Applns... … a rich variety of applications... Remote viz toolkit Remote comp. toolkit Remote data toolkit Remote sensors toolkit Async. collab. toolkit
Characteristics of Grid Services Architecture l Identifies separation of concerns u Isolates Grids from languages and specific programming environments l Makes provisions for generic and application specific functionality l Protocols not explicit in architecture u fails to make clear distinction between language, service and networking issues
Layered Grid Protocol Architecture Connectivity Fabric Resource Grid Application User
Important Points l Being Grid-enabled requires speaking appropriate protocols u Protocol only requirement, not reachability u Protocols can be used to bridge local resources or “local Grids” l Intergrid as analog to Internet l Built on Internet protocols l Independent of language and implementation u Focus on interaction over network l Services exist at each level
Protocols, services and interfaces Languages/Frameworks Fabric Layer Applications Local Access APIs and protocols Grid Service APIs and SDKs Grid Services Grid Service Protocols Resource APIs and SDKs Resource Services Resource Service Protocols User Service Protocols User Service APIs and SDKs User Services Connectivity APIs Connectivity Protocols
How does Globus fit in? l Defines connectivity and resource protocols l Enables definition of grid and user protocols u Globus provides some of these, others defined by other groups l Defines range of APIs and SDKs that leverage Resource, Grid and User protocols
Fabric l Local access to logical resource u May be real component, e.g. CPU, software module, filesystem u May be logical component, e.g. Condor pool l Protocol or API mediated l Fabric elements include: u SSP, ASP, peer-to-peer, Entropia-like, and enterprise level solutions
Connectivity Protocols l Two classes of connectivity protocols underlie all other components l Internet communication u Application, transport and internet layer protocols u I.e., transport, routing, DNS, etc. l Security u Authentication and delegation u Discussed below
Security l Protocols u TLS with delegation l Services u K5ssl, Globus Authorization Service l APIs u GSS-API, GAA, SASL, gss_assist l SDKs u GlobusIO
Resource Protocols l Resource management, l Storage system access l Network quality of service l Data movement l Resource information
Resource Management l Protocols u GRAM+GARA (on HTTP) l Resource services u Gatekeeper, JobManager, SlotManager l APIs and SDKs u GRAM API, JavaCog Client, DUROC
Data Transport l Protocols u Grid FTP, LDAP for replica catalog l Services u FTP, LDAP replica catalog l APIs and SDKs u GridFTP client library, copy URL API, replica catalog access, replica selection
Resource Information l Protocol u LDAP V3, Registration/Discovery protocol l Service u GRIS l APIs & SDKs u C API; JNDI, PerlLDAP, ….
Grid Protocols l Grid Information Index Services u LDAP and Service registration protocol, … u GIIS service u LDAP APIs and specialized information API l Co-allocation and brokering u GRAM (HTTP+RSL) u DUROC service u DUROC client API, end-to-end reservation API
Grid Protocols (cont) l Online authentication, authorization services u HTTP u MyProxy, Group policy servers u Myproxy API, GAA API, l Many others (e.g.): u Resource discovery (Matchmaker) u Fault recovery
User Protocols l In general, there are many of these, they tend to be on off, and not well defined l Examples: u Portal toolkits (e.g. Hotpage) u Netsolve u Cactus framework
Summary l Grids are about sharing, not making big MPI jobs l Well defined protocol architecture is essential to understanding and progress u Provides a framework for figuring out where the pieces fit l Globus provides many basic protocols and services u Interoperability between different Grid components