Holding slide prior to starting show 5 December 2003 WeSC

advertisement
Holding slide prior to starting
show
5 December 2003
WeSC
1
JISGA: A Jini-Based Service-Oriented Grid
Architecture and Its Workflow Language
Yan Huang
5 December 2003
WeSC
2
Presentation Outline
•
•
•
•
Introduction to JISGA
SWFL and its support for parallelism
Implementation issues
Current and future work
5 December 2003
WeSC
3
JISGA
• Is a Jini-Based Service-Oriented
Architecture.
• Extends a Jini system into an OGSAcompatible system for Grid computing
by introducing Web service techniques
into the Jini system.
• Services are presented as both Jini and
Web services.
5 December 2003
WeSC
4
JISGA
Service Registry
Lookup Service
Proxy
discovery
publish
discovery
publish
binding
Proxy
WSDL
HTTP
5 December 2003
Service Provider
invoke
WeSC
Proxy
Service Requester
5
JISGA
• Service Workflow Language (SWFL) is the
XML-based description language for
composite applications and services.
• The workflow engine serves as the execution
environment for the SWFL-described Grid
applications .
• By using multiple distributed Job Processors
and JavaSpaces as shared memory, JISGA
supports parallel processing of applications.
5 December 2003
WeSC
6
Service Work Flow Language (SWFL)
• Is XML based for describing interacting
Web services.
• Extends Web Service Flow Language
(WSFL) by
– supporting the use of all the conditional
and loop control constructs of the Java
language in the composition of Web
services.
– Allows more general data mapping.
5 December 2003
WeSC
7
Why SWFL?
• Both Web Services and OGSA services
present implementation-free interfaces in a
platform-free, XML-based language such as
WSDL.
• Presenting service composite applications in
traditional programming languages limits the
applications to a range of specific services
and a specific time.
5 December 2003
WeSC
8
Why SWFL?
• Representing applications in an XMLdocument allows applications be run in
any environment where a set of
services are available.
• Having a graph-based approach, SWFL
gives the flexibility to dynamically
partition and schedule services at run
time in a distributed environment.
5 December 2003
WeSC
9
An Example of Service-based
Application
A
<?xml …>
<SWFLFlowModel>
…
<ControlLink name=“AtoB” source=“A” target=“B”/>
<ControlLink name=“AtoC” source=“A” target=“C”/>
<ControlLink name=“BtoD” source=“B” target=“D”/>
<ControlLink name=“DtoE” source=“D” target=“E”/>
<DataLink name=“AtoB” source=“A” target=“B”>..</DataLink>
<DataLink name=“AtoC” source=“A” target=“C”>..</DataLink>
<DataLink name=“BtoD” source=“B” target=“D”>..</DataLink>
<DataLink name=“CtoD” source=“C” target=“D”>..</DataLink>
<DataLink name=“DtoE” source=“D” target=“E”>..</DataLink>
…
<SWFLFlowModel>
5 December 2003
WeSC
C
B
D
E
10
The Architecture of JISGA
Service
Service
JobProcessor
Processor
Job
Service
Service
Service Service
Service
Service
Service
Service
Service
Service
Service
Service
JavaSpaces
JavaSpaces
Workflow
Workflow
Engine
Engine
SWFL
SWFL
Document
Document
5 December 2003
WeSC
11
What the WorkFlow Engine Does
• Converts a SWFL-described job into an
executable Java code and executes it.
SWFL2Java
<?xml…>
<SWFLFlowModel
……………
………….
……….
….
SWFL2Graph Intermediate
Graph2Java
FlowModel
object
Java Executable
Code
SWFL description
5 December 2003
WeSC
To be continued12
What the WorkFlow Engine Does
• Allows both non-blocking and blocking
job submission
Result
(JobID)
WorkFlow
Engine
JavaSpaces
JobID
Result
5 December 2003
WeSC
To be continued13
What the WorkFlow Engine Does
• Allows both sequential and parallel job
processing.
A
B
C
A
D
TPSOG Algorithm
E
B
C
D
E
TPSOG: Task Processing Sequential Order Generating
5 December 2003
WeSC
14
Parallelism Support in SWFL
• A label is specified for each parallel process.
– A particular job can be assigned to a particular
parallel process to support MIMD parallelism.
– A message-passing path can be specified
• Allow specification of shared and non-shared
variables to support shared-memory
applications
– Accessing a shared variable requires mutual
exclusion
5 December 2003
WeSC
15
Parallelism Support in SWFL: Data
Mapping
• The data mapping specification in SWFL
can specify how a data structure is to be
distributed across the processes.
– In order to adequately support SPMD
(Single-Program Multiple-Data) parallelism.
– The mapping is implemented in two steps
• a single-to-multiple data decomposition mapping
• Mapping sub-data to processes
5 December 2003
WeSC
16
Parallelism Supports in SWFL
--Data Mapping
Data
Sub-Data
Processes
1
2
1
n
n-1
n-1
2
n
Mapping a data structure to parallel processes.
5 December 2003
WeSC
17
Parallelism Support in SWFL:
Data Mapping
• A “multiple-to-single” data mapping
mechanism in SWFL to support data merging.
It can be
– data reduction in which all the data sub-parts are
combined using a binary operation such as
addition, multiplication, max, min, logical and, etc.
– combining a data sub-parts into a larger data
structure by allocating each element in the subparts to a specific location in the target data
structure (gather operation).
5 December 2003
WeSC
18
Parallelism Support in SWFL:
Data Mapping
Processes
Sub-Data
1
1
n-1
2
2
n-1
n
n
Data
Data merging
5 December 2003
WeSC
19
JISGA Parallel Job Processing
I
A
B
C
Job Partition
Algorithm
write
D
A
write
write
JavaSpaces
E
take
II
take
B
take
C
F
III
IV
E
5 December 2003
WeSC
20
To be continued
JISGA Job Parallel Processing
SWFL description
Workflow Engine
1
Job Processor
2
JPP
Job processor
Job Queue
Job Partitioning Process
JavaSpaces
3
4
Job Processor
JPP
5
Sub-job Processing Process
6
5 December 2003
SPP
Sub-Job Queue
WeSC
SPP
21
Implementation Issues
• Point-to-point message passing:
Process C
Process A
take
JavaSpaces
Process D
Process B
5 December 2003
Write
WeSC
22
Implementation Issues
• Broadcasting :
Process C
Process A
notify
Read/Register
notify
Read/Register
notify
Process D
Read/Register
JavaSpaces
Process B
5 December 2003
Write
WeSC
23
Implementation Issues
• Shared Data: read and update
operations allowed.
– Update is combined take-and-write
operations.
• Non-shared Data: only a certain
process can access the data.
5 December 2003
WeSC
24
Implementation Issues
• Data decomposition and merging
P1
P2
Data Decomposition
JavaSpaces
Data Merging
S1
S2
S3
S4
5 December 2003
S5
WeSC
25
A JISGA Virtual Machine
Grid
Services
JobProcessor
JobProcessor
(CPU)
(CPU)
JobProcessor
JobProcessor
(CPU)
(CPU)
JobProcessor
JobProcessor
(CPU)
(CPU)
JobProcessor
JobProcessor
(CPU)
(CPU)
JavaSpaces
JavaSpaces
(SharedMemory)
Memory)
(Shared
UDDI
UDDI
Registry
Registry
Lookup
Lookup
Service
Service
5 December 2003
Workflow
Workflow
Engine
Engine
Workflow
Workflow
Engine
Engine
Workflow
Workflow
Engine
Engine
WeSC
JavaSpaces
JavaSpaces
Housekeeper
Housekeeper
26
Current and Future Research
• Update JISGA with Jini2.0
– Jini2.0 provides new programming models and
infrastructure necessary to support and manage
security in distributed applications.
• Monitoring System
– Job Tracking Service
– Performance Analysis and more intelligent
Scheduling Service.
• Final release.
5 December 2003
WeSC
27
Current and Future Research
• GSiB (Grid-Service-In-a-Box)
– Development of a Visual Service Composition
Environment to build service-composite
application/service in an easy-to-use graphical
environment.
– Automatic Service Deployment and Updating.
– Integrate Jini services, CORBA services and OGSI
services by using workflow engine
– Support other job description languages such as
BPEL4WS and WSCI.
5 December 2003
WeSC
28
5 December 2003
WeSC
29
Download