Title: GRID%20applications%20control%20based%20on%20synchronizers
1GRID applications control based on synchronizers
D. Kopanski, J. Borkowski, M. Tudruj
x Polish-Japanese Institute of Information
Technology, 86 Koszykowa Str., 02-008 Warsaw,
Poland xInstitute of Computer Science, Polish
Academy of Sciences 21 Ordona Str. 01-237 Warsaw,
Poland janb, damian, tudruj_at_pjwstk.edu.pl
2Contents
- Introduction
- The principles of application control
- Implementation issues
- Conclusions
3Introduction
- Monitoring global states
- Strongly Consistent Global States (SCGS)
- Observed Global States (OGS)
- Activation and cancellation
- P-GRADE system
- PS-GRADE system
4Monitoring global states
Processes can communicate with a number of
Synchronizers. Synchronizers learn state
information from processes and send back control
information.
S a
synchronizers
processes
state information
P1
q Arrows represent reliable,
asynchronous communication channels
P3
P2
P4
S b
5Monitoring consistent global states
- There is no global clock, no shared memory
- Synchronizer must be able to order properly
incoming events to build Strongly Consistent
Global States (SCGS) - SCGS is a combination of process local states,
one state from each process, such that the local
states are pairwise concurrent. E.g. lts1,t1gt is a
SCGS, lts1,t2gt is not.
s1
e1
e2
P1
t1
t2
P2
f1
f2
m1
m2
sync
6Strongly Consistent Global States
- Events must have timestamps to be able to order
messages correctly. Logical vector clocks or real
time intervals based on roughly synchronized
local clocks can be used - If process local clocks are synchronized with a
known accuracy, then real time interval
timestamps can be used to identify SCGS
7Observed states
e1
e2
P1
P2
f1
f2
sync
- f1
e1 f1
e1 f2
e2 f2
- We dont need a clock synchronization
- We dont need QoS (Quality Of Service)
- The reaction is fired immediately
8Computation activation and cancellation caused by
predicate evaluation
9GRADE system
- A complete graphical programming environment for
developing message passing applications designed
at Parallel and Distributed Systems Laboratory
of the SZTAKI Institute of Hungarian Academy of
Sciences - Application level specifies processes
- and their interconnections
- Process level defines control flow diagram of a
process - Text level is used to enter sequential C code
into elements of a flow diagram
10GRADE extension state information acquisition
local state info transfer channels
signal transfer channels
standard message passing channels
11GRADE extension - synchronizer
12GRADE extension synchronizerCondition Window
13GRADE extension synchronizercontrol flow window
reception of state
variables
condition
send signal
14GRADE extension Process - control flow window
Start signal
-
sensitive
region "watching
-
signal"
Start signal
-
insensitive region
Resume
interrupted
computations
Send state
Cancel
computations
End signal
-
insensitive region
End signal
-
sensitive
region "endwatching
-
signal"
15GRADE extension synchronizer hierarchy
16The principles of application control
- Control of GRID application by
- Data control flow (similarly to P-GRADE Workflow
implemented by SZTAKI) , based on input and
output files for cluster application - GRID Synchronizer
- Collects information (vector of state) about
application state - Detects SCGS or OGS
- Computes conditions
- Sends signals to the application
17A GRID-level synchronizer inserted into a
workflow graph
A1
1
1
1
A2
A3
4
4
5
5
1
1
3
A4
A5
3
4
1
A6
18A GRID-level synchronizer and an application
(example)
Application A2
GRID Synchronizer
Application A3
Application A5
Application A4
19Implementation concepts
- We use the Globus Toolkit v3 (GT3) to implement
web service infrastructure - User Defined Service layer will be used for
signal and message delivery Grade-Globus-Web-Ser
vice (GGWS) and for the application maintenance
service on the GRID Grade-Globus-Maintenance-Serv
ice (GGMS) - Inter-grid communication
- with SOAP protocol
- We also use
- GridFTP services for input,
- output files and program
- code transfer
- GRAM serviced for local
- job managment
GT3 core architecture and PS-GRADE service
20Grade-Globus-Maintenance-Service
- GGMS will be the central maintenance service of
GRID-Grade application. - Main function of GGMS
- Checks the start conditions for applications and
if they are true, initiates execution of
application - Makes the GRID execution map with information
about current running applications and sends it
to the GGSW (if GGSW need it) - Makes the global (model) clock available to all
GGSW - GGCSW use
- GridFTP services for input, output files and
program code transfer - GRAM services for job managment
- SOAP for communication with GGSW
21GGMS model of execution
- Start execute GGCSW on selected GLOBUS Server
- LOAD Data All executions, input files ,
execution Map to the selected GLOBUS Server with
the use of GridFTP - Starts the Global Synchronizers
- Main LOOP - Until all applications complete
- Checks all starting conditions
- If any fulfilled then
- Run the ready Grid applications
- Updates the GRID execution map
- Sends the execution map to the GGSW (if GGSW need
it) - Checks the state of all running application
- If any application completes then
- Gets the output files
- Updates the GRID execution map
- Sends the execution map to the GGSW
- Maintains the time synchronisation of all
running GGSW - Stops the Global Synchronizers
- Waits for output data request
22GGMS an application starting pattern
- Makes a new instance of GGSW on selected GLOBUS
server - Sends the execution file and input file to the
GLOBUS server throught GridFtp service - Executes program by the use of the relevant GRAM
service in interactive mode or in the batch mode - Creates then communication interface between the
GGSW and the started application
23Globus Resource Allocation Manager GRAM
service
- GRAM simplifies the use of remote systems by
providing a single standard interface for
requesting and using remote system resources for
the execution of jobs. - The most common use of GRAM is remote job
submission and control. - Grid Service Factory Pattern
- Create Service
- Service instance is created
- The request is validated
- Users job request is ready to be started
- Start operation
- Users job request is started
- Service instance monitors job request
- Updates request SDE (Service Data Element)
- Job control
- Ensures client received a handle to the job
before resources have been consumed
GGMS and GRAM
24The clock synchronisation
- If an application uses the Strongly Consistent
Global States we have to implement a clock
synchronisation mechanism - We will use the GGMSs clock as a reference clock
- After clock synchronisation call, all the GGWSs
measure the difference between their local
clocks and the referenced clock - When the local synchronizer sends a state message
to the global synchronizer, GGWS does the
timestamp correction by adding to the timestamp
the value of time difference versus the reference
clock.
25Grade-Globus-Web-Service (GGWS)
- Main functions of GGSW
- Implements communication between local
synchronizers and the global synchronizer (with
SOAP Messaging) - Corrects timestamps attached to state
messages(in the SCGS mode) - Maintains the GRID CENTER time-synchronisation
process - Monitors running application
26Inter GRID Communication concepts
27Conclusions
The paper has presented how the
synchronization-based parallel application
control can be extended and ported onto the GRID
level. With the use of the proposed method we can
create an advanced control of many applications
running in the GRID environment.
Interapplication coordination between programs,
which are executed on different GRID sites, is
supported. We have employed the Globus Toolkit
as the required middleware implementation
platform. Full implementation of the described
extension of the PS-GRADE system will be done in
co-operation with P-GRADE authors i.e. SZTAKI
Institute of Hungarian Academy of Sciences