Title: Michael Sobolewski
1Grid and Service-Oriented ComputingThe
Intergrid PerspectivePart I
- Michael Sobolewski
- Texas Tech University
- sobol_at_cs.ttu.com
2A river with many springs
- Broad perspective on computing
- M.S. embedded systems (automata theory, pattern
recognition) - PAS neural networks/hybrid systems (pattern
recognition) - Ph.D/PAS image processing/pattern recognition
systems (logic systems) - PAS - Smalltalk virtual machine (OO systems)
- PAS/UIUC knowledge-based systems (percept
calculus, AI) - WVU info sharing systems (multimedia/GUIs)
- GE CRD web-based systems, distributed systems,
P2P systems, security - TTU FIPER, SORCER, grid and mobile computing
3Courses taught
- network security (Fall 2002)
- computer networks (Spring 2003)
- advanced network programming (Spring 2003)
- Java programming (Summer II 2003)
- peer-to-peer computing (Fall 2003)
- computer science seminar (Fall 2003)
- mobile computing (Spring 2004)
4Presentation Agenda Part I
- Technology Integration into Society
- From the Internet to Grid Computing
- Megaprogramming
- Evolution of Computing
- Waves of Network Computing
- Why Java?
- FIPER/SORCER
- Why not Web Services?
- Grid Services Globus
- The Service-Driven Network Jini
- Context/Method/Exertion Paradigm
- SORCER Functional Architecture
- SORCER Runtime Environment
5What is a Grid?
- A grid is a large scale geographically
distributed hardware and software infrastructure
composed of heterogeneous networked resources
owned and shared by multiple administrative
organizations which are coordinated to provide
transparent, dependable, pervasive and consistent
computing support to a wide range of
applications. These applications can perform any
of the following distributed computing, high
throughput computing, on-demand computing,
data-intensive computing, collaborative computing
or multimedia computing. - Foster and Kesselman
6Technology Integration into Society
Mass Adoption
Public Recognition
Early Adopters
Lab
7Technology integration into Society
Post Technology Phase
Mass Adoption
Technology Development Phase
Public Recognition
Early Adopters
Lab
8Technology Evolution
Electric Power
Mass Adoption
Public Recognition
Early Adopters
Lab
9Technology Evolution
. . . .
- Network Computing
- Internet
Client/Server PC's/LAN's
Mainframes "The Glass House"
10Technology Evolution
On Demand and Grid Computing Mass Adoption
- Network Computing
- The Internet
Client/Server PC's/LAN's
Mainframes "The Glass House"
11Indicators of the New Phase
- Technology Advancements
-
- Open Standards
- Resource Management
12Technology Advancements
13TOP500 - Performance
14Operations and Execution Time
15MareNostrum
4536 processors, 40 TFlops
16Open Standards
SOAP
Java
Linux
WSDL
Globus
Jini
XML
Rio
17Resource Management
Autonomic Computing
Self-protecting
Self-optimizing
Self-healing
Self-configuring
18From the Internet .
applications
computing power
data
files
storage
19. to Grid Computing
20Grid Types
- Compute grid distributed compute resources
consisting of desktop, server and High
Performance Computing systems - Data grid distributed storage devices
(tape/disk/... devices), along with the necessary
software - Access grid distributed audio-visual equipment
(cameras, microphones, speakers ...) set up to
provide a virtual collective presentation room
21The European DataGrid
22USA TeraGrid
23UK Research Grid
24Lessons Learned
- One size does not fit all
- Applications that need to be run on a grid
determines which kind of grid needs to be built - Prototyping is mandatory
- The basic grid software may take a relatively
short time to install. But designing and
configuring a grid takes a much longer
25Scale Beyond
with Deep Computing Capacity on Demand
26Clusters, Federations, Exertions
Exertions SO Programs
Self-organized service providers allocated to
best resource
Dynamic QoS provisioning grid
Compute resource management grid
Compute resource
27Megaprogramming Domain
28FIPER
Evolution of Smart CAD Systems
- IMM Technology
- (KBEPCSMMLME)
- IMM links analysis to 3-D geometry permitting
Multi-Disciplinary System Level Design - Web-Based Environment
- Accommodates leading CAD platforms (CATIA, UG,
ProE) - Scale up and practical application of MDO and
Robust Design - Cost Modeling Producibility
4th Generation CAD/CAM/CAE
3rd Generation CAD/CAM
2nd Generation CAD/CAM
1st Generation CAD
2003
NIST funding is available to develop the next
generation system
29FIPER Paradigm
- Clients Request Services from the Network
- - DOE Services
- - Analysis Services
- - Optimization Services
- Clients may not care where or who supplies the
services
Materials
Mesh
Geometry
BC
Ansys Solve
FIPER Service An entity that publishes (by
attributes) functional capabilities on the
network. (Mesh, Thermal Analysis, Print, etc..)
The Network is a Virtual Computer that Exposes
Services to Clients AWAT
30FIPER Partners
Four-Year, 21.5 Million Program
FIPER Team
Federated Intelligent Product EnviRonment (FIPER)
Intelligent Master Model
Demonstrations
Product Control Structure
Linked Model Environment
Master Model
GE Aircraft Engines Jet Engine
CAD System Interoperability
BFGoodrich Nacelle
Parker/Hannifin Fuel Nozzle
Benefits
- Reduced time-to-market
- Reduced design cycle time
- Six sigma quality
- Optimal products and processes
- Design for product life
The FIPER system has been exploited emerging
web-based technology to allow real-time,
interactive, on-line engineering analysis
31What is SORCER?
- Service-ORiented EnviRonment (SORCER)
- CS TTU Lab
- Next Generation FIPER
- Service Centric
- Network Centric
- Mobile Code Centric
- CME Service-Oriented Programming Philosophy
- Federated Grid Computing
32Evolution of Computing
NO
Service-to-Service
Peer-to-Peer
Web-based computing
Client-server silos
33Middleware in Distributed Systems
34Many Kinds of Networks
Many Types of Services
35Waves of Network Computing
36Devices vs. Profiles
37End-to-End Computing
38The Java Programming Env Unifies
The Java virtual machine Provides a
homogeneous platform Allows object mobility
Insures safety and control The real payoff is
the network Not porting applications, moving
objects
39Unity is Not Enough
We need to confront Deutschs Eight Fallacies of
the Network
- 1. The network is reliable
- Latency is zero
- Bandwidth is infinite
- The network is secure
- Topology doesn't change
- 6. There is one administrator
- 7. Transport cost is zero
- 8. The network is homogeneous
40Mobile Objects Confront Change
Moving objects raises the abstraction level
Client only needs to know interface Which has
to be known, anyway Communication is an
implementation detail Objects can react to
change Hide connection management
41From Wired to Wireless
42SORCER Vision
Federated S2S environment to ...
Build new services Convert legacy apps to
dynamic SORCER services (J2EE technology)
Assemble SORCER services together (RMI, Jini, Rio
technologies) Create modern clients accessing
services
43High-Level Reference Archtecture
Web-Centric, Service-Centric and Network Centric
Architecture
44FIPER Top-Level Package Diagram
FIPER Data Access
Service Manager
45FIPER Services Package Diagram
DFSS/MDO
CAD/KBE
Engineering Analysis
Pre/Post Processing
System Level / PD Level
FLOWPATH, VISTA
Mechanical Analysis
MDO
ANSYS, NASTRAN
Meshing ANSYS, ICEMCFD,
CAD UG, BezBlade,BezCav,
Meshblock, SIESTA, PATRAN
SGGM-Gen
LIFE SIESTA,
ORTHOLCF
Optimization
Mapping
KBE
SIESTA
Thermal YFT, CALIDE,
PThermal, ANSYS
Approximation
RSM
Post
Processing
AERO ACC, APNASA,
DET SOLID, AS, MS, LLS,
TAOMA, Boundary Layer Code
ISOBLADE, Tool Verification
DFSS
Producibility
QPATS
Cost
COMPEAT
46Web Services
- A Web Service can be viewed as a
network-accessible function that can be invoked
via a well-defined remote interface - The interface is defined in WSDL
- Web services enable protocol-oriented (SOP )
architectures - Computational tasks are performed using a
loosely-coupled collection of services
47Web Services Architecture
48Web Services Architecture
49Web Services FUD
- Web Services give all the Interoperability you
need! - Truth Web Services are more than SOAP, WSDL,
UDDI! - What about Interoperability in Higher Level Web
Services Stack?
- Quality of service
- Security
- Transaction
- Reliability
- Choreography and Collaboration
- Management and monitoring
- Accounting and billing
- State and context management
- B2B framework
50Advantages of Web Services
- Platform-independent
- Language-independent - XML
- Most Web Services use HTTP for transmitting
messages scalability, firewalls - Loose coupling
51Disadvantages of WSs
- Overhead Transmitting all your data in XML is
obviously not as efficient as using a binary
formats - Lack of versatility Currently, WSs are not very
versatile, since they only allow for some very
basic forms of service invocation unlike CORBA,
RMI, Jini - Not Dynamic WSs have taken their existing web
server technology and used this static technology
to implement a dynamic model. e.g. One needs to
go statically to a UDDI and get URL to a WS - Web services assume the network is reliable, the
network topology does not change, the
administrator will perform the majority of
maintenance functions, and it is acceptable to
reboot the server. WSs are not well suited for
Autonomic Systems - Its like promising a beautiful, delicious, red
apple with a rotten core.
52Web Services Reality
- Web Services is like Teenage Sex.
- Everybody says they are doing it.
- But it is hard to find who is really doing it.
53Grid Protocol Architecture
54The Hour Glass Model
55Grid Service
- A Grid Service is a standard Web Service, plus
extensions - The extensions are defined in a community
standard called the Open Grid Services
Infrastructure (OGSI) - The OGSI (by GGF) defines a language and building
blocks for constructing grid services - It basically outlines what a Grid Service should
have (that Web Services don't)
56Open Grid Services Architecture
- OGSA is built on top of OGSI
- The goal of OGSA is to standardize practically
all the services one finds in a grid application
by specifying a set of standard interfaces for
these services - job management services
- resource management services
- security services
- workflow, etc.
57OGSA, OGSI, and GT3
58Grid Service Extensions
- Statefull and potentially transient services(a
factory/instance model) - Service Data
- Notifications
- Service Groups
- portType (WSDL interface) extension
- Lifecycle management
- GSH (location) and GSR (interface)
- Grid Service URI" is called the Grid Service
Handle - GSR is a WSDL file
59Grid Service Architecture
60Grid Properties
- Grid resources are distributed
- Grid resources are heterogeneous
- Grid resources are dynamic (QoS provisioning)
- Grid resources are dynamically associated to
services (request brokers direct, catalog,
space)
61Network is Not Enough
We need to confront Deutschs Eight Fallacies of
the Network
- 1. The network is reliable
- Latency is zero
- Bandwidth is infinite
- The network is secure
- Topology doesn't change
- 6. There is one administrator
- 7. Transport cost is zero
- 8. The network is homogeneous
62Shrinking Programs
- OLE - One Large Executable
- Shared Libraries
- Share classes
- Mobile Code
Program units becoming smaller and mobile
63Change Over Time
- Needs of the system evolve faster than the system
- Many decisions implemented in runtime
- Its less about knowing and more about not knowing
Access to a network with reconnection to the
network
64Interface vs. Implementation
- Interfaces are forever
- Implementation is for now, can change
- Mobile code allow multiple implementations
Requestors need to know a service interface
what not how
65Dynamic Capability Trend
66Service-Based Architecture
What does it mean? Exemplified by the Jini
model IDL and WSDL is not equivalent to
service Services eliminate interdependencies
SORCER exposes Jini technology as the glue
Protocols unimportant
67Jini Programming Model
- Distributed Events
- Leases
- Transactions
- Distributed security for mobile code
68Provider As a Network Object
Service Requestor
Service Provider
MobileProxyObject
69Three Neutralities
Object Registry
WCW?
P
WCH?
Client
P
Service Provider
P
WCH?
- Co-location Neutrality
- Protocol Neutrality
- Implementation Neutrality
70SORCERs Three Centricities
- Service Centricity
- everything is a service, each represented as an
object on the network identified by type - Network Centricity
- services discover each other
- the service is the network (N-1, 1-1, 1-N, S2S)
- Web/Mobile Centricity
- Interportals/Extraportals to services with thin
clients (applets/midlets/servlets)
Applying OO techniques to the network
71Architecture Qualities
- Accessibility Web/Mobile centricity
- Manageability - Federated services
- Scalability, Reliability - Network Centricity
- Adaptability - Mobile Code
Services appear as network objects identified by
type
72Provider Discovery and Join
73Requestor Discovery and Lookup
74Service-Oriented Computing
Network Objects
Object Registry/ Lookup Service
P0
Pn
HTML/XML
Client1
Clientm
P1
Pn
P0
P1
HTTP
HTTP App Server
Pn
Method calls
Service1
Servicen
P1
P1
XDBC
XDBC
XDBC
App1 DBMS
App2 DBMS
Appn DBMS
75Service-to-Service (S2S)
Service Providers
Object Registry/ Lookup Service
P0
Pn
P1
Pp
HTML/XML
Client1
Clientm
Pn
P0
P1
HTTP
service
HTTP App Server
Pn
Provider1
Providern
P1
P1
Pp
Pp
Providerp
Method calls service(Exertion)
DBMS
76SO Programming Terminology
- Service provider a remote process invoked by
service requestors - The grid a collection of service providers.
- A service provider runs a set of service-oriented
routines (SOR). SORs are exposed to service
requestors via a provider interface methods - Service method reference to SOR defined by (i,
s), where i is a name of provider interface,
s is a name of method selector - Service data argument to SOR, called a context
model, for short c
77Service-Oriented Programs
- Elementary exertiona pair of service method and
context model,i.e., (c, m), where m (i, s) - Elementary exertion is called a task grid
operation - Compound exertion is called a job aggregation
of tasks and other jobs grid federated program - Exertions are service-oriented programs
78Service-Oriented Programming
- Job (c, m) follows semantics of SO Programming
- c a collection of exertions along with control
strategy to execute the job - m a reference to a service provider that
coordinates execution of job exertions, called
Service Broker or Jobber - Job aggregations oi , , , ,
- boolean Exertion.isSatisfied()
- (e1, , en) sequential
- (e1, , en) parallel
- (e1, e2, e3) conditional
- (e1) - iteration
- (e1, , en) selector
- SO Program
- e1 (e2 , e3)
- e2 (e4 , e5)
- e5 (e6 , e7 , e8)
79CME Paradigm
3
e8
2
e3
e1
2
e7
2
e5
1
e2
1
e6
1
e4
80Contexts and Context Methods
DAS
MAT
GEOM
PP
CC
Disk
LC
Airfoil
MAT_RENE5
CC
STRESS
BC
Disk_PRT
Gas_Loads
Mat_Rene5.dat
Shank
UIF
Post_Stress.dat
Cyclic
Disk.prt
ExtGLoads.dat
TC
AS_PRT
AS_PRT
Airfoil.uif
Mesh
BCCyclic.dat
AS_Shank.prt
AS_Shank.dat
Stress_Tet
Mesh
Stress_Tet
Modal_Hex
ServiceMethod ScriptMethod XYZMethod
AS_Shank.dat
AS_Shank.dat
AS_Shank.dat
ContextMethod attributes service type, selector,
group, provider name, method type Method type
preprocess, process,
postprocess, append
TC Task Context, CC Control Context
81Workflow vs. Job
A4
A2
A1
A5
A7
A3
A6
J1
J2
J0
Workflow W0 (A1, A2), (A1,A3), (A2, A4),
(A2, A5), (A3, A6), (A4, A7), (A5, A7), (A6,
A7) Sequential relationship Unidirectional
aggregation Inherent control strategy Explicit
all connections
Task/Job J0 (A1, J1, J2, A7) J1 (A2, A3) J2
(A4, A5, A6) Is-part-of relationship Bidirectiona
l aggregation Control strategy separated
Workflow defined implicitly
82SO Runtime Execution Environment
e3
e3
e4
e2 (e4 , e5)
e6
e5 (e6 , e7 , e8)
e7
e7
e1 (e2 , e3)
Jobber finds the right service provider to whom
an exertion has to be dispatched as defined by
its (i, s), at runtime - late service binding
Service Requestor
83Question
- What does it mean to be a service?
84Answer
- A service is an act of requesting a
service(Exertion)operation from a service
provider.
If accepted then exertion.exert() else forward
to a relevant service provider
service(exertion)
Service Provider
Service Requestor
ServiceInterface1 ,
ServiceInterfacei
,
signaturek
signature1 ,
,
Impl1
operation1 ,
operationl
,
85Question
- Does SORCER use service brokers?
86Answer
- A SORCER service broker is called a jobber.
Jobber
service(task)
service(job)
Service Provider
Service Requestor
service(task)
87SORCER Organizational Arch
Web/Mobile Client PersonalJava J2ME
Object Space JavaSpaces
SORCER Portal J2EE, Servlets
SORCER Grid Jini, Rio
Requestor Service UI J2SE
JDBC
RDBMS
Client File Store
Project File Store J2EE, Servlets
Org. File Store PDM
Data Store
88SORCER Functional Arch
Web CMTJ Clients
Utilities and Templates
Intraportal
Extraportal
Service UIs
Requestor
Infrastructure Providers Jobber, Caller, Tasker,
Spacer, Cataloger, Persister, Notifier, Reporter,
Securer, Auditor
Static Bootstrapping
Persistence Layer
SORCER Core Exertion Dispatchers, Provider,
Proxy, Bean DataAccessor, ProviderAccessor
CMTJ Layer
File Store
J2EE, Jini, Rio, GApp
89SORCER Runtime Environment
Infrastructure Jobbers Taskers Callers Catalo
gers Persisters Notifiers Spacers Service
UIs Websters Cybernodes Provisioners Lincolns
Web Server/App Server
Domain specific Providers Requestors ServiceUI
s
SORCER
Rio
90Michael Sobolewski sobol_at_cs.ttu.com