Porting applications to Globus Toolkit 3.0 and designing an OGSI

advertisement
Porting applications to
Globus Toolkit 3.0 and
designing an OGSI-based
architecture
Pawel Plaszczak and Rich Wellner
Perfringo Grid Solutions
http://perfringo.com
Tutorial materials: http://perfringo.com/events
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
• pawel@perfringo.com,
rw2@perfringo.com
•
•
•
•
Porting to GT3 & designing OGSI - Perfringo Grid Solutions http://perfringo.com
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 http://perfringo.com
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 http://perfringo.com
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 http://perfringo.com
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 AsiaPacific, Europe, US
Porting to GT3 & designing OGSI - Perfringo Grid Solutions http://perfringo.com
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 http://perfringo.com
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 http://perfringo.com
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 http://perfringo.com
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 http://perfringo.com
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
http://www.neresc.ac.uk/ws-gaf
Porting to GT3 & designing OGSI - Perfringo Grid Solutions http://perfringo.com
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 http://perfringo.com
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 http://perfringo.com
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 http://perfringo.com
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 http://perfringo.com
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 http://perfringo.com
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 http://perfringo.com
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 http://perfringo.com
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 http://perfringo.com
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 http://perfringo.com
What is a Web service
• Not much to do with
HTML
• Interface to a wellexplained, selfcontained function
(module, component)
• Usu. small grained
• Defined in WSDL
• Communication: XML
and SOAP
Web service
client
SOAP/XML
OnlineStore
Web service
queryItems()
orderItem()
Porting to GT3 & designing OGSI - Perfringo Grid Solutions http://perfringo.com
More on Web services
• Specs
 W3 Consortium www.w3.org, IBM, Microsoft
 OASIS (WS security)
• For developers: “Building Web services with
Java” by Steve Graham et al
• For managers: “Web services and ServiceOriented Architectures” by Doug Barry (the
savvy manager’s guide)
• Stay tuned: IBM developerWorks articles
 http://www106.ibm.com/developerworks/webservices/
