Presentation is loading. Please wait.

Presentation is loading. Please wait.

Components for high performance grid programming in the GRID.it project 1 Workshop on Component Models and Systems for Grid Applications - St.Malo 26 june.

Similar presentations


Presentation on theme: "Components for high performance grid programming in the GRID.it project 1 Workshop on Component Models and Systems for Grid Applications - St.Malo 26 june."— Presentation transcript:

1 Components for high performance grid programming in the GRID.it project 1 Workshop on Component Models and Systems for Grid Applications - St.Malo 26 june 2004 Components for high performance grid programming in the GRID.IT project M. Aldinucci M. Coppola D. Laforenza D. Puppin ISTI CNR Pisa S. Campa M. Danelutto L. Scarponi M. Vanneschi C. Zoccolo Dept. Computer Science University of Pisa

2 Components for high performance grid programming in the GRID.it project 2 Workshop on Component Models and Systems for Grid Applications - St.Malo 26 june 2004 The goal Programming environment supporting the development of Programming environment supporting the development of Efficient Efficient Scalable Scalable Fault tolerant Fault tolerant Adaptive Adaptive grid aware applications grid aware applications

3 Components for high performance grid programming in the GRID.it project 3 Workshop on Component Models and Systems for Grid Applications - St.Malo 26 june 2004 Starting from: ASSIST Structured parallel programming environment Structured parallel programming environment Sequential (C, C++, F77) or parallel modules Sequential (C, C++, F77) or parallel modules Data flow streams (nondeterministic control) Data flow streams (nondeterministic control) Generic graph compositions Generic graph compositions Parallel module: parmod Parallel module: parmod User defined: input/output section, virtual processors User defined: input/output section, virtual processors Specialized to implement most classical and non classical parallelism exploitation patterns Specialized to implement most classical and non classical parallelism exploitation patterns

4 Components for high performance grid programming in the GRID.it project 4 Workshop on Component Models and Systems for Grid Applications - St.Malo 26 june 2004 The ASSIST track … ASSIST 1.0 ASSIST 1.0 Targets homogeneous WS clusters (POSIX TCP/IP) Targets homogeneous WS clusters (POSIX TCP/IP) ASSIST 1.2 ASSIST 1.2 Heterogeneous clusters (Linux Pentium / MacOSX PPC) and GRID (Globus 2.4) Heterogeneous clusters (Linux Pentium / MacOSX PPC) and GRID (Globus 2.4) ASSIST 2.0 (under development) ASSIST 2.0 (under development) GRID, adaptivity, components GRID, adaptivity, components … and most of this talk! … and most of this talk!

5 Components for high performance grid programming in the GRID.it project 5 Workshop on Component Models and Systems for Grid Applications - St.Malo 26 june 2004 The approach: layered architecture Applications Applications Complex, multidisciplinary, parallel Complex, multidisciplinary, parallel High level programming tools High level programming tools High performance programming environment High performance programming environment Structured, compositional, adaptive Structured, compositional, adaptive Performance contracts Performance contracts Grid abstract machine Grid abstract machine Functionalities from resource, collective and connectivity Functionalities from resource, collective and connectivity Middleware independent API Middleware independent API GRID middleware Abstract machine Programming environment Applications

6 Components for high performance grid programming in the GRID.it project 6 Workshop on Component Models and Systems for Grid Applications - St.Malo 26 june 2004 Programming model Component based Component based Inherits from existing ones (CCA, CCM, Proactive, …) Inherits from existing ones (CCA, CCM, Proactive, …) High performance High performance Builds on efficient mechanisms Builds on efficient mechanisms Parallel Parallel High level programming mechanisms and tools High level programming mechanisms and tools Interoperability Interoperability Standard component frameworks Standard component frameworks Code reuse Code reuse Sequential code in components Sequential code in components

7 Components for high performance grid programming in the GRID.it project 7 Workshop on Component Models and Systems for Grid Applications - St.Malo 26 june 2004 Computational model: parallelism Structured parallelism exploitation Structured parallelism exploitation Programmers  quality of parallelism + contracts Programmers  quality of parallelism + contracts Environment (compiler + run time)  mechanisms, quantity, heuristics Environment (compiler + run time)  mechanisms, quantity, heuristics

8 Components for high performance grid programming in the GRID.it project 8 Workshop on Component Models and Systems for Grid Applications - St.Malo 26 june 2004 Computational model: interaction Compositionality of components Compositionality of components Classic mechanisms: Classic mechanisms: RPC/RMI RPC/RMI Events Events New mechanisms: New mechanisms: Data flow streams Data flow streams Non deterministic control Non deterministic control Component reacts to incoming data Component reacts to incoming data

9 Components for high performance grid programming in the GRID.it project 9 Workshop on Component Models and Systems for Grid Applications - St.Malo 26 june 2004 Computational model: adaptivity Performance contracts Performance contracts Specified by the programmer Specified by the programmer Performance requirements (bandwidth, parallelism degree, …) Performance requirements (bandwidth, parallelism degree, …) Restructuring strategies Restructuring strategies Specified by user Specified by user Program rewriting (different parallel patterns, parallelism degree, …) Program rewriting (different parallel patterns, parallelism degree, …)

10 Components for high performance grid programming in the GRID.it project 10 Workshop on Component Models and Systems for Grid Applications - St.Malo 26 june 2004 Comp. Model: adaptivity (2) Allocation constrains Allocation constrains Mapping computations to nodes Mapping computations to nodes Data access constrains Data access constrains Adaptivity in the environment: Adaptivity in the environment: Monitoring of activities Monitoring of activities Triggering of corrective actions Triggering of corrective actions Notifying the user Notifying the user

