An Open Grid Services Architecture Steve Tuecke Argonne National Laboratory Globus Project™ http://www.globus.org Partial Acknowledgements z Open Grid Services Architecture work is performed in collaboration with – Ian Foster, Globus Co-PI @ ANL & UC – Carl Kesselman, Globus Co-PI @ USC/ISI – Steve Tuecke, Globus Toolkit Architect @ANL – Jeff Nick, Steve Graham, Jeff Frey @ IBM z z z Globus Toolkit R&D also involves many fine scientists & engineers at ANL, USC/ISI, and elsewhere (see www.globus.org) Strong collaborations with many outstanding EU, UK, US Grid projects Support from DOE, NASA, NSF, Microsoft February 7, 2002 Open Grid Services Architecture 2 Grid Computing February 7, 2002 Open Grid Services Architecture 3 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 February 7, 2002 Open Grid Services Architecture 4 The Grid Problem Resource sharing & coordinated problem solving in dynamic, multi-institutional virtual organizations February 7, 2002 Open Grid Services Architecture 5 Why Grids? (1) eScience z z z z z A biochemist exploits 10,000 computers to screen 100,000 compounds in an hour 1,000 physicists worldwide pool resources for peta-op analyses of petabytes of data Civil engineers collaborate to design, execute, & analyze shake table experiments Climate scientists visualize, annotate, & analyze terabyte simulation datasets An emergency response team couples real time data, weather model, population data February 7, 2002 Open Grid Services Architecture 6 Grid Communities & Applications: Data Grids for High Energy Physics ~PBytes/sec Online System ~100 MBytes/sec ~20 TIPS There are 100 “triggers” per second Each triggered event is ~1 MByte in size ~622 Mbits/sec or Air Freight (deprecated) France Regional Centre SpecInt95 equivalents Offline Processor Farm There is a “bunch crossing” every 25 nsecs. Tier 1 1 TIPS is approximately 25,000 Tier 0 Germany Regional Centre ~100 MBytes/sec CERN Computer Centre Italy Regional Centre FermiLab ~4 TIPS ~622 Mbits/sec Tier 2 ~622 Mbits/sec Institute Institute Institute ~0.25TIPS Physics data cache Institute ~1 MBytes/sec Tier 4 Caltech ~1 TIPS Tier2 Centre Tier2 Centre Tier2 Centre Tier2 Centre ~1 TIPS ~1 TIPS ~1 TIPS ~1 TIPS 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 Physicist workstations www.griphyn.org February 7, 2002 www.ppdg.net Open Grid Services Architecture www.eu-datagrid.org 7 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 NEESgrid: Argonne, Michigan, UIUC, USC February 7, 2002 Open Grid NCSA, Services Architecture www.neesgrid.org 8 Why Grids? (2) eBusiness z z z z z Engineers at a multinational company collaborate on the design of a new product A multidisciplinary analysis in aerospace couples code and data in four companies 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 February 7, 2002 Open Grid Services Architecture 9 Intelligent Infrastructure: Distributed Servers and Services February 7, 2002 Open Grid Services Architecture 10 Grids: Why Now? z Moore’s law ⇒ highly functional end-systems z Ubiquitous Internet ⇒ universal connectivity z Network exponentials produce dramatic changes in geometry and geography – 9-month doubling: double Moore’s law! – 1986-2001: x340,000; 2001-2010: x4000? z z New modes of working and problem solving emphasize teamwork, computation New business models and technologies facilitate outsourcing February 7, 2002 Open Grid Services Architecture 11 Elements of the Problem z Resource sharing – Computers, storage, sensors, networks, … – Heterogeneity of device, mechanism, policy – Sharing conditional: negotiation, payment, … z Coordinated problem solving – Integration of distributed resources – Compound quality of service requirements z Dynamic, multi-institutional virtual orgs – Dynamic overlays on classic org structures – Map to underlying control mechanisms February 7, 2002 Open Grid Services Architecture 12 The Grid World: Current Status z Dozens of major Grid projects in scientific & technical computing/research & education – Deployment, application, technology z 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 Global Grid Forum a significant force z Industrial interest emerging rapidly February 7, 2002 Open Grid Services Architecture 13 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 Other GSIauthenticated remote service requests GRAM (Grid Resource Allocation & Management) z Soft state registration; enquiry 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, … February 7, 2002 Open Grid Services Architecture 14 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 February 7, 2002 Open Grid Services Architecture 15 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 February 7, 2002 Open Grid Services Architecture 16 “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 February 7, 2002 Open Grid Services Architecture 17 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 February 7, 2002 Open Grid Services Architecture 18 Open Grid Services Architecture z Service orientation to virtualize resources z From Web services: – Standard interface definition mechanisms: multiple protocol bindings, multiple implementations, local/remote transparency z Building on Globus Toolkit: – Grid service: semantics for service interactions – Management of transient instances (& state) – Factory, Registry, Discovery, other services – Reliable and secure transport z Multiple hosting targets: J2EE, .NET, “C”, … February 7, 2002 Open Grid Services Architecture 19 OGSA Service Model z z System comprises (a typically few) persistent services & (potentially many) transient services All services adhere to specified Grid service interfaces and behaviors – Reliable invocation, lifetime management, discovery, authorization, notification, upgradeability, concurrency, manageability z Interfaces for managing Grid service instances – Factory, registry, discovery, lifetime, etc. => Reliable, secure mgmt of distributed state February 7, 2002 Open Grid Services Architecture 20 The Grid Service z A (potentially transient) Web service with specified interfaces & behaviors, including – Creation (Factory) – Global naming (GSH) & references (GSR) – Lifetime management – Registration & Discovery – Authorization – Notification – Concurrency – Manageability February 7, 2002 Open Grid Services Architecture 21 Factory z A Grid service with Factory interface can be requested to create a new Grid service instance – Reliable creation (once-and-only-once) – Create operation can be extended to accept Grid 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 mapper service February 7, 2002 Open Grid Services Architecture 22 Mapper z z A GSH is a stable name for a Grid service, but does not allow client to actually communicate with the Grid service A Grid Service Reference (GSR) is a WSDL document that describes how to communicate with the Grid service – Contains protocol binding, network address, … – May expire (I.e. GSR information may change) z The Mapper interface allows a client to map from a GSH to a GSR – http get on GSH also returns a GSR February 7, 2002 Open Grid Services Architecture 23 Lifetime Management z GS instances created by factory or manually; destroyed explicitly or via soft state – Negotiation of initial lifetime with Factory z SoftStateDestruction interface supports – GetTerminationTime message for inquiry > Notification interface also allows for lifetime notification – SetTerminationTime message for keepalive z Soft state lifetime management avoids – Explicit client teardown of complex state – Resource “leaks” in hosting environments z ExplicitDestruction interface also available February 7, 2002 Open Grid Services Architecture 24 Discovery z A Grid service instance may maintain a set of service information – XML fragments encapsulated in standard <name, type, TTL-info> containers z Discovery interface allows clients to query the Grid service instance for this information – Query operation, plus supporting operations > Extensible query language support z See also Notification interfaces – Allows notification of service existence and about service information February 7, 2002 Open Grid Services Architecture 25 Registry z The Registry interface may be used to discover a set of Grid service instances – Returns a WS-Inspection document containing the GSHs of a set of Grid services – Also returns policy associated with the set – Also available through Discovery interface z The RegistryManagement interface allows for softstate registration of a Grid service – A set of Grid services can periodically register their GSHs into a registry service, to allow for discovery of services in that set February 7, 2002 Open Grid Services Architecture 26 Authorization z Protocol binding handles authentication during invocation of Grid service operation – Gives service URI for authenticated subject z Grid service instance should apply authorization policy on all operations – May be site-, service-, instance-, etc., specific z OGSA defines standard interfaces for remote management of access control policy – OperationAuthorizationManagement – SubjectEquivalency February 7, 2002 Open Grid Services Architecture 27 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, … February 7, 2002 Open Grid Services Architecture 28 Use of Web Services (1) z z A Grid service interface is a WSDL portType A Grid service definition is a WSDL extension (serviceType) containing: – A set of one or more portTypes supported by the service – portType & serviceType compatibility statements, to support upgradability > For discovery of compatible services when interfaces are upgraded – Implementation version information February 7, 2002 Open Grid Services Architecture 29 Use of Web Services (2) z A GSR is a WSDL document with extensions: – Extension to service element to reference serviceType – Service element extensions to carry the GSH, and the expiration time of the GSR z A GSH is an URL, with the following properties: – Globally unique for all time – http get on GSH + “.wsdl” returns GSR – Can derive GSH to Mapper from it z Registry returns WS-Inspection documents February 7, 2002 Open Grid Services Architecture 30 Using OGSA to Construct Grid Environments (a) Simple Hosting Environment Factory Service Service Registry Service Factory H2R Mapper Factory ... Service Registry Service ... ... Factory (b) Virtual Hosting Environment Service F S S E2E Factory E2E Reg H2R Mapper ... Service R M F (c) Compound Services S F F S S E2E H2R Mapper Service E2E S R M F 1 S S R M S ... E2E S S R M F 2 S E2E S S S In each case, Registry handle is effectively the unique name for the virtual organization. February 7, 2002 Open Grid Services Architecture 31 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 February 7, 2002 Open Grid Services Architecture 32 Globus Toolkit Refactoring z Grid Security Infrastructure (GSI) – Used in Grid service network protocol bindings z Meta Directory Service 2 (MDS-2) – Native part of each Grid service: > Discovery, Registry, RegistryManagement, Notification z Grid Resource Allocation & Mngt (GRAM) – Gatekeeper -> Factory for job mgr instances z GridFTP – Refactor control channel protocol z Other services refactored to used Grid services February 7, 2002 Open Grid Services Architecture 33 Summary: Evolution of Grid Technologies z Initial exploration (1996-1999; Globus 1.0) – Extensive appln experiments; core protocols z Data Grids (1999-??; Globus 2.0+) – Large-scale data management and analysis z Open Grid Services Architecture (2001-??, Globus 3.0) – Integration w/ Web services, hosting environments, resource virtualization – Databases, higher-level services z Radically scalable systems (2003-??) – Sensors, wireless, ubiquitous computing February 7, 2002 Open Grid Services Architecture 34 Summary z z z The Grid problem: Resource sharing & coordinated problem solving in dynamic, multi-institutional virtual organizations Grid architecture: Protocol, service definition for interoperability & resource sharing Globus Toolkit a source of protocol and API definitions—and reference implementations – And many projects applying Grid concepts (& Globus technologies) to important problems z Open Grid Services Architecture represents (we hope!) next step in evolution February 7, 2002 Open Grid Services Architecture 35 For More Information z The Globus Project™ – www.globus.org z Grid architecture – www.globus.org/research/pap ers/anatomy.pdf z Open Grid Services Architecture (soon) – www.globus.org/research/pap ers/ogsa.pdf – www.globus.org/research/pap ers/gsspec.pdf February 7, 2002 Open Grid Services Architecture 36