Future of Grid and Globus™: Cern August 26, 2003
Future of Grid and Globus™: Cern August 26, 2003
Close collaboration with real Grid projects in science and industry Development and promotion of standard Grid protocols (e.g. OGSA) to enable interoperability and shared infrastructure Development and promotion of standard Grid software APIs and SDKs to enable portability and code sharing The Globus Toolkit: Open source, reference software base for building Grid infrastructure and applications Global Grid Forum: Development of standard protocols and APIs for Grid computing
GlobusWORLD
Overview
Where we are today Standards landscape & Globus Toolkit plans Transitioning from GT2 to GT3
Overview
is a Grid?
Toolkit v3.0
Standards landscape & Globus Toolkit plans Transitioning from GT2 to GT3
Is the Grid
A collaboration & resource sharing infrastructure for scientific applications? A standards-based distributed service integration & management technology? A disruptive technology that enables a virtualized, collaborative, distributed world? An open source technology & community? An over-used marketing slogan? All of the above?
Pre-Internet
Theorize
Post-Internet
Construct
and mine large databases of observational or simulation data Develop simulations & analyses Access specialized devices remotely Exchange information within distributed multidisciplinary teams
Pre-Internet
Central
Post-Internet
Enterprise
computing is highly distributed, heterogeneous, inter-enterprise (B2B) Business processes increasingly computing- & data-rich Outsourcing becomes feasible => service providers of various sorts Growing complexity & need for
multi-faceted system spanning institutions and industries Configured to meet instantaneous needs, for:
performance, reliability,
What is a Grid?
resources that are not subject to centralized control using standard, open, general-purpose protocols and interfaces to deliver non-trivial qualities of service.
cluster, a network attached storage device, a scientific instrument, a network, etc. Each is an important component of a Grid, but by
Why Now?
Moores
law improvements in computing produce highly functional end-systems The Internet and burgeoning wired and wireless provide universal connectivity Changing modes of working and problem solving emphasize teamwork, computation Network exponentials produce dramatic changes in geometry and geography
Editors:
Tuecke
(ANL), Czajkowski (USC/ISI), Foster (ANL), Frey (IBM), Graham (IBM), Kesselman (USC/ISI), Maguire (IBM), Sandholm (ANL), Snelling (Fujitsu Labs), Vanderbilt (NASA Ames) Ferguson, Grimshaw, Finkelstein, Leymann, Nally, Nick, Rofrano, Stokes, Storey, Unger,
Contributors:
Butler,
OGSI History
Jun 2001: Steve Tuecke (Globus) wrote initial internal draft OGSI specification Sep 2001: IBM joined effort, and substantially ramped up the pace Feb 2002: Globus & IBM introduced draft OGSI specification at GGF4, proposed wg Mar 2002: Globus OGSI Tech Preview v1 Sep 2002, Nov 2002, Jan 2003: Meetings Apr 2003: Enter final public comment period
What Is OGSI?
Useful, general purpose plumbing to make it easier to build Web services relevant to Grids
OGSI
came about because we started trying to define Globus Toolkit functionality using WSDL, and found there were common, base behaviors that I wanted to define once and reuse in all of our services.
But there is nothing Grid specific about OGSI! Perhaps it should have been better named:
WS-UsefulInterfacesToBuildAnInterestingClassOfWebServices
= Open Grid Service Infrastructure Web services interfaces and behaviors that address key distributed system issues
mgt, dbms, workflow, security, Target of current & planned GGF efforts OGSA wg defines OGSA compliance
Web Services
is defined in terms of WSDL portTypes, messages, and XML Schema types OGSI is largely silent on WSDL binding and service
SOAP is important insofar as it defines a standard, inter-operable binding under WSDL. But OGSI is silent on this.
Ditto
WSDL
Binding
E.g. Soap/http
WSDL Example
<wsdl:definitions targetNamespace=> <wsdl:types> <schema> <xsd:element name=fooInput /> <xsd:element name=fooOutput /> </schema> </wsdl:types> <wsdl:message name=fooInputMessage> <part name=parameters element=fooInput/> </wsdl:message> <wsdl:message name=fooOutputMessage> <part name=parameters element=fooOutput/> </wsdl:message> <wsdl:portType name=fooInterface> <wsdl:operation name=foo> <input message=fooInput/> <output message = fooOutput/> </wsdl:operation> </wsdl:portType> </wsdl:definitions>
OGSI Specification
describing and naming services Working with W3C WSDL working group to drive OGSI extensions into WSDL 1.2
Defines fundamental interfaces (using extended WSDL) and behaviors that define a Grid Service
A
http://www.ggf.org/ogsi-wg
GridService (required)
handle resolution
Grid Service Reference
Implementation
Hosting environment/runtime (C, J2EE, .NET, )
GWSDL
OGSI requires interface extension/composition We worked within W3C WSDL working group to define standard interface extension in WSDL 1.2 that meets OGSI requirements But could not wait for WSDL 1.2 So defined gwsdl:portType that extends WSDL 1.1 portType with:
WSDL
GWSDL Example
<wsdl:definitions> <wsdl:types></wsdl:types> <wsdl:message></wsdl:message> <gwsdl:portType name=foo extends=ns:bar ogsi:GridService> <wsdl:operation name=op1></wsdl:operation> <wsdl:operation name=op2></wsdl:operation> <ogsi:serviceData /> </gwsdl:portType> </wsdl:definitions>
OGSI defines basic patterns of interaction, which can be combined with each other and with custom patterns in a myriad of ways OGSI Specification focuses on:
Atomic,
Every service instance has a unique name, from which can discover supported bindings Service instances created by factories Destroyed explicitly or via soft state Service data (attributes) associated with GS instances Operations for querying and setting this info Asynchronous notification of changes to service date Group membership rules & membership management
Attributes: Publicly visible state of the service Want to bring full power of XML to attributes
getXXX/setXXX
is too limiting
How to get/set multiple? Want richer queries across attributes (e.g. join).
Use
Perf. Monitor
Internal State
All of the GT v2.4 services and clients Complete Java implementation of OGSI v1.0
Rich,
Jobs (akin to GT2 GRAM) Reliable File Transfer (RFT) Index Services (akin to GT2 GIIS)
OGSI Implementations
Globus Toolkit version 3.0 (Java, C client) U Virginia OGSI.NET (.NET) LBNL pyGlobus (Python) U Edinburgh (.NET) U Manchester (PERL) Fujitsu Unicore (Java)
Overview
GGF: OGSI, (+ OASIS, W3C) Globus Toolkit Multiple implementations, including Globus Toolkit Defacto standards GGF: GridFTP, GSI
Time
OGSA refers to the collection of specifications that together define a complete architecture GGF OGSA WG is defining OGSA
Services
must be OGSI-compliant Coordination group: Specifications for the services will come from other working group Will define requirements, scope activities, This effort is just GWD-R (draft-ggf-ogsa-platform-3) ramping upEditors:
Open Grid Services Architecture Platform http://www.ggf.org/ogsa-wg I. Foster, Argonne & U.Chicago D. Gannon, Indiana U.
protocols enable interoperability Avoid product/vendor lock-in Enables innovation/competition on end points
GGF: Grid services: OGSI/A, WS-Agreement W3C: Web services: WSDL, SOAP OASIS: Web services security, WSDM, SAML IETF: Internet protocols and security Project Liberty Alliance: Identity federation DMTF: Common Information Model (CIM)
specifications must be RF Higher level service specifications may be RAND (Reasonable and Non-Discriminatory) or even proprietary
of the key IBM/Microsoft WS-* specs are not (currently) RF, though IBM/MS has stated intent to do so with some
GT 3.2 (1Q2004)
Maintenance
GT 3.x (3-4Q2004)
First
Plumbing
WSDL
standard = result, not process But process can affect resulting adoption
up, clear up ambiguities, etc. Target SOAP 1.2 (standardized SOAP) Add interface inheritance + open content
OGSI
OGSI 1.0 completed in GGF in July 2003 Standard interfaces for common patterns
Naming,
(id) threaded through SOAP header OGSI for context creation, naming & lifecycle???
Dont confuse:
Stateful/less
connection
Stateful/less
Two complimentary patterns to managing state, both valid within WSA & WSDL:
Encapsulation
WS-Addressing
Security Standards
SOAP message security SAML: signed assertions using XML XACML: access control lists using XML
Large set of specifications for doing Web services security, most of which should be appropriate for OGSA Announced April 2002 Initial spec in July 2002 (WS-Security)
Submitted
to OASIS
WS-Policy
WS-Trust
WS-Privacy
WS-Security
In progress
SOAP Foundation
proposed
promised
These are gaining considerable momentum, but WS-Policy* leaves these in question
Based on SAML
Agreements
(OGSI-) WS-Agreement
resources that are not subject to centralized control using standard, open, general-purpose protocols and interfaces to deliver non-trivial qualities of service.
Implies need to express and negotiate agreements that govern the delivery of services to clients
Agreement
WS-Agreement Contents
composition of a set of terms that govern a services behavior with respect to clients Agreement language uses WS-Policy (currently) Standard attributes for terms that express current state of negotiation Other groups define specific terms
WS-Agreement Applicability
All interesting Web/Grid services interactions will be governed by agreements! WS-Agreement (language and interfaces) should be used by specifications that define domain specific services
Data
Management
using/of Web Services HP submitted its Web Services Management Framework (WSMF) to WSDM in July 2003
WS-Events: event schema, subscription, message queues WSMF-Foundation: management using Web services WSM: management of Web services
WSMF-Foundation
faults
Globus and HP are working together to re-factor WSMF-Foundation and WS-Events specifications to exploit OGSI to achieve a more powerful expression of a generalized Web services framework for building
resource names: Grid service handles State data modeling + access: SDEs Lifetime management Service Group for grouping resources Interface definition language: WSDL
manageable resource SDE schema Interfaces for extensible lifecycle and relationship management
BaseManageableResource interface
GridService
HandleResolver
ServiceGroup
Locate
Relationship
LifecycleModel
CRM port types
BaseManageableResource
There may be multiple models, but only one for a given resources port type Example: Get/set resources lifecycle state
down,
starting, up, stopping, failed Each state has additional info, e.g.,
Once you re-factor WSMF-Foundation to use OGSI, what you are left with looks (in scope and concept at least) similar to CMM
Service
These efforts should be able to come together into a single standards effort that meets both Web Services & Grid communities needs
If
Event Schema
Proposals:
HP
WS-Events includes a simple event schema IBM presented richer event schema WSDM f2f
Message Queues
Aka channels, aka buffered notification OGSI has simple notification model
SDE
represents visible, typed, changeable state/attributes of a service Extensible subscription to notification of changes of SDE (SDEs name = event source)
What is missing?
Buffering
of messages
are the event source names Extending OGSI subscription interfaces to supported buffered notification
Hopefully this will come together soon with IBM work on hierarchical topic based approach
Core Sevices
Data Services
XML databases Needs to be generalized to encompass other data sources (see next slide)
Data located in multiple locations Federation: Composition of multiple sources Provenance: How was data generated?
Describes conceptual model for representing all manner of data sources as Web services
Database,
Data service is an OGSI-compliant Web service that implements one or more of base data interfaces:
DataDescription,
Globus Toolkits GRAM/ManagedJob service allows for job submission and management
This
WS-Agreement: Base protocol and language for submission JSDL (maybe): WS-Agreement terms for job submission WSDM: Base manageability interfaces, states, etc.
Also
Workflow
BPEL
W3C
WS-Choreography
programming language for specifying workflows comprising Web services invocations Thread contexts through a series of invocations
Standards Summary
Standards are critical to Grid success Grid and Web Services are merging
Grid
Web Services standards landscape is in great flux, and OGSI will need to evolve with it Grid Services standards landscape heating up W3C, OASIS, GGF are key standards orgs Uncertain status of security & policy standards continues to be a big source of concern
Overview
Where we are today Standards landscape & Globus Toolkit plans Transitioning from GT2 to GT3
GRAM MDS GridFTP Reliable
Transition Message
Do it incrementally!!!
GT3
combines:
All of the services that you are familiar with from GT2 Additional OGSI-compliant services
Some are new (e.g. RFT) Some are supersets of GT2 functionality (e.g. ManagedJob)
Eventually
Start testing them as they arrive, and migrate when they meet your needs
GT 3.2
fixes and performance improvements New GridFTP code (client & server)
Message:
Start
developing and testing now so that any problems you run into can be fixed and delivered in 3.2 Production rollout on 3.2
GRAM
same backend submission scripts as GT2compatible services (job manager) Functionality is almost identical Still working on improving scalability and performance (3.2)
Working on standards now that will replace ManageJob and add new functionality (e.g. advance reservations)
Conceptually identical to GT2 MDS But factoring and capabilities have changed considerably with OGSI
No
longer a separate GRIS server now every OGSI service is its own GRIS, through service data Index service (like GIIS) still available, but with Xpath query support
Working on richer queuing, logging, and archiving support for future releases
GridFTP
GT 3.0 is same as 2.4 (not OGSI-compliant), just with some bug fixes GT 3.2 will contain new GridFTP
Built
from scratch (no more wu-ftpd) Will grow to include striped server in 3.4
GGF DAIS working group will probably include filesystem data services
OGSA
Data Services paper lays the foundation Filesystem interface specs will be coming
requests from clients to manage a third party transfer between two GridFTP servers
This is probably the most natural place to start with OGSI-compliant GT3 services Will evolve to support DAIS filesystems when available
Not OGSI-compliant in 3.0 Working on OGSI-compliant services with RLS capabilities, for future GT 3.x
Exploits
Conclusion
OGSI v1.0 is done, and ready for use today Globus Toolkit future is intimately tied to the evolution of Web services and other Grid standards There is a lot of standards activity, but the 12-18 month picture is starting to clarify Transition from GT2 GT3 should be incremental