An Open Grid Services Architecture Steve Tuecke Argonne National Laboratory Globus Project™ http://www.globus.org Partial Acknowledgements 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 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 May 31, 2016 Open Grid Services Architecture 2 Grid Computing May 31, 2016 Open Grid Services Architecture 3 Overview 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 May 31, 2016 Open Grid Services Architecture 4 The Grid Problem Resource sharing & coordinated problem solving in dynamic, multi-institutional virtual organizations May 31, 2016 Open Grid Services Architecture 5 Why Grids? (1) eScience 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 May 31, 2016 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 FermiLab ~4 TIPS Italy Regional Centre ~622 Mbits/sec Tier 2 ~622 Mbits/sec Institute Institute Institute ~0.25TIPS Physics data cache Institute 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 ~1 MBytes/sec Tier 4 Physicist workstations www.griphyn.org May 31, 2016 www.ppdg.net Open Grid Services Architecture www.eu-datagrid.org 7 Grid Communities and Applications: Network for Earthquake Eng. Simulation 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: UIUC, USC May 31, 2016 Argonne, Michigan, Open Grid NCSA, Services Architecture www.neesgrid.org 8 Why Grids? (2) eBusiness 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 May 31, 2016 Open Grid Services Architecture 9 Intelligent Infrastructure: Distributed Servers and Services May 31, 2016 Open Grid Services Architecture 10 Grids: Why Now? Moore’s law highly functional end-systems Ubiquitous Internet universal connectivity Network exponentials produce dramatic changes in geometry and geography – 9-month doubling: double Moore’s law! – 1986-2001: x340,000; 2001-2010: x4000? New modes of working and problem solving emphasize teamwork, computation New business models and technologies facilitate outsourcing May 31, 2016 Open Grid Services Architecture 11 Elements of the Problem Resource sharing – Computers, storage, sensors, networks, … – Heterogeneity of device, mechanism, policy – Sharing conditional: negotiation, payment, … Coordinated problem solving – Integration of distributed resources – Compound quality of service requirements Dynamic, multi-institutional virtual orgs – Dynamic overlays on classic org structures – Map to underlying control mechanisms May 31, 2016 Open Grid Services Architecture 12 The Grid World: Current Status Dozens of major Grid projects in scientific & technical computing/research & education – Deployment, application, technology 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 Global Grid Forum a significant force Industrial interest emerging rapidly May 31, 2016 Open Grid Services Architecture 13 The Globus Toolkit in One Slide 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) Security create proxy discovery) 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) 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, … May 31, 2016 Open Grid Services Architecture 14 Globus Toolkit: Evaluation (+) Good technical solutions for key problems, e.g. – Authentication and authorization – Resource discovery and monitoring – Reliable remote service invocation – High-performance remote data access 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 May 31, 2016 Open Grid Services Architecture 15 Globus Toolkit: Evaluation (-) Protocol deficiencies, e.g. – Heterogeneous basis: HTTP, LDAP, FTP – No standard means of invocation, notification, error propagation, authorization, termination, … Significant missing functionality, e.g. – Databases, sensors, instruments, workflow, … – Virtualization of end systems (hosting envs.) Little work on total system properties, e.g. – Dependability, end-to-end QoS, … – Reasoning about system properties May 31, 2016 Open Grid Services Architecture 16 “Web Services” Increasingly popular standards-based framework for accessing network applications – W3C standardization; Microsoft, IBM, Sun, others WSDL: Web Services Description Language – Interface Definition Language for Web services SOAP: Simple Object Access Protocol – XML-based RPC protocol; common WSDL target WS-Inspection – Conventions for locating service descriptions UDDI: Universal Desc., Discovery, & Integration – Directory for Web services May 31, 2016 Open Grid Services Architecture 17 Transient Service Instances “Web services” address discovery & invocation of persistent services – Interface to persistent state of entire enterprise 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 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 May 31, 2016 Open Grid Services Architecture 18 Open Grid Services Architecture Service orientation to virtualize resources From Web services: – Standard interface definition mechanisms: multiple protocol bindings, multiple implementations, local/remote transparency Building on Globus Toolkit: – Grid service: semantics for service interactions – Management of transient instances (& state) – Factory, Registry, Discovery, other services – Reliable and secure transport Multiple hosting targets: J2EE, .NET, “C”, … May 31, 2016 Open Grid Services Architecture 19 OGSA Service Model 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 Interfaces for managing Grid service instances – Factory, registry, discovery, lifetime, etc. => Reliable, secure mgmt of distributed state May 31, 2016 Open Grid Services Architecture 20 The Grid Service 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 May 31, 2016 Open Grid Services Architecture 21 Factory 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 May 31, 2016 Open Grid Services Architecture 22 Mapper 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) The Mapper interface allows a client to map from a GSH to a GSR – http get on GSH also returns a GSR May 31, 2016 Open Grid Services Architecture 23 Lifetime Management GS instances created by factory or manually; destroyed explicitly or via soft state – Negotiation of initial lifetime with Factory SoftStateDestruction interface supports – GetTerminationTime message for inquiry > Notification interface also allows for lifetime notification – SetTerminationTime message for keepalive Soft state lifetime management avoids – Explicit client teardown of complex state – Resource “leaks” in hosting environments ExplicitDestruction interface also available May 31, 2016 Open Grid Services Architecture 24 Discovery A Grid service instance may maintain a set of service information – XML fragments encapsulated in standard <name, type, TTL-info> containers Discovery interface allows clients to query the Grid service instance for this information – Query operation, plus supporting operations > Extensible query language support See also Notification interfaces – Allows notification of service existence and about service information May 31, 2016 Open Grid Services Architecture 25 Registry 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 The RegistryManagement interface allows for soft-state 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 May 31, 2016 Open Grid Services Architecture 26 Authorization Protocol binding handles authentication during invocation of Grid service operation – Gives service URI for authenticated subject Grid service instance should apply authorization policy on all operations – May be site-, service-, instance-, etc., specific OGSA defines standard interfaces for remote management of access control policy – OperationAuthorizationManagement – SubjectEquivalency May 31, 2016 Open Grid Services Architecture 27 Notification Interfaces 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 NotificationSink for asynchronous delivery of notification messages A wide variety of uses are possible – E.g. Dynamic discovery/registry services, monitoring, application error notification, … May 31, 2016 Open Grid Services Architecture 28 Use of Web Services (1) 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 May 31, 2016 Open Grid Services Architecture 29 Use of Web Services (2) 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 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 Registry returns WS-Inspection documents May 31, 2016 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. May 31, 2016 Open Grid Services Architecture 31 OGSA and the Globus Toolkit 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 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 May 31, 2016 Open Grid Services Architecture 32 Globus Toolkit Refactoring Grid Security Infrastructure (GSI) – Used in Grid service network protocol bindings Meta Directory Service 2 (MDS-2) – Native part of each Grid service: > Discovery, Registry, RegistryManagement, Notification Grid Resource Allocation & Mngt (GRAM) – Gatekeeper -> Factory for job mgr instances GridFTP – Refactor control channel protocol Other services refactored to used Grid services May 31, 2016 Open Grid Services Architecture 33 Summary: Evolution of Grid Technologies Initial exploration (1996-1999; Globus 1.0) – Extensive appln experiments; core protocols Data Grids (1999-??; Globus 2.0+) – Large-scale data management and analysis Open Grid Services Architecture (2001-??, Globus 3.0) – Integration w/ Web services, hosting environments, resource virtualization – Databases, higher-level services Radically scalable systems (2003-??) – Sensors, wireless, ubiquitous computing May 31, 2016 Open Grid Services Architecture 34 Summary 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 Open Grid Services Architecture represents (we hope!) next step in evolution May 31, 2016 Open Grid Services Architecture 35 For More Information The Globus Project™ – www.globus.org Grid architecture – www.globus.org/research /papers/anatomy.pdf Open Grid Services Architecture (soon) – www.globus.org/research /papers/ogsa.pdf – www.globus.org/research /papers/gsspec.pdf May 31, 2016 Open Grid Services Architecture 36