Title: Transparent Grid Enablement
1Transparent Grid Enablement Using Transparent
Shaping and GRID superscalar
S. Masoud Sadjadi, Juan Carlos Martinez, Luis
Atencio, and Tatiana Soldo Autonomic and Grid
Computing Research Lab School of Computing and
Information Sciences, FIU Contact
sadjadi_at_cs.fiu.edu
Rosa M. Badia and Jorge Ejarque Grid Computing
and Clusters Barcelona Supercomputing Center and
UPC, Spain Contact rosa.m.badia_at_bsc.es
III. Background Information GRID Superscalar
I. Description and Motivation
II. Background Information Transparent Shaping
- What is the project trying to do?
- Explore techniques and tools to simplify the
process of grid enablement - Why is it important?
- Building, debugging, deploying, and maintaining
Grid enabled application is difficult (even when
a sequential version of the application exists) - What is the expected output?
- Methodologies and tools that enable easy
implementation of Grid applications. - Case Study
- Matrix Multiplication
- Hurricane Mitigation Applications
- GRID superscalar is a new programming paradigm
for GRID enabling applications. With GRID
superscalar a sequential application, composed of
tasks of certain granularity, is automatically
converted into a parallel application where the
tasks are executed in different servers of a
computational GRID.
- Transparent Shaping is a programming model that
allows software systems to change their behavior
transparently at runtime, i.e. without any manual
modifications to the original code. - TRAP/J (Transparent Reflective Aspect Programming
in Java) is the realization of this model in
Java, which provides dynamic adaptation to
existing Java application.
GRID superscalar environment provides the user
with a set of different tools a code generation
tool, that decomposes the code in two, the master
and the worker a deployment center, that checks
the Grid and deploys the application the runtime
library, that makes all the decisions and a
graphical monitor, that enables to follow the
execution of the application.
Flow of Control in the Original Application
Flow of Control in the Adapt-Ready Application
At runtime, when a task is called from the main
program, GRID superscalar adds a node in a
directed graph. Also, adds edges to denote data
dependencies with other tasks. Those tasks that
do not have dependencies between them can be
executed concurrently.
Invoke Original Task
Invoke Original Task
TRAP/J
Adapt?
Yes
No
Execute the Original Task
GRID superscalar performs all actions related to
the Grid sends data to the Grid resources,
decides which resource to use for each task,
submits tasks for execution, exploits data
locality to reduce transfers, ...
Execute the Original Task
Execute the New Task
IV. Activity Diagram Integration Approach with
Matrix Multiplication Case Study
1
Original Application
Adapt-Ready Application
B
C
TRAP/J
A
X
Merge
Grid-Enabled Adapt-Ready Application
Configuration
A scientist will develop the business logic of
the application using a sequential code (e.g., a
matrix multiplication algorithm).
Scientist
GRID superscalar
Grid-Enabled Application
A computer expert will identify sections of the
code that can be parallelized.
2
OR
- C10C10A10B00
- C10C10A11B10
- C10C10A12B20
- C11C11A10B01
- C11C11A11B11
- C11C11A12B21
- C12C12A10B02
- C12C12A11B12
- C12C12A12B22
C20C20A20B00 C20C20A21B10 C20C20A22B20 C2
1C21A20B01 C21C21A21B11 C21C21A22B21 C22
C22A20B02 C22C22A21B12 C22C22A22B22
- C00C00A00B00
- C00C00A01B10
- C00C00A02B20
- C01C01A00B00
- C01C01A01B10
- C01C01A02B20
- C02C02A00B00
- C02C02A01B10
- C02C02A02B20
System Administrator
Coarser-Grain Parallelism Adaptive code for
maximum parallelism of 4.
A
B
C
A00
A01
A02
B00
B01
B02
C00
C01
C02
A system administrator will configure the
application to use the appropriate parallel
algorithm based on the availability of resources
(e.g., number of available nodes).
Maximum parallelism is 9
X
Computer Expert
A10
A11
A12
B10
B11
B12
C10
C11
C12
A20
A21
A22
B20
B21
B22
C20
C21
C22
Finer-Grain Parallelism Adaptive code for
maximum parallelism of 9.
A computer expert will develop adaptive code with
different parallelism granularity.
Development Time
Compile Time
Runtime
startup Time
Time