Porting applications to Globus Toolkit 3.0 and designing an OGSI-based architecture Pawel Plaszczak and Rich Wellner Perfringo Grid Solutions

Slides:



Advertisements
Similar presentations
Experiences with Converting my Grid Web Services to Grid Services Savas Parastatidis & Paul Watson
Advertisements

This product includes material developed by the Globus Project ( Introduction to Grid Services and GT3.
Seminar Grid Computing ‘05 Hui Li Sep 19, Overview Brief Introduction Presentations Projects Remarks.
1 CENTER FOR PARALLEL COMPUTERS An Introduction to Globus Toolkit® 3 -Developing Interoperable Grid services.
Intelligent Grid Solutions 1 / 18 Convergence of Grid and Web technologies Alexander Wöhrer und Peter Brezany Institute for Software.
4a.1 Grid Computing Standards ITCS 4010 Grid Computing, 2005, UNC-Charlotte, B. Wilkinson, slides 4a.
Massimo Cafaro GridLab Review GridLab WP10 Information Services Massimo Cafaro CACT/ISUFI University of Lecce, Italy.
Data Grids: Globus vs SRB. Maturity SRB  Older code base  Widely accepted across multiple communities  Core components are tightly integrated Globus.
Chapter 7: Client/Server Computing Business Data Communications, 5e.
4b.1 Grid Computing Software Components of Globus 4.0 ITCS 4010 Grid Computing, 2005, UNC-Charlotte, B. Wilkinson, slides 4b.
Grid Computing, B. Wilkinson, 20046c.1 Globus III - Information Services.
GridSphere for GridLab A Grid Application Server Development Framework By Michael Paul Russell Dept Computer Science University.
Globus Computing Infrustructure Software Globus Toolkit 11-2.
Designing and Building Grid Services GGF9 Chicago October 8, 2003 Organizers: Ian Foster, Marty Humphrey, Kate Keahey, Norman Paton, David Snelling.
Data Grid Web Services Chip Watson Jie Chen, Ying Chen, Bryan Hess, Walt Akers.
1 Globus Developments Malcolm Atkinson for OMII SC 18 th January 2005.
Globus 4 Guy Warner NeSC Training.
Kate Keahey Argonne National Laboratory University of Chicago Globus Toolkit® 4: from common Grid protocols to virtualization.
Web Services (tying it all together) and Introduction to Grid Services Concepts These slides are adapted from course material developed by Barry Wilkinson,
- 1 - Grid Programming Environment (GPE) Ralf Ratering Intel Parallel and Distributed Solutions Division (PDSD)
Commodity Grid (CoG) Kits Keith Jackson, Lawrence Berkeley National Laboratory Gregor von Laszewski, Argonne National Laboratory.
Data Management Kelly Clynes Caitlin Minteer. Agenda Globus Toolkit Basic Data Management Systems Overview of Data Management Data Movement Grid FTP Reliable.
OPEN GRID SERVICES ARCHITECTURE AND GLOBUS TOOLKIT 4
Accounting for the Grid Usage Records and a Resource Usage Service.
Nicholas LoulloudesMarch 3 rd, 2009 g-Eclipse Testing and Benchmarking Grid Infrastructures using the g-Eclipse Framework Nicholas Loulloudes On behalf.
GT Components. Globus Toolkit A “toolkit” of services and packages for creating the basic grid computing infrastructure Higher level tools added to this.
Grid Resource Allocation and Management (GRAM) Execution management Execution management –Deployment, scheduling and monitoring Community Scheduler Framework.
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
Chapter 14 Part II: Architectural Adaptation BY: AARON MCKAY.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
GEM Portal and SERVOGrid for Earthquake Science PTLIU Laboratory for Community Grids Geoffrey Fox, Marlon Pierce Computer Science, Informatics, Physics.
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
NOVA Networked Object-based EnVironment for Analysis P. Nevski, A. Vaniachine, T. Wenaus NOVA is a project to develop distributed object oriented physics.
Grid Execution Management for Legacy Code Applications Grid Enabling Legacy Code Applications Tamas Kiss Centre for Parallel.
Refining middleware functions for verification purpose Jérôme Hugues Laurent Pautet Fabrice Kordon
Communicating Security Assertions over the GridFTP Control Channel Rajkumar Kettimuthu 1,2, Liu Wantao 3,4, Frank Siebenlist 1,2 and Ian Foster 1,2,3 1.
Ames Research CenterDivision 1 Information Power Grid (IPG) Overview Anthony Lisotta Computer Sciences Corporation NASA Ames May 2,
Commodity Grid Kits Gregor von Laszewski (ANL), Keith Jackson (LBL) Many state-of-the-art scientific applications, such as climate modeling, astrophysics,
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
Grid Services I - Concepts
1October 9, 2001 Sun in Scientific & Engineering Computing Grid Computing with Sun Wolfgang Gentzsch Director Grid Computing Cracow Grid Workshop, November.
Grid Security: Authentication Most Grids rely on a Public Key Infrastructure system for issuing credentials. Users are issued long term public and private.
Transition and Evolution Moving to Grid Services.
GRIDS Center Middleware Overview Sandra Redman Information Technology and Systems Center and Information Technology Research Center National Space Science.
GRID Overview Internet2 Member Meeting Spring 2003 Sandra Redman Information Technology and Systems Center and Information Technology Research Center National.
Grid Execution Management for Legacy Code Applications Grid Enabling Legacy Applications.
ISERVOGrid Architecture Working Group Brisbane Australia June Geoffrey Fox Community Grids Lab Indiana University
Reliable File Transfer: Lessons Learned Bill Allcock, ANL Ravi Madduri, ANL.
Introduction to Grids By: Fetahi Z. Wuhib [CSD2004-Team19]
Kemal Baykal Rasim Ismayilov
7. Grid Computing Systems and Resource Management
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
International Symposium on Grid Computing (ISGC-07), Taipei - March 26-29, 2007 Of 16 1 A Novel Grid Resource Broker Cum Meta Scheduler - Asvija B System.
Globus and PlanetLab Resource Management Solutions Compared M. Ripeanu, M. Bowman, J. Chase, I. Foster, M. Milenkovic Presented by Dionysis Logothetis.
On Using BPEL Extensibility to Implement OGSI and WSRF Grid Workflows Aleksander Slomiski Presented by Onyeka Ezenwoye CIS Advanced Topics in Software.
WebFlow High-Level Programming Environment and Visual Authoring Toolkit for HPDC (desktop access to remote resources) Tomasz Haupt Northeast Parallel Architectures.
GRID ANATOMY Advanced Computing Concepts – Dr. Emmanuel Pilli.
Data Manipulation with Globus Toolkit Ivan Ivanovski TU München,
INFSO-RI Enabling Grids for E-sciencE Web Services Mike Mineter National e-Science Centre, Edinburgh.
WP3 Implementing R-GMA grid services in GT3 Abdeslem Djaoui & WP3 Grid Services Task Force 7 th EU Datagrid meeting 26/09/2003
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
DataGrid is a project funded by the European Commission EDG Conference, Heidelberg, Sep 26 – Oct under contract IST OGSI and GT3 Initial.
Grid Execution Management for Legacy Code Architecture Exposing legacy applications as Grid services: the GEMLCA approach Centre.
A System for Monitoring and Management of Computational Grids Warren Smith Computer Sciences Corporation NASA Ames Research Center.
OGSA-DAI.
Amy Krause EPCC OGSA-DAI An Overview OGSA-DAI on OMII 2.0 OMII The Open Middleware Infrastructure Institute NeSC,
SuperComputing 2003 “The Great Academia / Industry Grid Debate” ?
The Anatomy and The Physiology of the Grid
Grid Systems: What do we need from web service standards?
Presentation transcript:

Porting applications to Globus Toolkit 3.0 and designing an OGSI-based architecture Pawel Plaszczak and Rich Wellner Perfringo Grid Solutions Tutorial materials:

Porting to GT3 & designing OGSI - Perfringo Grid Solutions About the authors From Foster’s Globus team in Argonne Co-founded Perfringo Grid Solutions Focus: industry level Grid applications Currently: NeesGRID - distributed earthquake simulations

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Prerequisities Necessary: distributed systems & software design, purpose of Grid Useful: Java, Web services, XML, Grid services (will be briefly explained) Not necessary: coding experience We will speak on decision making and design. No hands-on programming

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Plan Part I: Grid services - why and when? Part II: OGSI and OGSA technology review Part III: Use case: NTCP Part IV: Porting to Grid services and GT3

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Plan of Part I: Grid services - why and when? Overview: Globus Alliance and Toolkit Overview: GT2 vs GT3, OGSA Why go Grid? Why comply with OGSA? Why port to GT3?

Porting to GT3 & designing OGSI - Perfringo Grid Solutions The Globus Alliance Globus Project ™, since 1996  Ian Foster (Argonne National Lab),  Carl Kesselman (University of Southern California’s Information Science Institute) Develop protocols, middleware and tools for Grid computing Globus Alliance, since Sept 2003 International scope  University of Edinburgh’s EPCC  Swedish Center for Parallel Computers (PDC)  Advisory council of Academic Affiliates from Asia- Pacific, Europe, US

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Globus Toolkit GT2 (2.4 released in 2002): reference implementation of Grid fabric protocols  GRAM for job submissions  MDS for resource discovery  GridFTP for data transfer  GSI security GT3 (3.0 released July 2003): redesign  OGSI based  Grid services, built on SOAP and XML

Porting to GT3 & designing OGSI - Perfringo Grid Solutions OGSI and OGSA OGSI = Open Grid Service Infrastructure  Specs from GGF OGSI working group  Defines what makes a Grid service  Based on Web service  Naming, life cycle, state, notification  portTypes definitions, WSDL 1.2 draft OGSA = Open Grid Service Architecture  Specs from GGF OGSA working group  Defines a list of fundamental Grid services, and how they cooperate  Work in progress

Porting to GT3 & designing OGSI - Perfringo Grid Solutions What’s new in GT3.0 Emphasis on OGSI compliant Grid services OGSA implemented Uniform SOAP/XML communication layer Focus on Java implementation Old GT2 services redesigned Backward compatibility where possible

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Meaning of GT3 in the community Most commonly referred project Traditionally “de facto standard” Acknowledged leadership by academia and industry (IBM,…) BSD style license allows for commercial usage However, it is only a reference implementation. Now standards = GGF GT undergoes constant changes With business entering grid, commercial implementations may soon catch up

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Alternatives to GT3 Protocol level interoperability:  “Grid compliant” >= “implements OGSI” Other OGSI implementations  OGSI.NET (U.Virginia)  pyGlobus (LBNL) .NET (U.Edinburgh)  PERL (U. Manchester)  UNICORE (Fujitsu) Commercial OGSI compliant products by:  Avaki, Platform, Data Synapse, … Web service alternative: Grid App Framework

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Part I contd. Overview: Globus Alliance and Toolkit Overview: GT2 vs GT3, OGSA Why? Why go Grid? Why comply with OGSA? Why port to GT3? upgrading from GT2

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Why go Grid? Hot subject Try it, experience it to learn the potential Will enable true ubiquitous computing in future Today, proven in some areas: intraGrids But still long way to World Wide Grid State of art techniques, tools are difficult Short term goals? Use another technology Does your system have Grid characteristics?  Distributed users, large scale and heterogeneous resources, across domains

Porting to GT3 & designing OGSI - Perfringo Grid Solutions OGSI architecture: why and when? Commonly accepted Grid standard  But there are alternatives: WS-GAF, GT2,… Extends Service-Oriented Architecture  Modular, scalable, maintainable, interoperable Extensions: use only when needed Uniform communication layer Be compatible and inter-operable with other grid systems (that’s what grids are about!)

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Porting to GT3: why and when? Implementing OGSI is plenty of work! Piggyback on GT3 for OGSI/A compliance (watch commercial products) Most serious middleware to consider Language bindings: traditionally Unix/C, now Java leads But: unstable, new versions bring changes Traditionally, for hard core hackers Traditionally, documentation was lacking  recent signs of improvement, also IBM redbook

Porting to GT3 & designing OGSI - Perfringo Grid Solutions GT3 stability GT3 took only 1.5 year to develop. It will change many times! Anticipated or considered changes:  Refactor GridFTP control channel into XML, DAI  Security: add CASS  GRAM: ongoing improvements  OGSA-C hosting environment to come OGSA specs is draft OGSI specs are completed (v. 1.0)

Porting to GT3 & designing OGSI - Perfringo Grid Solutions GT3.2 Expected January 2004 Features:  CAS (Community Authorization Service)  Index Service reimplemented  GridFTP server reimplemented  GridFTP java client: connection reuse, MLST  GRAM performance improvements  CRL support (certificate revocation list)  several bug fixes in core

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Java CoG Kit status Before: Java client for GT2 Now integrated with GT3 Provides low level API for GT3 services: security, GridFTP Experimental features to come soon (not part of GT3):  Workflow management, compliant with GT2 and GT3  Comes with example Jetspeed portlets

Porting to GT3 & designing OGSI - Perfringo Grid Solutions roadmap Part I: Grid services - why and when? Part II: OGSI and OGSA technology review Part III: Use case: NTCP Part IV: Porting to Grid services and GT3

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Plan of Part II: OGSI and OGSA technology review Web service XML and SOAP Service Oriented Architecture Grid service (OGSI) OGSA How does GT3 implement OGSA Examples

Porting to GT3 & designing OGSI - Perfringo Grid Solutions What is a Web service Not much to do with HTML Interface to a well- explained, self- contained function (module, component) Usu. small grained Defined in WSDL Communication: XML and SOAP OnlineStore Web service queryItems() orderItem() Web service client SOAP/XML

Porting to GT3 & designing OGSI - Perfringo Grid Solutions More on Web services Specs  W3 Consortium IBM, Microsoftwww.w3.org,  OASIS (WS security) For developers: “Building Web services with Java” by Steve Graham et al For managers: “Web services and Service- Oriented Architectures” by Doug Barry (the savvy manager’s guide) Stay tuned: IBM developerWorks articles  ibm.com/developerworks/webservices/

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Service-Oriented Architecture System composed of several components exhibiting WS interfaces Discovery through a well-known directory, such as UDDI External services use internal ones Modular, scalable, maintainable, interoperable

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Service-Oriented Architecture in practice OnlineStore WS queryItems() orderItem() Web service client StockMgr WS query() ship() OrderMgr WS order() bill() query order ship warehouse

Porting to GT3 & designing OGSI - Perfringo Grid Solutions What is a Grid service Defined by OGSI (GGF working group) Is a Web service with additions, which are:  Name (handle GSH, reference GSR)  Lifetime management (factories, persistent and transient services)  State (Service Data)  Notification as well as querying WSDL 1.2 draft (gwsdl: namespace) Definitions of portTypes

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Grid services in practice: notifications and service data OnlineStore GS query() subscribe() Grid service client Subscribe: “tell me when you have it on stock” Notify: “it just arrived.” Notification source Notification sink StockItem SDE Service data element

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Grid services in practice: naming and life cycle OnlineStore Persistent GS queryItems() StockMgr Persistent GS getItem() StockItemAF45X Transient GS Grid service client Item SDEs: dimension, price 3. create Factory 2. Get reference 1. query 4. query

Porting to GT3 & designing OGSI - Perfringo Grid Solutions What is OGSA Open Grid Service Architecture, being defined by GGF OGSA working group In ubiquitous Grid platform, there is common need for some basic services OGSA defines this set of base services OGSA builds on OGSI

Porting to GT3 & designing OGSI - Perfringo Grid Solutions How does GT3 implement OGSA Java implementation, C to follow Container approach: host small-grained services Hosting environment takes care of basic GS functions GT3 provides core and base services, users to implement their own Transient and persistent GS API Tools to generate Java GWSDL Axis engine used for SOAP handling Run with Tomcat or standalone

Porting to GT3 & designing OGSI - Perfringo Grid Solutions roadmap Part I: Grid services - why and when? Part II: OGSI and OGSA technology review Part III: Use case: NTCP Part IV: Porting to Grid services and GT3

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Plan of part III: NTCP NeesGRID project overview NTCP requirements & high level design Choosing Grid services for NTCP subsystem Choosing Grid services for Matlab subsystem Not choosing Grid services for ShoreWestern subsystem Deployment On-going work

Porting to GT3 & designing OGSI - Perfringo Grid Solutions NeesGRID Make collective use of geographically distributed experiment facilities, heterogeneous hardware Users dislocated from facilities Applying Grid to earthquake science 3 year project involving several US institutes Distributed simulation of a building in an earthquake Scale: models costs millions of $ and several months to build. Some experiments are not repeatable (model used once)

Porting to GT3 & designing OGSI - Perfringo Grid Solutions The MOST experiment NCSA Computational Model m1m1 f1f1 UIUC Experimental Model f1f1 m1m1 f2f2 f2f2 U. Colorado Experimental Model Slide courtesy of Bill Spencer, UIUC

Porting to GT3 & designing OGSI - Perfringo Grid Solutions MOST requirements Distributed simulation of a building in an earthquake 3 experimental sites Hybrid experiment: 2 physical and 1 computational simulations Results at one time-step used to calculate inputs at the next time-step Pseudodynamics: order of 10 ms per time-step Successfully run on 30th July 2003

Porting to GT3 & designing OGSI - Perfringo Grid Solutions NTCP: NEESGrid Teleoperation Control Protocol Vital component of NeesGRID and MOST Telecontrol system, used to coordinate the experiment with commands Output data collected with other NEESGrid systems like NSDS

Porting to GT3 & designing OGSI - Perfringo Grid Solutions NTCP system architecture Coordinator (NTCP client) NTCP server NTCP server NTCP server Backend ShoreWestern Backend Matlab sim. Backend Matlab + XPC Local protocol Local protocol Local protocol NTCP NTCP subsystem local subsystems NCSAU ColoradoUIUC

Porting to GT3 & designing OGSI - Perfringo Grid Solutions NTCP protocol Coordinator follows the script with recorded earthquake data Coordinator orders servers to simulate one time- step at a time (pseudodynamics) Servers can refuse if parameters out of range Core commands  Propose() negotiates an action  Execute() starts an action  Cancel() issued when negotiation failed  Other: get/setParameter, open/closeSession…

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Sequence diagram (simplified) coordinator NTCP Server A openSession NTCP Server B propose execute results (accepted) (started) openSession propose execution 1 time step

Porting to GT3 & designing OGSI - Perfringo Grid Solutions NTCP subsystem: choosing Grid services and GT3 Long term goals System characteristics: distributed, heterogeneous resources across administrative domains Interoperability, manageability, scalability Risk: GT3 released early July, MOST scheduled end of July

Porting to GT3 & designing OGSI - Perfringo Grid Solutions NTCP server simplified design

Porting to GT3 & designing OGSI - Perfringo Grid Solutions NTCP server as a Grid service Front end: Permanent Grid service  Operates on real hardware; only admin can restart methods  Open/closeSession, propose, execute, cancel, get/setParameter, getControlPoint Service data: Transaction state Notification: Execution results Back end: LocalControlPlugin interface for implementing adapters to the local non-OGSI technologies

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Sequence diagram revisited in Grid service terms Coordinator (GS client) NTCP Grid service Subscribe for transaction status Propose transaction Execute transaction results (accepted) (started) execution 1 time step Transaction results notification Transaction Service Data create update

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Matlab subsystem: plugin and backend Coordinator (NTCP client) NTCP server NTCP server NTCP server Backend ShoreWestern Backend Matlab sim. Backend Matlab + XPC Local protocol Local protocol NTCP Local protocol

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Matlab subsystem: characteristics Command flow: 1. Coordinator 2. NTCP server frontend 3. NTCP server Matlab control plugin (Mplugin) 4. Backend machine running Matlab simulation Matlab single threaded, not event driven Information pull model enforced Matlab has Java interface, fully compliant with Java 1.3. Can use Java class library, third party jar files, multiple threads

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Matlab subsystem: choosing Grid services Choose network communication technology between Mplugin and backend  TCP/IP, RMI, Corba, Web services… Although no Grid characteristics… why not Grid services?  Pulling scenario -> “server” on the same machine as the NTCP server  OGSA container is already there  Ockham razor: one technology instead of many

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Typical Service-Oriented Arch compared to NTCP + Matlab

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Client, server and backend in Grid service model Methods:  hasCommand, pullCommand, pushResult No service data, notification Could as well be a Web service Reversed information flow, as compared to typical Service-Oriented Both NTCP and commandBuffer services are persistent; must match at start-up

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Testing the NTCP and Matlab subsystem Junit and TestServer from GT3 3 test suites, 4 test units Some units implement same interfaces 3 simulators, some deployed inside gar

Porting to GT3 & designing OGSI - Perfringo Grid Solutions ShoreWestern subsystem Coordinator (NTCP client) NTCP server NTCP server NTCP server Backend ShoreWestern Backend Matlab sim. Backend Matlab + XPC Local protocol Local protocol NTCP Local protocol

Porting to GT3 & designing OGSI - Perfringo Grid Solutions ShoreWestern subsystem: plugin and backend ShoreWestern hardware driver to operate physical experiment facility Push communication OK ShoreWestern already speaks a proprietary protocol based on TCP/IP, equivalent in functionality to NTCP

Porting to GT3 & designing OGSI - Perfringo Grid Solutions TCP/IP based prototype of NTCP reused for ShoreWestern Coordinator Backend sim. ShoreWestern Backend sim. Matlab Backend sim. Matlab TCP/IP NTCP server ShoreWestern backend TCP/IP Grid service Front end ShoreWestern ctrl plugin Same protocol

Porting to GT3 & designing OGSI - Perfringo Grid Solutions ShoreWestern subsystem: *not* choosing Grid services Backend has server role Reuse existing TCP/IP protocol Ockham razor (again!) ShoreWestern plugin = adapter to the old protocol

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Complete NTCP system for the MOST experiment Coordinator (NTCP client) Backend e.g. ShoreWestern Backend e.g. Matlab sim. Backend e.g. Matlab + XPC TCP/IP OGSI OGSA container ShoreWestern ctrl plugin OGSA container NTCP Grid service OGSA container CmdBuffer Grid service CmdBuffer Grid service NTCP Grid service NTCP Grid service OGSI

Porting to GT3 & designing OGSI - Perfringo Grid Solutions MOST experiment deployment First GT3-based application deployed in production 3 remote sites:  NCSA, UIUC, University of Colorado 5.5 hours and almost 1500 steps Monitored by several engineers and scientists Remote observers through advanced Grid technology: multiple life video, life data, chat, all via Web interface Output data to be analyzed by earthquake scientists

Porting to GT3 & designing OGSI - Perfringo Grid Solutions NTCP: ongoing work Very high requirements  Reliability  Safety  Error checking  Security Involved: Information Science Institute, Argonne National Lab, Perfringo Grid Solutions

Porting to GT3 & designing OGSI - Perfringo Grid Solutions NTCP Acknowledgements Bill Spencer, UIUC (NeesGRID PI) Laura Pearlman, ISI (NTCP lead) Erik Johnson, USC (Matlab engineering) Ravi Madduri, Mike D’Arcy (Globus team developers)

Porting to GT3 & designing OGSI - Perfringo Grid Solutions roadmap Part I: Grid services - why and when? Part II: OGSI and OGSA technology review Part III: Use case: NTCP Part IV: Porting to Grid services and GT3

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Plan of Part IV: Porting to Grid services and GT3 All depends on your starting point Choose the best approach High or low abstraction level? Study early experience with working systems Stay tuned

Porting to GT3 & designing OGSI - Perfringo Grid Solutions All depends on your starting point Already have a GT2 based system?  Porting GT2 -> GT3 Already have Web services based system?  Porting Web services -> Grid services Have a system in other technology? Starting from scratch?

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Porting GT2 -> GT3: GridFTP GT2 GridFTP is still there. Consider using Java client API from CoG (org.globus.ftp aka jftp) For 3rd party, consider 3- tier architecture with reliable file transfer (RFT) Uncertain long term protocol stability GridFTP server GridFTP server jftp client API RFT data Grid service Client API

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Porting GT2 -> GT3: GRAM GT2 GRAM now refactored into XML Server side: new XML front end, old backend submission scripts New XML clients: Java or C Client side API-level backward compatible: old apps only need recompiling

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Porting GT2 -> GT3: MDS GT3 Information Services, aka MDS3  fundamental change in technology Old GRIS: now Service Data Old GIIS: now Index Service Old LDAP/LDIF: now SOAP/XML RFC2252 MDS schema: now SDD in GWSDL Porting old data providers  Substantial amount of work  Generally, need an adapter Grid service

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Porting GT2 -> GT3: the rest GT2 GSI security still there New: GT3 allows creating services not based on GridFTP, GRAM and MDS. Think about redesigning your architecture

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Porting Web services to Grid services: theory Grid service *is* a Web service Naming: need to introduce handle and reference Life cycle  Web services are like persistent Grid services Service data - not necessary  Get/set methods can now be implemented as SDE Notification - not necessary Discovery:  GT3 uses Index Service as directory  Web services sometimes use UDDI

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Porting Web services to Grid services: your options Implement from scratch  Need to implement (at least) handle and reference management  Can retain your old Web service code Implement with GT3  Get complete OGSI feature set for granted  Hidden porting work  Is the WS already in Axis? Handler based approach  WSDL -> GWSDL  Different procedure to deploy in container  GSI security (builds on top of WS-security)  Dependencies, versioning… Use non-GT3 OGSI middleware

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Experience of NEReSC CGM team: workflow service Courtesy of Saras Parastatidis and Paul Watson, Web ServiceGrid Service

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Courtesy of Saras Parastatidis and Paul Watson, Direct port of servlet proved too difficult  Dependencies on mysql, OpenJMS, Tomcat  Versioning nightmare Architecture converted to 3-tier New Grid service adapter constructed Adapter forwards to old Web service Client adaptation costed time Experience of NEReSC CGM team: notification service

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Experience of NEReSC CGM team: conclusions Courtesy of Saras Parastatidis and Paul Watson, Web and Grid services can coexist Adapter pattern is one solution Alternative to OGSI: Grid Application Framework based on Web Services Specifications and Practices document (

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Choose the best approach Writing Grid services from scratch Redesigning legacy system in Grid service architecture Refactoring communication layer Façade pattern approach

Porting to GT3 & designing OGSI - Perfringo Grid Solutions High or low abstraction level Adapt to lowest necessary abstraction  Web services?  OGSI? (what features needed?)  OGSA? (what services needed?) Reuse highest possible abstraction  track GGF progress  track Globus plans (announcements)  Ongoing work: OGSA-DAI, OGSA-DQP, workflows, OGSA itself, WS-Agreement

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Data access & integration Global Grid Forum Data Access and Integration Services (DAIS) working group Reference implementation OGSA-DAI by Edinburgh Parallel Computing Center (EPCC) “middleware to assist with access and integration of data from separate data sources via the grid” First stage ended July 2003; software available:

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Hints Grid services can be small grained  One idea for the next GridFTP server is to represent each file as a Grid service  Existence of a handle does not imply existence of a service! It should apear as a service, but implementation can be custom Represent abstractions as services  Agreement, transaction Method or SDE?  Get/set functionality can be faster to implement as methods, but more elegant as service data

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Experience with working systems NeesGRID Quertermaster NEReSC Core Grid Middleware other

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Stay tuned Quarterly GGF: gridforum.org Globus World, January , San Francisco GridToday, May 2004 to focus on commercial applications Perfringo events  Training events, tutorials, newsletter: Questions and comments?

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Your feedback Slides available for download  Please send feedback to  What did you learn?  What did you expect?  What could be added / improved?

Porting to GT3 & designing OGSI - Perfringo Grid Solutions Thanks! Laura Pearlman (NeesGRID, Globus) Bill Spencer (NeesGRID, UIUC) Savas Parastatidis (NEReSC CGM) Lisa Childers, Jarek Gawor, Gregor von Laszewski (Globus team)