Presentation is loading. Please wait.

Presentation is loading. Please wait.

Hinde Bouziane – CBHPC’08 – 16-17 October 2008 Marco ALDINUCCI and Marco DANELUTTO UNIPI - University of Pisa (Italy) Hinde Lilia BOUZIANE and Christian.

Similar presentations


Presentation on theme: "Hinde Bouziane – CBHPC’08 – 16-17 October 2008 Marco ALDINUCCI and Marco DANELUTTO UNIPI - University of Pisa (Italy) Hinde Lilia BOUZIANE and Christian."— Presentation transcript:

1 Hinde Bouziane – CBHPC’08 – 16-17 October 2008 Marco ALDINUCCI and Marco DANELUTTO UNIPI - University of Pisa (Italy) Hinde Lilia BOUZIANE and Christian PEREZ Projet-team GRAAL - INRIA Rhône-Alpes - ENS Lyon (France) Towards Software Component Assembly Language Enhanced with Workflows and Skeletons

2 Hinde Bouziane – CBHPC’08 – 16-17 October 20082 Outline of the talk  Introduction  Software component models  Existing models  STCM: a spatio-temporal component model  Skeletons based models for parallel programming  STKM: proposal of skeletons introduction in STCM  Objectives  Overview  Example of usage  Conclusions and future works

3 Hinde Bouziane – CBHPC’08 – 16-17 October 20083 Context and problematic Mechanics Thermal Optics Dynamics LAN WAN SAN programmin g simply  Code reuse  Assembly programming independently of resources  Portability  Efficient computation

4 Hinde Bouziane – CBHPC’08 – 16-17 October 20084 Software component (1/2) Software component PROVIDED PORTS REQUIRED PORTS (client interfaces) (server interfaces)  Black box  Ports  Method invocation (CCM, CCA, Fractal/GCM, SCA)  Events (CCM)  Streams (Grid.it/ ASSIST)  Message passing (Darwin)  Document passing (SCA)  …

5 Hinde Bouziane – CBHPC’08 – 16-17 October 20085 Assembly  Component instances and connections  Architecture Description Language (ADL)  CCM, GCM, …  Dynamic (API)  CCA, CCM, GCM, … ADL instanceComp: a: A, b: B, c: C, d: D; connections: a.pA1 b.pB; c.pC d.pD2; d.pD1 a.pA2; a b c pA1 pB pC pD2 d pD1 pA2

6 Hinde Bouziane – CBHPC’08 – 16-17 October 20086 Limitations of existing component models  Assembly models close to the computing resources  Behavior hidden in the assembly - “Over-consumption” of resources  Simple spatial relations - Resource dependencies - Complex design - Parallel paradigms (e.g. master-worker) ABC network step1 step2 step3 A BC t A B C A B C active running Workflow models Algorithmic skeleton models

7 Hinde Bouziane – CBHPC’08 – 16-17 October 20087 Outline of the talk  Introduction  Software component models  Existing models  STCM: a spatio-temporal component model  Skeletons based models for parallel programming  STKM: proposal of skeletons introduction in STCM  Objectives  Overview  Example of usage  Conclusions and future works

8 Hinde Bouziane – CBHPC’08 – 16-17 October 20088 Overview of STCM [EuroPar’08]  Combination of component and workflow models  Spatial and temporal dimensions at the same level of assemblies  Component-task  Spatial ports (classical ones)  Input and output ports (temporal)  Task  Assembly model  Adaptation of a workflow language end start C B A