11 Components for high performance grid programming in the GRID.it project 11 Workshop on Component Models and Systems for Grid Applications - St.Malo 26 june 2004 Component model Existing code reuse Parallel structure Non functional interface (contracts, adaptivity) Standard interface (uses/provides, events) New mechanisms (data flow streams) Existing code reuse Parallel structure Non functional interface (contracts, adaptivity) Standard interface (uses/provides, events) New mechanisms (data flow streams) Seq. comp. Par. comp. legacy comp.

12 Components for high performance grid programming in the GRID.it project 12 Workshop on Component Models and Systems for Grid Applications - St.Malo 26 june 2004 Application manager Grid Abstract Machine (GAM) High performance components ASSIST programs Standard middleware ASSIST components GAM Application manager (AM) Abstraction of basic services Standard middleware

13 Components for high performance grid programming in the GRID.it project 13 Workshop on Component Models and Systems for Grid Applications - St.Malo 26 june 2004 Application manager (2) AM C0C0 C1 C2C4 C3 C5 MAM 1 MAM 2 MAM 3 MAM 4 MAM 5 CAM 0 AM C0C0 C1 C2C4 C3 C5 MAM 1 MAM 2 MAM 3 MAM 4 MAM 5 CAM 0 CAM 01 CAM 02

14 Components for high performance grid programming in the GRID.it project 14 Workshop on Component Models and Systems for Grid Applications - St.Malo 26 june 2004 Module Application Manager Configuration control of single ASSIST parmod Configuration control of single ASSIST parmod Exploits Performance model repository Exploits Performance model repository Classical models Classical models History History Compiler or programmer responsibility Compiler or programmer responsibility Adapts the parmod behaviour to satisfy module performance contract Adapts the parmod behaviour to satisfy module performance contract

15 Components for high performance grid programming in the GRID.it project 15 Workshop on Component Models and Systems for Grid Applications - St.Malo 26 june 2004 Performance Model Repository Classical models Classical models Parallelism degree = Compute time / Communication time Parallelism degree = Compute time / Communication time Dynamic models Dynamic models Increase parallelism degree step-by-step until results start coming back Increase parallelism degree step-by-step until results start coming back User provided User provided Proper formalism Proper formalism

16 Components for high performance grid programming in the GRID.it project 16 Workshop on Component Models and Systems for Grid Applications - St.Malo 26 june 2004 Component Application Manager Global control strategies Global control strategies Inputs from MAMs Inputs from MAMs Possibily overcomes MAMs proposals Possibily overcomes MAMs proposals E.g. 2 stage pipeline E.g. 2 stage pipeline First stage achieves performance contract ++ (very good resource recruited) First stage achieves performance contract ++ (very good resource recruited) CAM requires new contract to the second stage CAM requires new contract to the second stage

17 Components for high performance grid programming in the GRID.it project 17 Workshop on Component Models and Systems for Grid Applications - St.Malo 26 june 2004 Reconfiguration strategies C1 virtualizes grid data resource in two streams C1 virtualizes grid data resource in two streams C2 is sequential by default strategy tells  farm C2 is sequential by default strategy tells  farm C3 data parallel strategy tells parallelism degree C3 data parallel strategy tells parallelism degree C4 is sequential by default strategy tells if(Cond x ) data parallel else farm C4 is sequential by default strategy tells if(Cond x ) data parallel else farm C5 non det mapping of streams to data set C5 non det mapping of streams to data set C2 bottleneck! C2 bottleneck! C2 new farm with proper parallelism degree C2 new farm with proper parallelism degree C4 C5 restructured as a consequence C4 C5 restructured as a consequence

18 Components for high performance grid programming in the GRID.it project 18 Workshop on Component Models and Systems for Grid Applications - St.Malo 26 june 2004 Experiments (1) ASSIST

19 Components for high performance grid programming in the GRID.it project 19 Workshop on Component Models and Systems for Grid Applications - St.Malo 26 june 2004 Experiments (2) ASSIST

20 Components for high performance grid programming in the GRID.it project 20 Workshop on Component Models and Systems for Grid Applications - St.Malo 26 june 2004 Experiments (3) ASSIST

21 Components for high performance grid programming in the GRID.it project 21 Workshop on Component Models and Systems for Grid Applications - St.Malo 26 june 2004 Experiments (4) ASSIST

22 Components for high performance grid programming in the GRID.it project 22 Workshop on Component Models and Systems for Grid Applications - St.Malo 26 june 2004 Experiments (5) Lithium muskel

23 Components for high performance grid programming in the GRID.it project 23 Workshop on Component Models and Systems for Grid Applications - St.Malo 26 june 2004 Experiments (6) Lithium muskel

24 Components for high performance grid programming in the GRID.it project 24 Workshop on Component Models and Systems for Grid Applications - St.Malo 26 june 2004 Experiments (7) Lithium muskel

25 Components for high performance grid programming in the GRID.it project 25 Workshop on Component Models and Systems for Grid Applications - St.Malo 26 june 2004 Conclusions On going work On going work In the framework of GRID.it project In the framework of GRID.it project Involving major research institutions (grid, high performance, parallelism) in Italy Involving major research institutions (grid, high performance, parallelism) in Italy Main contribution Main contribution Non functional interfaces + application managers Non functional interfaces + application managers Currently being experimented/implemented on/in ASSIST Currently being experimented/implemented on/in ASSIST

26 Components for high performance grid programming in the GRID.it project 26 Workshop on Component Models and Systems for Grid Applications - St.Malo 26 june 2004 Any questions ? First.Family@ di.unipi.it isti.cnr.it


Download ppt "Components for high performance grid programming in the GRID.it project 1 Workshop on Component Models and Systems for Grid Applications - St.Malo 26 june."

Similar presentations


Ads by Google