STKM on SCA: A Unified Framework with Components, Workflows and - - PowerPoint PPT Presentation

stkm on sca a unified framework with components workflows
SMART_READER_LITE
LIVE PREVIEW

STKM on SCA: A Unified Framework with Components, Workflows and - - PowerPoint PPT Presentation

STKM on SCA: A Unified Framework with Components, Workflows and Algorithmic Skeletons Marco ALDINUCCI University of Torino (Italy) Marco DANELUTTO UNIPI - University of Pisa (Italy) Hinde Lilia BOUZIANE and Christian PEREZ Projet-team GRAAL


slide-1
SLIDE 1

Marco Danelutto – Euro-Par’09 – 25-28 August 2009

Marco ALDINUCCI

University of Torino (Italy)

Marco DANELUTTO

UNIPI - University of Pisa (Italy)

Hinde Lilia BOUZIANE and Christian PEREZ

Projet-team GRAAL - INRIA Rhône-Alpes

  • ENS Lyon (France)

STKM on SCA: A Unified Framework with Components, Workflows and Algorithmic Skeletons

slide-2
SLIDE 2

Marco Danelutto – Euro-Par’09 – 25-28 August 2009 2

Outline of the talk Introduction

Software component models

Existing models

STCM: a spatio-temporal component model Skeletons based models for parallel programming

STKM: a proposal of skeletons introduction in STCM An SCA based implementation of STKM

Overview of SCA A projection of STKM on SCA

Experiments Conclusions and future works

slide-3
SLIDE 3

Marco Danelutto – Euro-Par’09 – 25-28 August 2009 3 Programming simply and independently from execution resources Mechanics Thermal Optics Dynamics

Super-computers, clusters, grids, multi-cores

Component models

Context: complex applications (size, heterogeneity) Promising approach: component models

Examples: CCM (OMG), GCM (NoE CoreGrid), SCA

(OSOA), CCA (CCA Forum-USA), etc.

Context and problematic

slide-4
SLIDE 4

Marco Danelutto – Euro-Par’09 – 25-28 August 2009 4

Limitations of existing component models

Assembly models close to the computing resources

Behavior hidden in the assembly

  • “Over-consumption”
  • f resources

Simple spatial relations

  • Resource dependencies
  • Complex design
  • Parallel paradigms (e.g. master-worker)

A B C

network network

step1 step2 step3

A B C

t A B C A B C active running

Workflow models Algorithmic skeleton models

slide-5
SLIDE 5

Marco Danelutto – Euro-Par’09 – 25-28 August 2009 5

Outline of the talk Introduction

Software component models

Existing models

STCM: a spatio-temporal component model Skeletons based models for parallel programming

STKM: a proposal of skeletons introduction in STCM An SCA based implementation of STKM

Overview of SCA A projection of STKM on SCA

Experiments Conclusions and future works

slide-6
SLIDE 6

Marco Danelutto – Euro-Par’09 – 25-28 August 2009 6

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

step3 step1

b a

Parallel step2

c

  • ut/in
  • ut/in
slide-7
SLIDE 7

Marco Danelutto – Euro-Par’09 – 25-28 August 2009 7

Structured programming (simplicity/correctness of programs) Hide the complexity of parallelism setup and data distribution Behavioral skeletons (advanced management for adaptation)

Algorithmic skeletons [M. Cole 1989]

pipe p

int int float float

p1 p2 p3 pipe pp farm f pp1 pp3 w w

emitter collector

float float int

int int

int

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

slide-8
SLIDE 8

Marco Danelutto – Euro-Par’09 – 25-28 August 2009 8

Outline of the talk Introduction

Software component models

Existing models

STCM: a spatio-temporal component model Skeletons based models for parallel programming

STKM: a proposal of skeletons introduction in STCM An SCA based implementation of STKM

Overview of SCA A projection of STKM on SCA

Experiments Conclusions and future works

slide-9
SLIDE 9

Marco Danelutto – Euro-Par’09 – 25-28 August 2009 9

Objectives Bringing together suited properties

