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

Slides:



Advertisements
Similar presentations
Elton Mathias and Jean Michael Legait 1 Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis,
Advertisements

A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University
Architecture Representation
A Dataflow Programming Language and Its Compiler for Streaming Systems
Software Frame Simulator (SFS) Technion CS Computer Communications Lab (236340) in cooperation with ECI telecom Uri Ferri & Ynon Cohen January 2007.
GridRPC Sources / Credits: IRISA/IFSIC IRISA/INRIA Thierry Priol et. al papers.
ProActive Task Manager Component for SEGL Parameter Sweeping Natalia Currle-Linde and Wasseim Alzouabi High Performance Computing Center Stuttgart (HLRS),
Nadia Ranaldo - Eugenio Zimeo Department of Engineering University of Sannio – Benevento – Italy 2008 ProActive and GCM User Group Orchestrating.
Variability Oriented Programming – A programming abstraction for adaptive service orientation Prof. Umesh Bellur Dept. of Computer Science & Engg, IIT.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Session 2: task 3.2 GCM, Kracow, June l Current status of GCM Denis Caromel (10 mn each talk) l Wrapping CCA Components as GCM Components Maciej.
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.
Design Patterns CS is not simply about programming
Paradigms for Process Interaction ECEN5053 Software Engineering of Distributed Systems University of Colorado, Boulder.
The new The new MONARC Simulation Framework Iosif Legrand  California Institute of Technology.
© Copyright Eliyahu Brutman Programming Techniques Course.
Course Instructor: Aisha Azeem
Introduction to Parallel Programming MapReduce Except where otherwise noted all portions of this work are Copyright (c) 2007 Google and are licensed under.
Chapter 7: Architecture Design Omar Meqdadi SE 273 Lecture 7 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu.
DNA REASSEMBLY Using Javaspace Sung-Ho Maeung Laura Neureuter.
1 CCA Meeting, Januray 25th 2007 Supporting the Master-Worker Paradigm in the Common Component Architecture Hinde Lilia Bouziane, Christian Pérez, Thierry.
1 06/00 Questions 10/6/2015 QoS in DOS ECOOP 2000John Zinky BBN Technologies ECOOP 2000 Workshop on Quality of Service in Distributed Object Systems
The Grid Component Model: an Overview “Proposal for a Grid Component Model” DPM02 “Basic Features of the Grid Component Model (assessed)” -- DPM04 CoreGrid.
4/2/03I-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Software Architecture and Design Readings: Ambler, Chap. 7 (Sections to start.
The Grid Component Model and its Implementation in ProActive CoreGrid Network of Excellence, Institute on Programming Models D.PM02 “Proposal for a Grid.
Cracow Grid Workshop, October 27 – 29, 2003 Institute of Computer Science AGH Design of Distributed Grid Workflow Composition System Marian Bubak, Tomasz.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
1 Software Design Overview Reference: Software Engineering, by Ian Sommerville, Ch. 12 & 13.
Master Worker Paradigm Support in Software Component Models Hinde Bouziane, Christian Pérez PARIS Research Team INRIA/IRISA Rennes ANR CIGC LEGO (ANR-05-CICG-11)
Programming Parallel and Distributed Systems for Large Scale Numerical Simulation Application Christian Perez INRIA researcher IRISA Rennes, France.
Paper written by Flavio Oquendo Presented by Ernesto Medina.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Common Set of Tools for Assimilation of Data COSTA Data Assimilation Summer School, Sibiu, 6 th August 2009 COSTA An Introduction Nils van Velzen
1 Gaspard Methodology The Y Model approach Models and UML profiles Arnaud CUCCURU, phd student ModEasy meeting, Lille, February 2005.
CSC480 Software Engineering Lecture 11 September 30, 2002.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
Software Design Patterns (1) Introduction. patterns do … & do not … Patterns do... provide common vocabulary provide “shorthand” for effectively communicating.
Chapter 8 Object Design Reuse and Patterns. Object Design Object design is the process of adding details to the requirements analysis and making implementation.
Grid programming with components: an advanced COMPonent platform for an effective invisible grid © 2006 GridCOMP Grids Programming with components. An.
Unit 2 Architectural Styles and Case Studies | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 1.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci {bernardi, gentili, University.
Electrical and Computer Engineering University of Cyprus LAB 1: VHDL.
SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING | SCHOOL OF COMPUTER SCIENCE | GEORGIA INSTITUTE OF TECHNOLOGY MANIFOLD Manifold Execution Model and System.
CSC480 Software Engineering Lecture 10 September 25, 2002.
ProActive components and legacy code Matthieu MOREL.
Gedae, Inc. Gedae: Auto Coding to a Virtual Machine Authors: William I. Lundgren, Kerry B. Barnes, James W. Steed HPEC 2004.
Design Reuse Earlier we have covered the re-usable Architectural Styles as design patterns for High-Level Design. At mid-level and low-level, design patterns.
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
STCM: A spatio-temporal Component Model Hinde Lilia Bouziane Christian Perez PARIS Project-Team INRIA Rennes/IRISA Toulouse, France, December 7 th 2007.
1 ProActive GCM – CCA Interoperability Maciej Malawski, Ludovic Henrio, Matthieu Morel, Francoise Baude, Denis Caromel, Marian Bubak Institute of Computer.
Advanced Component Models ULCM & HLCM Julien Bigot, Hinde Bouziane, Christian Perez COOP Project Lyon, 9-10 mars 2010.
Lecture VIII: Software Architecture
CS223: Software Engineering
Toward a Distributed and Parallel High Performance Computing Environment Johan Carlsson and Nanbor Wang Tech-X Corporation Boulder,
© 2009 Artisan Software Tools. All rights reserved. Testing Solutions with UML/SysML Andrew Stuart, Matthew Hause.
Department of Computer Science, Johns Hopkins University Lecture 7 Finding Concurrency EN /420 Instructor: Randal Burns 26 February 2014.
Parallel Programming Models EECC 756 David D. McGann 18 May, 1999.
Security analysis of COM with Alloy
Object-Oriented Analysis and Design
Introduction to Design Patterns
Unified Modeling Language
Parallel Programming By J. H. Wang May 2, 2017.
Software Design and Architecture
Part 3 Design What does design mean in different fields?
Designing Software for Ease of Extension and Contraction
Prof. Leonardo Mostarda University of Camerino
The Grid Component Model and its Implementation in ProActive
Presentation transcript:

Hinde Bouziane – CBHPC’08 – 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

Hinde Bouziane – CBHPC’08 – October 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

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

Hinde Bouziane – CBHPC’08 – October 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)  …

Hinde Bouziane – CBHPC’08 – October 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

Hinde Bouziane – CBHPC’08 – October 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

Hinde Bouziane – CBHPC’08 – October 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

Hinde Bouziane – CBHPC’08 – October 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

Hinde Bouziane – CBHPC’08 – October 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

Hinde Bouziane – CBHPC’08 – October 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

Hinde Bouziane – CBHPC’08 – October 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

Hinde Bouziane – CBHPC’08 – October 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

Hinde Bouziane – CBHPC’08 – October 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

Hinde Bouziane – CBHPC’08 – October 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

Hinde Bouziane – CBHPC’08 – October 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

Hinde Bouziane – CBHPC’08 – October 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); };

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

Hinde Bouziane – CBHPC’08 – October 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

Hinde Bouziane – CBHPC’08 – October 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

Hinde Bouziane – CBHPC’08 – October 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

Hinde Bouziane – CBHPC’08 – October Questions ?

Hinde Bouziane – CBHPC’08 – October

Hinde Bouziane – CBHPC’08 – October 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