Academia.eduAcademia.edu

The Open Grid Services Architecture

2004, The Grid 2

Page 1. An Open Grid Services Architecture Ian Foster Mathematics and Computer Science Division Argonne National Laboratory and Department of Computer Science The University of Chicago http://www.mcs.anl.gov/~foster Page 2. 2 [email protected] ...

An Open Grid Services Architecture Ian Foster Mathematics and Computer Science Division Argonne National Laboratory and Department of Computer Science The University of Chicago http://www.mcs.anl.gov/~foster 2 Abstract In both eBusiness and eScience, we often need to integrate services across distributed, heterogeneous, dynamic “virtual organizations” (VOs) formed from the disparate resources within a single enterprise and/or via external resource sharing and service provider relationships. This integration can be technically challenging due to the need to achieve various qualities of service (QoS) when running on top of different native platforms. We present an Open Grid Services Architecture that addresses these challenges. Building on concepts and technologies from the Grid and Web services communities, this architecture defines a uniform exposed service semantics (the Grid service); defines standard mechanisms for creating and discovering transient Grid service instances; provides location transparency and multiple binding protocols for service instances; and supports mapping services for integration with underlying native platform facilities. The Open Grid Services Architecture defines, in terms of Web Services Description Language (WSDL) interfaces, mechanisms required for creating and composing sophisticated distributed systems, including lifetime management, reliable remote invocation, change management, credential management, and notification. Our presentation extends our earlier work on Grid architecture by describing how Grid mechanisms can implement a service oriented architecture, explaining how Grid functionality can be incorporated into a Web services framework, and illustrating how our architecture can be applied within commercial computing as a basis for distributed system integration—within and across organizational domains. [email protected] ARGONNE Ø CHICAGO Grid Computing [email protected] 3 ARGONNE Ø CHICAGO 4 Overview z z z The universal nature of the “Grid problem” A review & assessment of Grid technologies, in particular the Globus Toolkit™ Open Grid Services Architecture as an evolution & integration of Grid technologies and Web services [email protected] ARGONNE Ø CHICAGO 5 z Partial Acknowledgements Open Grid Services Architecture design – Carl Kesselman, Karl Czajkowski @ USC/ISI – Steve Tuecke @ANL – Jeff Nick, Steve Graham, Jeff Frey @ IBM z Grid services collaborators at ANL – Kate Keahey, Gregor von Laszewski – Thomas Sandholm, Jarek Gawor, John Bresnahan z z z Globus Toolkit R&D also involves many fine scientists & engineers at ANL, USC/ISI, and elsewhere (see www.globus.org) Strong links with many EU, UK, US Grid projects Support from DOE, NASA, NSF, IBM, Microsoft [email protected] ARGONNE Ø CHICAGO 6 The Grid Vision “Resource sharing & coordinated problem solving in dynamic, multi-institutional virtual organizations” – On-demand, ubiquitous access to computing, data, and services – New capabilities constructed dynamically and transparently from distributed services “When the network is as fast as the computer's internal links, the machine disintegrates across the net into a set of special purpose appliances” (George Gilder) [email protected] ARGONNE Ø CHICAGO 7 The Grid Opportunity: eScience and eBusiness z z z z z Physicists worldwide pool resources for peta-op analyses of petabytes of data Civil engineers collaborate to design, execute, & analyze shake table experiments An insurance company mines data from partner hospitals for fraud detection An application service provider offloads excess load to a compute cycle provider An enterprise configures internal & external resources to support eBusiness workload [email protected] ARGONNE Ø CHICAGO Grid Communities & Applications: Data Grids for High Energy Physics 8 ~PBytes/sec 1 TIPS is approximately 25,000 Online System ~100 MBytes/sec SpecInt95 equivalents Offline Processor Farm There is a “bunch crossing” every 25 nsecs. ~20 TIPS There are 100 “triggers” per second ~100 MBytes/sec Each triggered event is ~1 MByte in size ~622 Mbits/sec or Air Freight (deprecated) Tier 0 CERN Computer Centre Tier 1 France Regional Centre Germany Regional Centre Italy Regional Centre FermiLab ~4 TIPS ~622 Mbits/sec Tier 2 Caltech ~1 TIPS Tier2 Centre Tier2 Centre Tier2 Centre Tier2 Centre ~1 TIPS ~1 TIPS ~1 TIPS ~1 TIPS ~622 Mbits/sec Institute Institute Institute ~0.25TIPS Physics data cache Institute Physicists work on analysis “channels”. Each institute will have ~10 physicists working on one or more channels; data for these channels should be cached by the institute server ~1 MBytes/sec Tier 4 Physicist workstations [email protected] www.griphyn.org www.ppdg.net www.eu-datagrid.org ARGONNE Ø CHICAGO 9 Grid Communities and Applications: Network for Earthquake Eng. Simulation z z NEESgrid: US national infrastructure to couple earthquake engineers with experimental facilities, databases, computers, & each other On-demand access to experiments, data streams, computing, archives, collaboration [email protected] NEESgrid: Argonne, Michigan, NCSA, UIUC, USC ARGONNE www.neesgrid.org Ø CHICAGO 10 Mathematicians Solve NUG30 z z z Looking for the solution to the NUG30 quadratic assignment problem An informal collaboration of mathematicians and computer scientists Condor-G delivered 3.46E8 CPU seconds in 7 days (peak 1009 processors) in U.S. and Italy (8 sites) 14,5,28,24,1,3,16,15, 10,9,21,2,4,29,25,22, 13,26,17,30,6,20,19, 8,18,7,27,12,11,23 [email protected] MetaNEOS: Argonne, Iowa, Northwestern, Wisconsin ARGONNE Ø CHICAGO APAN Trans-Pacific Telemicroscopy Collaboration, Osaka-U, UCSD, ISI 11 (slide courtesy Mark Ellisman@UCSD) 1st UHVEM (Osaka, Japan) Tokyo XP NCMIR (San Diego) (Chicago) STAR TAP TransPAC (San Diego) SDSC vBNS Globus CRL/MPT UHVEM (Osaka, Japan) [email protected] 2nd UCSD NCMIR (San Diego) ARGONNE Ø CHICAGO What Makes it Hard (A Commercial Perspective) [email protected] 12 ARGONNE Ø CHICAGO 13 Requirements Include … z z z z z Dynamic formation and management of virtual organizations Online negotiation of access to services: who, what, why, when, how Establishment of applications and systems able to deliver multiple qualities of service Autonomic management of infrastructure elements Open, extensible, evolvable infrastructure [email protected] ARGONNE Ø CHICAGO 14 The Grid World: Current Status z z Dozens of major Grid projects in scientific & technical computing/research & education Considerable consensus on key concepts and technologies – Open source Globus Toolkit™ a de facto standard for major protocols & services – Far from complete or perfect, but out there, evolving rapidly, and large tool/user base z z Industrial interest emerging rapidly Opportunity: convergence of eScience and eBusiness requirements & technologies [email protected] ARGONNE Ø CHICAGO 15 The Globus Toolkit in One Slide z Grid protocols (GSI, GRAM, …) enable resource sharing within virtual orgs; toolkit provides reference implementation ( = Globus Toolkit services) MDS-2 (Meta Directory Service) Reliable remote GSI User invocation Gatekeeper Reporter (Grid (registry + Authenticate & (factory) discovery) Security create proxy Create process Register Infrastruc- credential ture) User process #1 Proxy User process #2 Proxy #2 GRAM (Grid Resource Allocation & Management) z Soft state registration; enquiry Other GSIauthenticated remote service requests GIIS: Grid Information Index Server (discovery) Other service (e.g. GridFTP) Protocols (and APIs) enable other tools and services for membership, discovery, data mgmt, workflow, … [email protected] ARGONNE Ø CHICAGO 16 Globus Toolkit: Evaluation (+) z Good technical solutions for key problems, e.g. – Authentication and authorization – Resource discovery and monitoring – Reliable remote service invocation – High-performance remote data access z This & good engineering is enabling progress – Good quality reference implementation, multilanguage support, interfaces to many systems, large user base, industrial support – Growing community code base built on tools [email protected] ARGONNE Ø CHICAGO 17 Globus Toolkit: Evaluation (-) z Protocol deficiencies, e.g. – Heterogeneous basis: HTTP, LDAP, FTP – No standard means of invocation, notification, error propagation, authorization, termination, … z Significant missing functionality, e.g. – Databases, sensors, instruments, workflow, … – Virtualization of end systems (hosting envs.) z Little work on total system properties, e.g. – Dependability, end-to-end QoS, … – Reasoning about system properties [email protected] ARGONNE Ø CHICAGO 18 Globus Toolkit Structure Service naming Soft state management Reliable invocation GRAM Notification MDS GSI GridFTP MDS ??? GSI GSI Data Resource Other Service or Application Job manager Job manager Compute Resource Lots of good mechanisms, but (with the exception of GSI) not that easily incorporated into other systems [email protected] ARGONNE Ø CHICAGO 19 Open Grid Services Architecture z z Service orientation to virtualize resources Define fundamental Grid service behaviors – Core set required, others optional ⇒ A unifying framework for interoperability & establishment of total system properties z z Integration with Web services and hosting environment technologies ⇒ Leverage tremendous commercial base ⇒ Standard IDL accelerates community code Delivery via open source Globus Toolkit 3.0 ⇒ Leverage GT experience, code, mindshare [email protected] ARGONNE Ø CHICAGO 20 “Web Services” z Increasingly popular standards-based framework for accessing network applications – W3C standardization; Microsoft, IBM, Sun, others z WSDL: Web Services Description Language – Interface Definition Language for Web services z SOAP: Simple Object Access Protocol – XML-based RPC protocol; common WSDL target z WS-Inspection – Conventions for locating service descriptions z UDDI: Universal Desc., Discovery, & Integration – Directory for Web services [email protected] ARGONNE Ø CHICAGO 21 Web Services Example: Database Service z WSDL definition for “DBaccess” porttype defines operations and bindings, e.g.: – Query(QueryLanguage, Query, Result) – SOAP protocol DBaccess z Client C, Java, Python, etc., APIs can then be generated [email protected] ARGONNE Ø CHICAGO 22 Transient Service Instances z “Web services” address discovery & invocation of persistent services – Interface to persistent state of entire enterprise z In Grids, must also support transient service instances, created/destroyed dynamically – Interfaces to the states of distributed activities – E.g. workflow, video conf., dist. data analysis z Significant implications for how services are managed, named, discovered, and used – In fact, much of our work is concerned with the management of service instances [email protected] ARGONNE Ø CHICAGO 23 The Grid Service = Interfaces + Service Data Reliable invocation Authentication Service data access Explicit destruction Soft-state lifetime GridService Service data element Notification Authorization Service creation Service registry Manageability Concurrency … other interfaces … Service data element Service data element Implementation Hosting environment/runtime (“C”, J2EE, .NET, …) [email protected] ARGONNE Ø CHICAGO 24 Open Grid Services Architecture: Fundamental Structure 1) WSDL conventions and extensions for describing and structuring services – Useful independent of “Grid” computing 2) Standard WSDL interfaces & behaviors for core service activities – portTypes and operations => protocols [email protected] ARGONNE Ø CHICAGO 25 WSDL Conventions & Extensions z portType (standard WSDL) – Define an interface: a set of related operations z serviceType (extensibility element) – List of port types: enables aggregation z serviceImplementation (extensibility element) – Represents actual code z service (standard WSDL) – instanceOf extension: map descr.->instance z compatibilityAssertion (extensibility element) – portType, serviceType, serviceImplementation [email protected] ARGONNE Ø CHICAGO 26 Structure of a Grid Service service … Service Instantiation instanceOf service instanceOf Service Description serviceImplementation instanceOf cA serviceType PortType =Standard WSDL cA = compatibilityAssertion [email protected] … service … service instanceOf serviceImplementation cA serviceType PortType cA … … PortType ARGONNE Ø CHICAGO z Standard Interfaces & Behaviors: Four Interrelated Concepts 27 Naming and bindings – Every service instance has a unique name, from which can discover supported bindings z Information model – Service data associated with Grid service instances, operations for accessing this info z Lifecycle – Service instances created by factories – Destroyed explicitly or via soft state z Notification – Interfaces for registering interest and delivering notifications [email protected] ARGONNE Ø CHICAGO 28 OGSA Interfaces and Operations Defined to Date z GridService Required z Factory – FindServiceData – Destroy – CreateService z PrimaryKey – SetTerminationTime z – FindByPrimaryKey – DestroyByPrimaryKey NotificationSource – SubscribeToNotificationTopic z Registry – UnsubscribeToNotificationTopic z – RegisterService NotificationSink – DeliverNotification – UnregisterService z HandleMap – FindByHandle Authentication, reliability are binding properties Manageability, concurrency, etc., to be defined [email protected] ARGONNE Ø CHICAGO 29 Service Data z A Grid service instance maintains a set of service data elements – XML fragments encapsulated in standard <name, type, TTL-info> containers – Includes basic introspection information, interfacespecific data, and application data z FindServiceData operation (GridService interface) queries this information – Extensible query language support z See also notification interfaces – Allows notification of service existence and changes in service data [email protected] ARGONNE Ø CHICAGO 30 Grid Service Example: Database Service z A DBaccess Grid service will support at Grid least two portTypes Service – GridService – DBaccess z Each has service data DBaccess Name, lifetime, etc. DB info – GridService: basic introspection information, lifetime, … – DBaccess: database type, query languages supported, current load, …, … [email protected] ARGONNE Ø CHICAGO 31 Naming and Bindings z Every service instance has a unique and immutable name: Grid Service Handle (GSH) – Basically just a URL z Handle must be converted to a Grid Service Reference (GSR) to use service – Includes binding information; may expire – Separation of name from implementation facilitates service evolution z The HandleMap interface allows a client to map from a GSH to a GSR – Each service instance has home HandleMap [email protected] ARGONNE Ø CHICAGO 32 Registry z The Registry interface may be used to register Grid service instances with a registry – A set of Grid services can periodically register their GSHs into a registry service, to allow for discovery of services in that set z Registrations maintained in a service data element associated with Registry interface – Standard discovery mechanisms can then be used to discover registered services – Returns a WS-Inspection document containing the GSHs of a set of Grid services [email protected] ARGONNE Ø CHICAGO 33 Lifetime Management z GS instances created by factory or manually; destroyed explicitly or via soft state – Negotiation of initial lifetime with a factory (=service supporting Factory interface) z GridService interface supports – Destroy operation for explicit destruction – SetTerminationTime operation for keepalive z Soft state lifetime management avoids – Explicit client teardown of complex state – Resource “leaks” in hosting environments [email protected] ARGONNE Ø CHICAGO 34 Factory z Factory interface’s CreateService operation creates a new Grid service instance – Reliable creation (once-and-only-once) z z CreateService operation can be extended to accept service-specific creation parameters Returns a Grid Service Handle (GSH) – A globally unique URL – Uniquely identifies the instance for all time – Based on name of a home handleMap service [email protected] ARGONNE Ø CHICAGO 35 Transient Database Services “What services can you create?” “Create a database service” Grid Service “What database services exist?” DBaccess Factory Grid Service DBaccess Instance name, etc. Name, lifetime, etc. Factory info DB info Grid Service Registry Grid Service DBaccess Instance name, etc. Name, lifetime, etc. Registry info DB info [email protected] ARGONNE Ø CHICAGO 36 Example: Data Mining for Bioinformatics Community Registry Mining Factory Database Service BioDB 1 User Application “I want to create a personal database containing data on e.coli metabolism” Compute Service Provider . . . . . . Database Service Database Factory BioDB n Storage Service Provider [email protected] ARGONNE Ø CHICAGO 37 Example: Data Mining for Bioinformatics “Find me a data Community mining service, and Registry somewhere to store data” Mining Factory Database Service BioDB 1 User Application Compute Service Provider . . . . . . Database Service Database Factory BioDB n Storage Service Provider [email protected] ARGONNE Ø CHICAGO 38 Example: Data Mining for Bioinformatics GSHs for Mining and Database factories Community Registry Mining Factory Database Service BioDB 1 User Application Compute Service Provider . . . . . . Database Service Database Factory BioDB n Storage Service Provider [email protected] ARGONNE Ø CHICAGO 39 Example: Data Mining for Bioinformatics Community Registry “Create a data mining service with initial lifetime 10” User Application “Create a database with initial lifetime 1000” Mining Factory Database Service BioDB 1 Compute Service Provider . . . . . . Database Service Database Factory BioDB n Storage Service Provider [email protected] ARGONNE Ø CHICAGO 40 Example: Data Mining for Bioinformatics Community Registry “Create a data mining service with initial lifetime 10” User Application “Create a database with initial lifetime 1000” Mining Factory Database Service Miner BioDB 1 Compute Service Provider . . . . . . Database Service Database Factory BioDB n Database Storage Service Provider [email protected] ARGONNE Ø CHICAGO 41 Example: Data Mining for Bioinformatics Community Registry Mining Factory Query Miner User Application Database Service BioDB 1 Compute Service Provider . . Query . . . . Database Service Database Factory BioDB n Database Storage Service Provider [email protected] ARGONNE Ø CHICAGO 42 Example: Data Mining for Bioinformatics Community Registry Keepalive Mining Factory Query Miner BioDB 1 Compute Service Provider . . Query . User Application Keepalive Database Service . . . Database Service Database Factory BioDB n Database Storage Service Provider [email protected] ARGONNE Ø CHICAGO 43 Example: Data Mining for Bioinformatics Community Registry Keepalive User Application Keepalive Mining Factory Database Service Miner BioDB 1 Compute Service Provider . . . . . . Results Database Service Database Factory Results BioDB n Database Storage Service Provider [email protected] ARGONNE Ø CHICAGO 44 Example: Data Mining for Bioinformatics Community Registry User Application Keepalive Mining Factory Database Service Miner BioDB 1 Compute Service Provider . . . . . . Database Service Database Factory BioDB n Database Storage Service Provider [email protected] ARGONNE Ø CHICAGO 45 Example: Data Mining for Bioinformatics Community Registry Mining Factory Database Service BioDB 1 Compute Service Provider . . . User Application Keepalive . . . Database Service Database Factory BioDB n Database Storage Service Provider [email protected] ARGONNE Ø CHICAGO 46 Notification Interfaces z NotificationSource for client subscription – One or more notification generators > Generates notification message of a specific type > Typed interest statements: E.g., Filters, topics, … > Supports messaging services, 3rd party filter services, … – Soft state subscription to a generator z z NotificationSink for asynchronous delivery of notification messages A wide variety of uses are possible – E.g. Dynamic discovery/registry services, monitoring, application error notification, … [email protected] ARGONNE Ø CHICAGO 47 Notification Example z Notifications can be associated with any (authorized) service data elements Grid Service Grid Service Notification Sink Name, lifetime, etc. DB info [email protected] DBaccess Name, lifetime, etc. Notification Source DB info Subscribers ARGONNE Ø CHICAGO 48 Notification Example z Notifications can be associated with any (authorized) service data elements Grid Service Notification Sink “Notify Name, lifetime, etc. DB info [email protected] me of new data about membrane proteins” Notification Source Grid Service DBaccess Name, lifetime, etc. DB info Subscribers ARGONNE Ø CHICAGO 49 Notification Example z Notifications can be associated with any (authorized) service data elements Grid Service Name, lifetime, etc. DB info [email protected] Grid Service Notification Sink Keepalive Notification Source DBaccess Name, lifetime, etc. DB info Subscribers ARGONNE Ø CHICAGO 50 Notification Example z Notifications can be associated with any (authorized) service data elements Grid Service Notification Sink New data Name, lifetime, etc. DB info [email protected] Grid Service DBaccess Name, lifetime, etc. Notification Source DB info Subscribers ARGONNE Ø CHICAGO Open Grid Services Architecture: Summary z 51 Service orientation to virtualize resources – Everything is a service z From Web services – Standard interface definition mechanisms: multiple protocol bindings, local/remote transparency z From Grids – Service semantics, reliability and security models – Lifecycle management, discovery, other services z Multiple “hosting environments” – C, J2EE, .NET, … [email protected] ARGONNE Ø CHICAGO 52 Recap: The Grid Service Reliable invocation Authentication Service data access Explicit destruction Soft-state lifetime GridService Service data element Notification Authorization Service creation Service registry Manageability Concurrency … other interfaces … Service data element Service data element Implementation Hosting environment/runtime (“C”, J2EE, .NET, …) [email protected] ARGONNE Ø CHICAGO 53 OGSA and the Globus Toolkit z Technically, OGSA enables – Refactoring of protocols (GRAM, MDS-2, etc.)—while preserving all GT concepts/features! – Integration with hosting environments: simplifying components, distribution, etc. – Greatly expanded standard service set z Pragmatically, we are proceeding as follows – Develop open source OGSA implementation > Globus Toolkit 3.0; supports Globus Toolkit 2.0 APIs – Partnerships for service development – Also expect commercial value-adds [email protected] ARGONNE Ø CHICAGO 54 GT3: An Open Source OGSACompliant Globus Toolkit z GT3 Core – Implements Grid service interfaces & behaviors – Reference impln of evolving standard – Java first, C soon, C#? z GT3 Base Services – Evolution of current Globus Toolkit capabilities GT3 Data Services Other Grid Services GT3 Base Services GT3 Core – Backward compatible z Many other Grid services [email protected] ARGONNE Ø CHICAGO 55 Hmm, Isn’t This Just Another Object Model? z Well, yes, in a sense – Strong encapsulation – We (can) profit greatly from experiences of previous object-based systems z But – Focus on encapsulation not inheritance – Does not require OO implementations – Value lies in specific behaviors: lifetime, notification, authorization, …, … – Document-centric not type-centric [email protected] ARGONNE Ø CHICAGO 56 Grids and OGSA: Research Challenges z Grids pose profound problems, e.g. – Management of virtual organizations – Delivery of multiple qualities of service – Autonomic management of infrastructure – Software and system evolution z OGSA provides foundation for tackling these problems in a rigorous fashion? – Structured establishment/maintenance of global properties – Reasoning about total system properties [email protected] ARGONNE Ø CHICAGO 57 Why We Will Succeed z z z z z Strong and compelling vision with broad support across disciplines and borders Strong base of technology, experience, success stories, projects Genuinely open with respect to intellectual and technology contributions Open Grid community process and organization is gaining commercial support Strong partnerships, in particular with UK eScience program [email protected] ARGONNE Ø CHICAGO 58 Summary z z The Grid problem: Resource sharing & coordinated problem solving in dynamic, multi-institutional virtual organizations Globus Toolkit a source of protocol and API definitions—and reference implementations – And many projects applying Grid concepts (& Globus technologies) to important problems z z Open Grid Services Architecture represents (we hope!) next step in evolution An enabling framework for investigations of Internet-scale computing systems [email protected] ARGONNE Ø CHICAGO 59 For More Information z The Globus Project™ – www.globus.org z Grid architecture – www.globus.org/research /papers/anatomy.pdf z Open Grid Services Architecture – www.globus.org/ogsa z Global Grid Forum – www.gridforum.org [email protected] ARGONNE Ø CHICAGO Extra Slides 61 Grids: Why Now? z z z z Moore’s law ⇒ highly functional end-systems Ubiquitous Internet ⇒ universal connectivity Ubiquitous sensors, cheap storage ⇒ DATA! Network exponentials produce dramatic changes in geometry and geography z Web created familiarity with network utilities z Middleware is no longer vaporware z Early demonstrators convey benefits z New business models facilitate outsourcing [email protected] ARGONNE Ø CHICAGO 62 Network Exponentials z Network vs. computer performance – Computer speed doubles every 18 months – Network speed doubles every 9 months – Difference = order of magnitude per 5 years z 1986 to 2000 – Computers: x 500 – Networks: x 340,000 z 2001 to 2010 – Computers: x 60 – Networks: x 4000 Moore’s Law vs. storage improvements vs. optical improvements. Graph from Scientific American (Jan2001) by Cleo Vilett, source Vined Khoslan, Kleiner, Caufield and Perkins. [email protected] ARGONNE Ø CHICAGO 63 A Brief History z Early 90s – Gigabit testbeds, metacomputing z Mid to late 90s – Early experiments (e.g., I-WAY), academic software projects (e.g., Globus, Legion), application experiments z 2002 – Major application communities have emerged – Major infrastructure deployments – Significant technology base – Growing industrial interest – Global Grid Forum: ~500 people, 20+ countries [email protected] ARGONNE Ø CHICAGO 64 Evolution z This is not happening all at once – We have an early prototype of Core (alpha release May) – Next we will work on Base, others – Full release by end of 2002 (estimate) – Partnerships in place for other services z Backward compatibility – API level seems straightforward – Protocol level: gateways? – We need input on best strategies [email protected] ARGONNE Ø CHICAGO