Code reuse facility (Component models) Capability of resources usage optimization (Workflows) Simplicity of programming parallel parts of an application

(Skeletons)

Portability on different execution resources

Code reuse Efficiency

slide-10
SLIDE 10

Marco Danelutto – Euro-Par’09 – 25-28 August 2009 10

Overview of STKM [CBHPC’08]

Assembly model (1/2)

Extension of STCM assembly

language

skeleton constructs

An STKM skeleton construct is

a composite with a predefined behavior

Parameters

Skeleton’s input/output data User’s components

Usage in spatial and temporal

dimension

step3 step1

pipe b

p1 p2 p3

a Parallel step2

slide-11
SLIDE 11

Marco Danelutto – Euro-Par’09 – 25-28 August 2009 11

w w farm step2

step1 step3

component Example{ … Step1 and Step3 components… farm Step2{ inputSkel double inS2;

  • utputSkel

string outS2; worker sequential w { inputSkel double inW;

  • utputSkel

string outW; component Worker{ streamIn double inW; streamOut string outW; }; connect

  • utW

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); };

Overview of STKM [CBHPC’08]

Assembly model (2/2)

slide-12
SLIDE 12

Marco Danelutto – Euro-Par’09 – 25-28 August 2009 12

Assembly transformation (1/2)

w

fctReplication(w, in, out)

w w

C E

w w

MGR

User view At the responsibility of the framework

component ForExample{ … T1 and T2 and T3 components… instances: T1 t1; T2 t2; T3 t3; … Connexions t1 <=> t2 <=> t3 … for (i=1 to 10) { exectask(t1); exectask(t2); exectask(t3); }; p1 p2 p3

pipe

distr collect

slide-13
SLIDE 13

Marco Danelutto – Euro-Par’09 – 25-28 August 2009 13

Assembly transformation (2/2)

t1

  • ut1/in2

in1

t2

  • ut2/in3

t3

  • ut3

sequence User view At the responsibility of the framework

t1

  • ut1/in2

in1

proxy12

  • ut2/in3

execution time

  • ut1 available?

(from engine) Task execution

proxy12

1 2

t2 proxy23

send out1

3 4

delete proxy12

  • ut1 available
slide-14
SLIDE 14

Marco Danelutto – Euro-Par’09 – 25-28 August 2009 14

Outline of the talk Introduction

Software component models

Existing models

STCM: a spatio-temporal component model Skeletons based models for parallel programming

STKM: a proposal of skeletons introduction in STCM An SCA based implementation of STKM

Overview of SCA A projection of STKM on SCA

Experiments Conclusions and future works

slide-15
SLIDE 15

Marco Danelutto – Euro-Par’09 – 25-28 August 2009 15

Service Component Architecture

Composite

A

Binding (WebSevice, SCA, JMS…)

B

Wire

Reference

Java/C++ interface WSDL …

Service Properties

Java/C++ interface WSDL …

  • OSOA collaboration 2007
  • A component model for services composition
  • Independent from any technology
  • Models specifications for
  • Assembly, client, component implementation, packaging and

deployment

slide-16
SLIDE 16

Marco Danelutto – Euro-Par’09 – 25-28 August 2009 16

Mapping STKM concepts on SCA

task

A_impl eLC

inA

  • utA

Life cycle controller

A TMC

set_inA(..) task() d=get_outA() set_double(..) set_double(..)

  • utA

inA Task management controller

  • A component

w

fctReplication(w, in, out)

w w

C

E

w w

MGR

  • A skeleton example

Without control part

slide-17
SLIDE 17

Marco Danelutto – Euro-Par’09 – 25-28 August 2009 17

Outline of the talk Introduction

Software component models

Existing models

STCM: a spatio-temporal component model Skeletons based models for parallel programming

STKM: a proposal of skeletons introduction in STCM An SCA based implementation of STKM

Overview of SCA A projection of STKM on SCA

Experiments Conclusions and future works

slide-18
SLIDE 18

Marco Danelutto – Euro-Par’09 – 25-28 August 2009 18

Evaluation

SCA implementation

Tuscany Java SCA version 1.2.1 Adaptation for dynamicity requirements

Components’ implementation

Java 1.5

Benchmark

Sequence, loop, pipeline and nested composition of pipeline and

functional replication behavioral skeleton

Parametric

Different types and sizes of tasks (time, data)

Resources

Cluster of 24 Intel Pentium 3, 800MHz, 1GB RAM, 100MBit/s Ethernet

Static decisions

Transformation and components’ placement

slide-19
SLIDE 19

Marco Danelutto – Euro-Par’09 – 25-28 August 2009 19

Metrics

Time in s Remote node launching (with ssh + common daemon library) 45.56 Programmed port connection (ad_hoc API) 3.20

  • (Dynamic) deployment overheads

Intra-node Inter-component Inter-node Intra-host Inter-node Inter-host Default SCA protocol 0.076 20.35 20.17 Web Service protocol 22.66 24.23 24.11

  • Round Trip Time (ms) depending on components’ placement
slide-20
SLIDE 20

Marco Danelutto – Euro-Par’09 – 25-28 August 2009 20

Adaptation capability: a sequence use case

t1

  • ut1/in2

in1 t2

  • ut2/in3

t3

  • ut4

t4

  • ut3/in4

t1

proxy12

t2

proxy23

*

t1 t2 t3 t4 1 node 2 nodes 1 node 2 nodes 1 node for all components

Efficienty (%) 27.03 20.13 28.38 28.50 Pipeline 51.14

pipeline

** *** *** **

θ θ

* *** **

20s 20s 20s 20s

slide-21
SLIDE 21

Marco Danelutto – Euro-Par’09 – 25-28 August 2009 21

Form recognition

t1

  • ut1/in2

In1 t2

  • ut2/in3

t3

  • ut4

t4

  • ut3/in4

for (i=1; i < inLoop.size, i++)

  • A for loop
  • Input/output: arrays of data (doubles) with a same size
  • Body = a sequence with stateless components

Efficienty (%) Array size: 10 Body as sequence 28.40 t1 to t3 created once 56.16 Pipelined body 76.96 Array size: 100 Body as sequence 28.40 t1 to t3 created once 90.68 Pipelined body 95.90

20s 20s 20s 20s

slide-22
SLIDE 22

Marco Danelutto – Euro-Par’09 – 25-28 August 2009 22

Behavioral skeleton management

Pipeline skeleton Criteria at transformation

Performance Resource usage

t1

  • ut1/in2

t2

  • ut2/in3

t3

  • ut4

t4

  • ut3/in4

10s 20s 5s 15s

pipeline

  • Exec. time

in s Pipeline 3105 Farm: 3 workers for t3 1182 Functional replication with dynamicity for t3 1403

slide-23
SLIDE 23

Marco Danelutto – Euro-Par’09 – 25-28 August 2009 23

Outline of the talk Introduction

Software component models

Existing models

STCM: a spatio-temporal component model Skeletons based models for parallel programming

STKM: a proposal of skeletons introduction in STCM An SCA based implementation of STKM

Overview of SCA A projection of STKM on SCA

Experiments Conclusions and future works

slide-24
SLIDE 24

Marco Danelutto – Euro-Par’09 – 25-28 August 2009 24

Conclusions A combination of component models, workflows

and skeletons

Previous works

STCM: merging component models with workflows Skeleton models STKM proposal (theoretical study)

Contributions

STKM prototype on SCA Performance evaluation

Simplicity of design and adaptation capabilities

slide-25
SLIDE 25

Marco Danelutto – Euro-Par’09 – 25-28 August 2009 25

Perspectives

Generic skeletons constructs for easy

extension with new skeletons

Ongoing work (PhD in the GRAAL project-team)

Framework implementation for automatic

generation of assemblies at execution

Model driving engineering Choice and decisions techniques

Applications implementation

Using more recent and advanced frameworks

slide-26
SLIDE 26

Marco Danelutto – Euro-Par’09 – 25-28 August 2009 26

Questions ?

slide-27
SLIDE 27

Marco Danelutto – Euro-Par’09 – 25-28 August 2009 27