Porting to GT3 & designing OGSI - Perfringo Grid Solutions http://perfringo.com
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 http://perfringo.com
Service-Oriented Architecture
in practice
OnlineStore WS
Web service
client
queryItems()
orderItem()
query
order
StockMgr WS
query()
ship()
OrderMgr WS
ship
order()
bill()
warehouse
Porting to GT3 & designing OGSI - Perfringo Grid Solutions http://perfringo.com
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 http://perfringo.com
Grid services in practice:
notifications and service data
Notification source
Grid service
client
Subscribe:
“tell me when you
have it on stock”
Notify:
“it just arrived.”
OnlineStore GS
query()
subscribe()
Notification sink
StockItem
SDE
Service data element
Porting to GT3 & designing OGSI - Perfringo Grid Solutions http://perfringo.com
Grid services in practice:
naming and life cycle
Grid service
client
1. query
OnlineStore
Persistent GS
queryItems()
2. Get reference
StockMgr
Persistent GS
4. query
3. create StockItemAF45X
Transient GS
getItem()
Factory
Item SDEs:
dimension, price
Porting to GT3 & designing OGSI - Perfringo Grid Solutions http://perfringo.com
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 http://perfringo.com
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 http://perfringo.com
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 http://perfringo.com
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 http://perfringo.com
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 http://perfringo.com
The MOST experiment
UIUC
Experimental Model
NCSA Computational Model
U. Colorado
Experimental Model
m1
f1
f2
f1
f2
m1
xg
Slide courtesy of Bill Spencer, UIUC
xg
xg
Porting to GT3 & designing OGSI - Perfringo Grid Solutions http://perfringo.com
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 http://perfringo.com
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 http://perfringo.com
NTCP system architecture
NTCP
server
Local
protocol
NTCP
NTCP
server
Local
protocol
Backend
ShoreWestern
UIUC
Backend
Matlab sim.
NCSA
NTCP
NTCP
server
Local
protocol
Backend
Matlab + XPC
U Colorado
Porting to GT3 & designing OGSI - Perfringo Grid Solutions http://perfringo.com
local subsystems
NTCP
NTCP subsystem
Coordinator
(NTCP client)
NTCP protocol
• Coordinator follows the script with recorded
earthquake data
• Coordinator orders servers to simulate one timestep 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 http://perfringo.com
Sequence diagram (simplified)
NTCP
Server A
NTCP
Server B
coordinator
openSession
openSession
(accepted)
execution
1 time step
propose
execute
(started)
results
propose
Porting to GT3 & designing OGSI - Perfringo Grid Solutions http://perfringo.com
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 http://perfringo.com
NTCP server simplified design
Porting to GT3 & designing OGSI - Perfringo Grid Solutions http://perfringo.com
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 http://perfringo.com
Sequence diagram revisited
in Grid service terms
NTCP
Grid service
Transaction
Service Data
Coordinator
(GS client)
Propose
transaction
create
(accepted)
update
execution
1 time step
Subscribe
for transaction
status
(started)
results
Execute
transaction
Transaction
results
notification
Porting to GT3 & designing OGSI - Perfringo Grid Solutions http://perfringo.com
Matlab subsystem:
plugin and backend
Coordinator
(NTCP client)
NTCP
NTCP
server
Local
protocol
Backend
ShoreWestern
NTCP
NTCP
server
Local
protocol
Backend
Matlab sim.
NTCP
NTCP
server
Local
protocol
Backend
Matlab + XPC
Porting to GT3 & designing OGSI - Perfringo Grid Solutions http://perfringo.com
Matlab subsystem:
characteristics
•
Command flow:
1.
2.
3.
4.
•
•
•
Coordinator
NTCP server frontend
NTCP server Matlab control plugin (Mplugin)
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 http://perfringo.com
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 http://perfringo.com
Typical Service-Oriented Arch
compared to NTCP + Matlab
Porting to GT3 & designing OGSI - Perfringo Grid Solutions http://perfringo.com
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 http://perfringo.com
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 http://perfringo.com
ShoreWestern subsystem
Coordinator
(NTCP client)
NTCP
NTCP
server
Local
protocol
Backend
ShoreWestern
NTCP
NTCP
NTCP
server
Local
protocol
Backend
Matlab sim.
NTCP
server
Local
protocol
Backend
Matlab + XPC
Porting to GT3 & designing OGSI - Perfringo Grid Solutions http://perfringo.com
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 http://perfringo.com
TCP/IP based prototype of NTCP
reused for ShoreWestern
Coordinator
Grid service
Front end
TCP/IP
TCP/IP
ShoreWestern
ctrl plugin
Backend sim.
ShoreWestern
Backend sim.
Matlab
NTCP server
TCP/IP
Backend sim.
Matlab
Same protocol
TCP/IP
ShoreWestern
backend
Porting to GT3 & designing OGSI - Perfringo Grid Solutions http://perfringo.com
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 http://perfringo.com
Complete NTCP system
for the MOST experiment
Coordinator
(NTCP client)
OGSI
OGSA container
OGSI
OGSA container
NTCP
Grid service
ShoreWestern
ctrl plugin
NTCP
Grid service
CmdBuffer
Grid service
TCP/IP
OGSI
Backend e.g.
ShoreWestern
Backend e.g.
Matlab sim.
OGSI
OGSA container
NTCP
Grid service
CmdBuffer
Grid service
OGSI
Backend e.g.
Matlab + XPC
Porting to GT3 & designing OGSI - Perfringo Grid Solutions http://perfringo.com
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 http://perfringo.com
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 http://perfringo.com
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 http://perfringo.com
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 http://perfringo.com
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 http://perfringo.com
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 http://perfringo.com
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 3tier architecture with
reliable file transfer (RFT)
• Uncertain long term
protocol stability
Grid service
Client API
RFT
jftp
client API
GridFTP
server
data
GridFTP
server
Porting to GT3 & designing OGSI - Perfringo Grid Solutions http://perfringo.com
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 http://perfringo.com
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 http://perfringo.com
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 http://perfringo.com
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 http://perfringo.com
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 http://perfringo.com
Experience of NEReSC CGM team:
workflow service
Courtesy of Saras Parastatidis and Paul Watson,
http://www.neresc.ac.uk/projects/CGM/web
Web Service
Grid Service
Create new instance
Consumer
Factory
Locator
Submit workflow
Workflow
Enactment Service
Consumer
Workflow ID
Submit workflow
Workflow
Enactment Grid
Service Instance
Consumer
ok
Workflow status (+ workflow ID)
Workflow
Enactment Service
Consumer
Completed
Workflow Status
Workflow
Enactment Grid
Service Instance
Consumer
Completed
Porting to GT3 & designing OGSI - Perfringo Grid Solutions http://perfringo.com
Experience of NEReSC CGM team:
notification service
Courtesy of Saras Parastatidis and Paul Watson,
http://www.neresc.ac.uk/projects/CGM/web
• 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
Porting to GT3 & designing OGSI - Perfringo Grid Solutions http://perfringo.com
Experience of NEReSC CGM team:
conclusions
Courtesy of Saras Parastatidis and Paul Watson,
http://www.neresc.ac.uk/projects/CGM/web
• 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
(http://www.neresc.ac.uk/ws-gaf)
Porting to GT3 & designing OGSI - Perfringo Grid Solutions http://perfringo.com
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 http://perfringo.com
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 http://perfringo.com
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: http://www.ogsadai.org.uk/
Porting to GT3 & designing OGSI - Perfringo Grid Solutions http://perfringo.com
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 http://perfringo.com
Experience with working systems
•
•
•
•
NeesGRID
Quertermaster
NEReSC Core Grid Middleware
other
Porting to GT3 & designing OGSI - Perfringo Grid Solutions http://perfringo.com
Stay tuned
• Quarterly GGF: gridforum.org
• Globus World, January 20-23 2004, San
Francisco
• GridToday, May 2004 to focus on commercial
applications
• Perfringo events
 Training events, tutorials, newsletter:
subscribe@perfringo.com
• Questions and comments?
pawel@perfringo.com
Porting to GT3 & designing OGSI - Perfringo Grid Solutions http://perfringo.com
Your feedback
• Slides available for download
 http://perfringo.com/events
• Please send feedback to
pawel@perfringo.com
 What did you learn?
 What did you expect?
 What could be added / improved?
Porting to GT3 & designing OGSI - Perfringo Grid Solutions http://perfringo.com
Thanks!
•
•
•
•
Laura Pearlman (NeesGRID, Globus)
Bill Spencer (NeesGRID, UIUC)
Savas Parastatidis (NEReSC CGM)
Lisa Childers, Jarek Gawor, Gregor von
Laszewski (Globus team)
Porting to GT3 & designing OGSI - Perfringo Grid Solutions http://perfringo.com
Download