EuroPar 2009 - 27th Aug 2009 -...
Transcript of EuroPar 2009 - 27th Aug 2009 -...
STKM ON SCA: A UNIFIED FRAMEWORK WITH
COMPONENTS, WORKFLOWS AND ALGORITHMIC SKELETONS
Marco AldinucciComputer Science Dept.University of Torino - Italy
Marco DaneluttoComputer Science Dept.University of Pisa - Italy
Hinde-Lilia BouzianeProject-team GRAAL
INRIA Rhône-Alpes - ENS Lyon - France
Christian PérezProject-team GRAAL
INRIA Rhône-Alpes - ENS Lyon - France
EuroPar 2009 - 27th Aug 2009 - Delft
STKM on SCA - EuroPar 2009
OUTLINE
• 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• A SCA-based implementation of STKM
• Overview of SCA
• A projection of STKM on SCA
• Experiments• Conclusions and future works
2
STKM on SCA - EuroPar 2009
CONTEXT & APPROACH
• Programming simply and independently from execution resources
• Complex applications• Size, Heterogeneity• Different applicative domains• Reuse• Reuse of legacy code• Explicit control of dependencies
• Approach: component models• Examples: CCM (OMG), GCM (NoE CoreGrid),
SCA (OSOA), CCA (CCA Forum-USA), etc.
3
STKM on SCA - EuroPar 2009
CONTEXT & APPROACH
• Programming simply and independently from execution resources
• Complex applications• Size, Heterogeneity• Different applicative domains• Reuse• Reuse of legacy code• Explicit control of dependencies
• Approach: component models• Examples: CCM (OMG), GCM (NoE CoreGrid),
SCA (OSOA), CCA (CCA Forum-USA), etc.
3
STKM on SCA - EuroPar 2009
CONTEXT & APPROACH
• Programming simply and independently from execution resources
• Complex applications• Size, Heterogeneity• Different applicative domains• Reuse• Reuse of legacy code• Explicit control of dependencies
• Approach: component models• Examples: CCM (OMG), GCM (NoE CoreGrid),
SCA (OSOA), CCA (CCA Forum-USA), etc.
4
STKM on SCA - EuroPar 2009
COMPONENTS & WORKFLOWS
•Low-level of abstraction• Behavior is hidden in the assembly • Component assembly model very close to computing resources
A B CA B C
time
ABC
Spatial dependency(resource dependency - complex design)
Temporal dependency(resource usage - resource overcomsumption)
Component Assembly Workflow5
STKM on SCA - EuroPar 2009
COMPONENTS & WORKFLOWS
•Low-level of abstraction• Behavior is hidden in the assembly • Component assembly model very close to computing resources
A B CA B C
time
ABC
Spatial dependency(resource dependency - complex design)
Temporal dependency(resource usage - resource overcomsumption)
Component Assembly Workflow5
STKM on SCA - EuroPar 2009
COMPONENTS & WORKFLOWS
•Low-level of abstraction• Behavior is hidden in the assembly • Component assembly model very close to computing resources
A B CA B C
time
ABC
Spatial dependency(resource dependency - complex design)
Temporal dependency(resource usage - resource overcomsumption)
Component Assembly Workflow
active
running
active
5
STKM on SCA - EuroPar 2009
BIG PICTURE
6
Componentsspatial dependenciesrequire co-allocation
Workflowstemporal dependencies
admit scheduling
STCMspatio-temporal
component model
STKM on SCA - EuroPar 2009
BIG PICTURE
6
Componentsspatial dependenciesrequire co-allocation
Workflowstemporal dependencies
admit scheduling
STCMspatio-temporal
component model
Behavioral Skeletonsparametric assembliescomponent factories
autonomic QoS management
STKMspatio-temporal
model with skeletons
STKM on SCA - EuroPar 2009
ServicesSCA/Tuscany
components as services
STKMSCA
implementation
BIG PICTURE
6
Componentsspatial dependenciesrequire co-allocation
Workflowstemporal dependencies
admit scheduling
STCMspatio-temporal
component model
Behavioral Skeletonsparametric assembliescomponent factories
autonomic QoS management
STKMspatio-temporal
model with skeletons
STKM on SCA - EuroPar 2009
OUTLINE
• 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• A SCA-based implementation of STKM
• Overview of SCA
• A projection of STKM on SCA
• Experiments• Conclusions and future works
7
STKM on SCA - EuroPar 2009
STCM (EUROPAR 08)
• Combination of component and workflow models• Spatial and temporal dimensions at
the same level of assembly
• Component-task• Spatial ports (classical ones)• Input and output ports (temporal)• Task
• Assembly model• Adaptation of a workflow language
temporal
spatial8
STCMcomp
Bouziane, H., Pérez, C., Priol, T.: A Software Component Model with Spatial and Temporal Compositions for Grid Infrastructures. In: Proc. of the 14th Intl. Euro-Par Conference. Vol. 5168., Las Palmas de Gran Canaria, Spain, Springer (August 2008) 698–708
STKM on SCA - EuroPar 2009
STCM (EUROPAR 08)
• Combination of component and workflow models• Spatial and temporal dimensions at
the same level of assembly
• Component-task• Spatial ports (classical ones)• Input and output ports (temporal)• Task
• Assembly model• Adaptation of a workflow language
temporal
spatial8
STCMcompSTCMcomp
Bouziane, H., Pérez, C., Priol, T.: A Software Component Model with Spatial and Temporal Compositions for Grid Infrastructures. In: Proc. of the 14th Intl. Euro-Par Conference. Vol. 5168., Las Palmas de Gran Canaria, Spain, Springer (August 2008) 698–708
STKM on SCA - EuroPar 2009
STCM (EUROPAR 08)
• Combination of component and workflow models• Spatial and temporal dimensions at
the same level of assembly
• Component-task• Spatial ports (classical ones)• Input and output ports (temporal)• Task
• Assembly model• Adaptation of a workflow language
step 3
A
D
B C
step 1
parallel step 2out/in
out/in
temporal
spatial8
STCMcompSTCMcomp
Bouziane, H., Pérez, C., Priol, T.: A Software Component Model with Spatial and Temporal Compositions for Grid Infrastructures. In: Proc. of the 14th Intl. Euro-Par Conference. Vol. 5168., Las Palmas de Gran Canaria, Spain, Springer (August 2008) 698–708
STKM on SCA - EuroPar 2009
ALGORITHMIC SKELETONS (COLE 1989)
• Structured programming (simplicity/correctness of programs)
• Hide the complexity of parallelism setup and data distribution
• Behavioral skeletons (advanced management for adaptation)
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 farmpipe 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
p1 p2 p3
intfloat floatpipe p
float
int
pp1 C pp3E
w
w
...
float
int int
int float
farm fpipe pp
9
STKM on SCA - EuroPar 2009
OUTLINE
• 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• A SCA-based implementation of STKM
• Overview of SCA
• A projection of STKM on SCA
• Experiments• Conclusions and future works
10
STKM on SCA - EuroPar 2009
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
11
STKM on SCA - EuroPar 2009
STKM (CBHPC 08) - ASSEMBLY MODEL 1/2
• Extension of STCM • Assembly language with skeletons
constructs (pipe and farm)
• An STKM skeleton construct • Is a composite with a predefined behavior• Parameters
• Skeleton’s input/output data• User’s components
• Can be exploited in spatial and temporal dimension
step 3
A B
step 1
parallel step 2
p1 p2 p3
pipe
M. Aldinucci, M. Danelutto, H. L. Bouziane, and C. Pérez. Towards software component assembly language enhanced with workflows and skeletons. In Proc. of the ACM SIGPLAN Component-Based High Performance Computing (CBHPC), pages 1–11, New York, NY, USA, Oct. 2008. ACM.
12
STKMcomp
STKM on SCA - EuroPar 2009
STKM (CBHPC 08) - ASSEMBLY MODEL 1/2
• Extension of STCM • Assembly language with skeletons
constructs (pipe and farm)
• An STKM skeleton construct • Is a composite with a predefined behavior• Parameters
• Skeleton’s input/output data• User’s components
• Can be exploited in spatial and temporal dimension
step 3
A B
step 1
parallel step 2
p1 p2 p3
pipe
M. Aldinucci, M. Danelutto, H. L. Bouziane, and C. Pérez. Towards software component assembly language enhanced with workflows and skeletons. In Proc. of the ACM SIGPLAN Component-Based High Performance Computing (CBHPC), pages 1–11, New York, NY, USA, Oct. 2008. ACM.
12
STKMcomp
STKM on SCA - EuroPar 2009
STKM (CBHPC 08) - ASSEMBLY MODEL 1/2
• Extension of STCM • Assembly language with skeletons
constructs (pipe and farm)
• An STKM skeleton construct • Is a composite with a predefined behavior• Parameters
• Skeleton’s input/output data• User’s components
• Can be exploited in spatial and temporal dimension
step 3
A B
step 1
parallel step 2
p1 p2 p3
pipe
step 3
step 1
p1
p2
p3
pipe
M. Aldinucci, M. Danelutto, H. L. Bouziane, and C. Pérez. Towards software component assembly language enhanced with workflows and skeletons. In Proc. of the ACM SIGPLAN Component-Based High Performance Computing (CBHPC), pages 1–11, New York, NY, USA, Oct. 2008. ACM.
12
STKM on SCA - EuroPar 2009
STKM (CBHPC 08) - ASSEMBLY MODEL 2/2
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; … Connections step1 <=> step2 <=> step3 …sequence ApplMain{ exectask(step1); exectask(step2); exectask(step3);};
step3
step1
wfarm
step2
wwww
13
STKM on SCA - EuroPar 2009
SKELETONS: USER’S VIEW & IMPLEMENTATION
S1
Sn
...
pipe
w
farmwwwW
S1
Sn
...
sequence
S1
pipe
... Sn
14
STKM on SCA - EuroPar 2009
SKELETONS: USER’S VIEW & IMPLEMENTATION
S1
Sn
...
pipe
w
farmwwwW
S1
Sn
...
sequence
S1
pipe
... Sn
14
S1
Sn
...
E C
W
W
MGR
...
S1 ... Sn
S1
proxy1
Sn
proxy
...
STKM on SCA - EuroPar 2009
internal components are created when
needed, then either destroyed or not
all internal components are
created at once
SKELETONS: USER’S VIEW & IMPLEMENTATION
S1
Sn
...
pipe
w
farmwwwW
S1
Sn
...
sequence
S1
pipe
... Sn
14
S1
Sn
...
E C
W
W
MGR
...
S1 ... Sn
S1
proxy1
Sn
proxy
...
STKM on SCA - EuroPar 2009
EXECUTION EXAMPLE: SEQUENCE
S1
proxy12
time
S1
proxy12
proxy23
proxy34
S2
t3
t4
proxy4x
15
S1
proxy1
Sn
proxy
...
STKM on SCA - EuroPar 2009
EXECUTION EXAMPLE: SEQUENCE
S1
proxy12 proxy12
proxy23
S2
time
S1
proxy12
proxy23
proxy34
S2
t3
t4
proxy4x
15
S1
proxy1
Sn
proxy
...
STKM on SCA - EuroPar 2009
EXECUTION EXAMPLE: SEQUENCE
S1
proxy12 proxy12
proxy23
S2
proxy23
proxy34
t3
time
S1
proxy12
proxy23
proxy34
S2
t3
t4
proxy4x
15
S1
proxy1
Sn
proxy
...
STKM on SCA - EuroPar 2009
EXECUTION EXAMPLE: SEQUENCE
S1
proxy12 proxy12
proxy23
S2
proxy23
proxy34
t3
proxy34
t4
proxy4x
time
S1
proxy12
proxy23
proxy34
S2
t3
t4
proxy4x
15
S1
proxy1
Sn
proxy
...
STKM on SCA - EuroPar 2009
OUTLINE
• 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• A SCA-based implementation of STKM
• Overview of SCA• A projection of STKM on SCA
• Experiments• Conclusions and future works
16
STKM on SCA - EuroPar 2009
SERVICE COMPONENT ARCHITECTURE
• Open SOA collaboration 2007
• A component model for services composition• Independent from any technology
• Models specifications for• Assembly, client, component implementation, packaging and deployment
SCAcomponent
References(use ports)
Services(provided ports)
Proprieties(Extra-functional ports)
Implementation(Java, C, C++, BPEL, etc.)
17
STKM on SCA - EuroPar 2009
SERVICE COMPONENT ARCHITECTURE
• Open SOA collaboration 2007
• A component model for services composition• Independent from any technology
• Models specifications for• Assembly, client, component implementation, packaging and deployment
18
STKM on SCA - EuroPar 2009
SERVICE COMPONENT ARCHITECTURE
• Open SOA collaboration 2007
• A component model for services composition• Independent from any technology
• Models specifications for• Assembly, client, component implementation, packaging and deployment
wiresService
Java, C++ interface, WSDL, ...
ReferenceJava, C++ interface,
WSDL, ...
Property
composite
18
STKM on SCA - EuroPar 2009
MAPPING STKM ONTO SCA
ATMCA eLC
19
TMC = Task Management ControllereLC = Extended Lifecycle ControllerMGR = Autonomic Manager
STKM on SCA - EuroPar 2009
MAPPING STKM ONTO SCA
ATMCA eLC
19
TMC = Task Management ControllereLC = Extended Lifecycle ControllerMGR = Autonomic Manager
A
TMCA eLC
STKM on SCA - EuroPar 2009
MAPPING STKM ONTO SCA
ATMCA eLC
19
TMC = Task Management ControllereLC = Extended Lifecycle ControllerMGR = Autonomic Manager
A
TMCA eLC
wfarm
W
wwwW
C
W
W
MGR
TMC
...E
eLC
STKM on SCA - EuroPar 2009
OUTLINE
• 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• A SCA-based implementation of STKM
• Overview of SCA
• A projection of STKM on SCA
• Experiments• Conclusions and future works
20
STKM on SCA - EuroPar 2009
EXPERIMENTAL EVALUATION
• Aim• Test the feasibility of the approach and measure basic overheads of SCA
implementation
• SCA implementation• Java 1.5 + Tuscany Java SCA version 1.2.1• Adaptation for dynamicity requirements
• Benchmark• Sequence, loop, pipeline and nested composition of pipeline and functional
replication behavioral skeleton• Different types and sizes of tasks (time, data)
• Resources• Cluster of 24 Intel Pentium 3, 800MHz, 1GB RAM, 100MBit/s Ethernet
21
STKM on SCA - EuroPar 2009
METRICS
Intra-nodeInter-component
Inter-nodeIntra-host
Inter-nodeinter-host
Default SCA protocol 0.076 20.35 20.17
Web Service protocol 22.66 24.23 24.11
Time(S)
Remote node launching(with ssh + common daemon library)
45.56
Programmed port connection (ad_hoc API) 3.20
Dynamic deployment overheads (S)
Round Trip Time depending on components’ placement (mS)
22
STKM on SCA - EuroPar 2009
ADAPTATION CAPABILITY: SEQUENCE
t1
(20 S)
t4
(20 S)
t3
(20 S)
t2
(20 S)
4 Nodes (4 PEs)requires
co-allocationsequence
8 Nodes(8 PEs)
4 Nodes(4 PEs)
2 Nodes(2 PEs)
1 Node(1 PE)
23
STKM on SCA - EuroPar 2009
ADAPTATION CAPABILITY: SEQUENCE
t1
(20 S)
t4
(20 S)
t3
(20 S)
t2
(20 S)
4 Nodes (4 PEs)requires
co-allocationsequence
t1
proxy12
proxy23
t2
proxy34
t3
t4
proxy4x
t1
proxy12
proxy23
t2
proxy34
t3
t4
proxy4x
t1
proxy12
proxy23
t2
proxy34
t3
t4
proxy4x
8 Nodes(8 PEs)
4 Nodes(4 PEs)
2 Nodes(2 PEs)
1 Node(1 PE)
t1
proxy12
t2
proxy23
t3
proxy34
t4
proxy4x
t1
t2
t3
t4
23
STKM on SCA - EuroPar 2009
ADAPTATION CAPABILITY: SEQUENCE
t1
(20 S)
t4
(20 S)
t3
(20 S)
t2
(20 S)
sequence
t1
proxy12
proxy23
t2
proxy34
t3
t4
proxy4x
t1
proxy12
proxy23
t2
proxy34
t3
t4
proxy4x
t1
proxy12
proxy23
t2
proxy34
t3
t4
proxy4x
t1
proxy12
t2
proxy23
t3
proxy34
t4
proxy4x
t1
t2
t3
t4
Eff (%) 51.14 27.03 20.13 28.38 28.50
24Eff = Computation time - setup overheads
4 Nodes (4 PEs)requires
co-allocation
8 Nodes(8 PEs)
4 Nodes(4 PEs)
2 Nodes(2 PEs)
1 Node(1 PE)
STKM on SCA - EuroPar 2009
ADAPTATION CAPABILITY: SEQUENCE
t1
(20 S)
t4
(20 S)
t3
(20 S)
t2
(20 S)
sequence
t1
proxy12
proxy23
t2
proxy34
t3
t4
proxy4x
t1
proxy12
proxy23
t2
proxy34
t3
t4
proxy4x
t1
proxy12
proxy23
t2
proxy34
t3
t4
proxy4x
t1
proxy12
t2
proxy23
t3
proxy34
t4
proxy4x
t1
t2
t3
t4
Eff (%) 51.14 27.03 20.13 28.38 28.50
24Eff = Computation time - setup overheads
4 Nodes (4 PEs)requires
co-allocation
8 Nodes(8 PEs)
4 Nodes(4 PEs)
2 Nodes(2 PEs)
1 Node(1 PE)
STKM on SCA - EuroPar 2009
IDIOM RECOGNITION (LOOP)
25
for (i=0; i<size; i++)
t1
(20 S)
t4
(20 S)
t3
(20 S)
t2
(20 S)
Efficiency = Computation time - overheadsEfficiency = Computation time - overheadsEfficiency = Computation time - overheads
size 10 100
sequence with creation and destructioncomponents are created on demand 28.40 28.40
sequence with creationcomponent are created once on demand 56.16 90.68
pipelinedall components are created at startup 76.96 95.90
STKM on SCA - EuroPar 2009
DYNAMIC ADAPTION
26
t1
(10 S)
t4
(5 S)
t3
(5 S)
t2
(30 S)
a b c
STKM on SCA - EuroPar 2009
DYNAMIC ADAPTION
26
t1
(10 S)
t4
(5 S)
t3
(5 S)
t2
(30 S)
t1
(10 S)
t4
(5 S)
t3
(5 S)
w
farmwwwW
t1
(10 S)
t4
(5 S)
t3
(5 S)
w
farm
(autonomic)
wwwW
a b c
STKM on SCA - EuroPar 2009
DYNAMIC ADAPTION
26
t1
(10 S)
t4
(5 S)
t3
(5 S)
t2
(30 S)
t1
(10 S)
t4
(5 S)
t3
(5 S)
w
farmwwwW
t1
(10 S)
t4
(5 S)
t3
(5 S)
w
farm
(autonomic)
wwwW
case: loop with size 100 time (S)
pipeline 3105 a
pipeline with farm (3 workers)
1182 b
pipeline with autonomicfarm
1403 c
a b c
STKM on SCA - EuroPar 2009
ADAPTATION CAPABILITY: FARM
• Can dynamically change the number of workers as result of the monitored state• Workers can be created, destroyed, stopped, started, migrated• Can support stateful workers via ports supporting internal data
serialization
• Widely experimented with CoreGRID GCM components
• M. Aldinucci, S. Campa, M. Danelutto, M. Vanneschi, P. Dazzi, D. Laforenza, N. Tonellotto, and P. Kilpatrick. Behavioural skeletons in GCM: autonomic management of grid components. In D. E. Baz, J. Bourgeois, and F. Spies, editors, Proc. of Intl. Euromicro PDP 2008: Parallel Distributed and network-based Processing, pages 54–63, Toulouse, France, Feb. 2008. IEEE.
• M. Aldinucci, M. Danelutto, and P. Kilpatrick. Autonomic management of non-functional concerns in distributed and parallel application programming. In Proc. of Intl. Parallel & Distributed Processing Symposium (IPDPS), pages 1–12, Rome, Italy, May 2009. IEEE.
27
STKM on SCA - EuroPar 2009
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 capabilities28
STKM on SCA - EuroPar 2009
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
29
THANK YOU
Marco AldinucciComputer Science Dept.University of Torino - Italy
Marco DaneluttoComputer Science Dept.University of Pisa - Italy
Hinde-Lilia Bouziane & Christian PérezProject-team GRAAL
INRIA Rhône-Alpes - ENS Lyon - France
Christian PérezProject-team GRAAL
INRIA Rhône-Alpes - ENS Lyon - France