Transparent Grid Enablement Using Transparent Shaping and GRID
Transparent 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@cs. fiu. edu I. Description and Motivation § What is the project trying to do? – Explore techniques and tools to simplify the process of grid enablement Rosa M. Badia and Jorge Ejarque Grid Computing and Clusters Barcelona Supercomputing Center and UPC, Spain Contact: rosa. m. badia@bsc. es II. Background Information: Transparent Shaping III. Background Information: GRID Superscalar § 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. § 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 GRID superscalar environment provides the computational GRID. user with a set of different tools: a 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. § Why is it important? – Building, debugging, deploying, and maintaining Grid enabled application is difficult (even when a sequential version of the application exists) Flow of Control in the Original Application § What is the expected output? – Methodologies and tools that enable easy implementation of Grid applications. 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 TRAP/J No Adapt? 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. Yes Execute the Original Task § Case Study Execute the Original Task – Matrix Multiplication – Hurricane Mitigation Applications 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 New Task IV. Activity Diagram: Integration Approach with Matrix Multiplication Case Study 1 Original Application B A C X Scientist 2 TRAP/J = Adapt-Ready Application A scientist will develop the business logic of the application using a sequential code (e. g. , a matrix multiplication algorithm). A computer expert will identify sections of the code that can be parallelized. A A 00 A 01 A 10 A 11 B X B 00 B 01 B 10 B 11 C = Merge GRID superscalar Computer Expert A 00 A 01 A 02 A 10 A 11 A 12 A 20 A 21 A 22 B X C B 00 B 01 B 02 B 10 B 11 B 12 B 20 B 21 B 22 = Configuration OR C 00 C 01 C 10 C 11 System Administrator C 00 C 01 C 02 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). C 10 C 11 C 12 C 20 C 21 C 22 Finer-Grain Parallelism: Adaptive code for maximum parallelism of 9. C 00=C 00+A 00*B 00 C 10=C 10+A 10*B 00 C 20=C 20+A 20*B 00 C 00=C 00+A 01*B 10 C 10=C 10+A 11*B 10 C 20=C 20+A 21*B 10 C 00=C 00+A 02*B 20 C 10=C 10+A 12*B 20 C 20=C 20+A 22*B 20 C 01=C 01+A 00*B 00 C 11=C 11+A 10*B 01 C 21=C 21+A 20*B 01 C 01=C 01+A 01*B 10 C 11=C 11+A 11*B 11 C 21=C 21+A 21*B 11 C 01=C 01+A 02*B 20 C 11=C 11+A 12*B 21 C 21=C 21+A 22*B 21 C 02=C 02+A 00*B 00 C 12=C 12+A 10*B 02 C 22=C 22+A 20*B 02 C 02=C 02+A 01*B 10 C 12=C 12+A 11*B 12 C 22=C 22+A 21*B 12 C 02=C 02+A 02*B 20 C 12=C 12+A 12*B 22 C 22=C 22+A 22*B 22 A computer expert will develop adaptive code with different parallelism granularity. Development Time Maximum parallelism is 4 Grid-Enabled Application Coarser-Grain Parallelism: Adaptive code for maximum parallelism of 4. A Grid-Enabled Adapt-Ready Application C 00=C 00+A 00*B 00 C 00=C 00+A 01*B 10 C 01=C 01+A 00*B 01 C 01=C 01+A 01*B 11 C 10=C 10+A 10*B 00 C 10=C 10+A 11*B 10 C 11=C 11+A 10*B 01 C 11=C 11+A 11*B 11 startup Time Compile Time Runtime Maximum parallelism is 9
- Slides: 1