9 Hinde Bouziane – CBHPC’08 – 16-17 October 20089 Assembly model component Example { … parallel parCtrl { dataIn Double inPar <= a.outA; component B { dataIn Double inB; clientPort Compute pB; … }; component C { dataIn Double inC; serverPort Compute pC; … }; instance B b; instance C c; connect b.inB to parCtrl.inPar; connect c.inC to parCtrl.inPar; connect b.pB to c.pC; // instructions section : exectask (a); section : exectask (b); } // end parallel … } C B A D pC pB outA inBinC inPar

10 Hinde Bouziane – CBHPC’08 – 16-17 October 200810 Algorithmic skeletons [M. Cole 1989]  Predefined patterns for parallel programming  Stream parallel  Pipeline, farm, …  Data parallel  Map (independent forAll), reduce, …  Structured programming  Simplicity  Correctness of programs  Hide the complexity of parallelism management  Creation of processes, data distribution,..  Behavioral skeletons add advanced management for adaptation

11 Hinde Bouziane – CBHPC’08 – 16-17 October 200811 Algorithmic skeletons sequential int afloat b pipe p int float p1 p2 p3 pipe pp farm f pp1pp3 w w emittercollector float int compute in (int a) out (float b) $ sequential code $ end pipe p in (int a) out (float b) p1 in (a) out (float b1) p2 in (b1) out (int b2) p3 in (b2) out (b) end pipe farm f in (int af) out(int bf) w in (af) out(bf) end farm pipe pp in (float a) out(float b) pp1 in (b) out (int b1) f in (b1) out (b2) pp3 in (b2) out (b) end pipe

12 Hinde Bouziane – CBHPC’08 – 16-17 October 200812 Outline of the talk  Introduction  Software component models  Existing models  STCM: a spatio-temporal component model  Skeletons based models for parallel programming  STKM: proposal of skeletons introduction in STCM  Objectives  Overview  Example of usage  Conclusions and future works

13 Hinde Bouziane – CBHPC’08 – 16-17 October 200813 Objectives  Simplifying programming parallel parts of an application  Offering a similar level of abstraction as in skeleton models  Portability on different execution resources  Code reuse  Efficiency

14 Hinde Bouziane – CBHPC’08 – 16-17 October 200814 Overview of STKM  Assembly model  STCM assembly + skeleton constructs  An STKM skeleton is a composite with a predefined behavior  Parameterization  Wrapping components  Usage in spatial and temporal dimension  Port cardinality principle (temporal dimension) step3 step1 pipe b p1p2p3 a Parallel step2

15 Hinde Bouziane – CBHPC’08 – 16-17 October 200815 Component wrapping and port cardinality principle  A skeleton element is a wrapped component inSkeloutSkel long float long stream ports op (in float, out long) inSkel outSkellong float long  Port cardinality p1 p2 p3 pipe A B 1 n 1 n forAll … setOut... wait n data before task execution

16 Hinde Bouziane – CBHPC’08 – 16-17 October 200816 Assembly model ww farm step2 step1 step3 component Example{ … Step1 and Step3 components… farm Step2{ inputSkel double inS2; outputSkel string outS2; worker sequential w { inputSkel double inW; outputSkel string outW; component Worker{ streamIn double inW; streamOut string outW; }; connect outW to Worker.outW; connect Worker.inW to inW; }; instances: Step1 step1; Step2 step2; Step3 step3; … Connexions step1 step2 step3 … sequence ApplMain{ exectask(step1); exectask(step2); exectask(step3); };

17 Hinde Bouziane – CBHPC’08 – 16-17 October 200817 Check STKM usage and benefits Split FingerPrintMatcher (Functional replication skeleton) GateAdmin MGR Gate w w Split MGR C E w w

18 Hinde Bouziane – CBHPC’08 – 16-17 October 200818 Outline of the talk  Introduction  Software component models  Existing models  STCM: a spatio-temporal component model  Skeletons based models for parallel programming  STKM: proposal of skeletons introduction in STCM  Objectives  Overview  Example of usage  Conclusions and future works

19 Hinde Bouziane – CBHPC’08 – 16-17 October 200819 Conclusions  A combination of component models, workflows and skeletons  Previous works  STCM: merging component models with workflows (Related work)  Skeleton models  Contribution: STKM  Merging STCM with skeleton models  All advantages in a same model

20 Hinde Bouziane – CBHPC’08 – 16-17 October 200820 Perspectives  Already done  Manual implementation prototype on top of SCA  Preliminary experiments results  (TR-0171 CoreGrid)  Future works  Framework implementation for automatic generation of assemblies at execution  Generic skeletons constructs for easy extension with new skeletons  Applications implementation

21 Hinde Bouziane – CBHPC’08 – 16-17 October 200821 Questions ?

22 Hinde Bouziane – CBHPC’08 – 16-17 October 200822

23 Hinde Bouziane – CBHPC’08 – 16-17 October 200823 STKM usage and benefits: example 2  Task graph managed by an engine “à la workflow”  Mapping to behavioral skeletons forAll s3 s1 s2 s5 s4 s6 s0 At execution s0 s6 s1s2s3 s5 s4 loop fRep OR


Download ppt "Hinde Bouziane – CBHPC’08 – 16-17 October 2008 Marco ALDINUCCI and Marco DANELUTTO UNIPI - University of Pisa (Italy) Hinde Lilia BOUZIANE and Christian."

Similar presentations


Ads by Google