master worker paradigm support in software component models hinde bouziane, christian pérez paris...
TRANSCRIPT
Master Worker Paradigm Support in
Software Component Models
Hinde Bouziane, Christian Pérez
PARIS Research TeamINRIA/IRISA
Rennes
ANR CIGC LEGO (ANR-05-CICG-11)Bordeaux, 2006, December 11th
Master-worker applications
Understanding very high energy Understanding very high energy cosmic rayscosmic rays
AUGER Project AUGER Project ((LRI/LAL-IN2P3)LRI/LAL-IN2P3)
XtremWebXtremWeb
Neuron Neuron SSimulation imulation with MCELLwith MCELL
CRPC CRPC Rice UniversityRice University
NetSolveNetSolve
Problem overview
Simultaneous independent computations (~ForAll loop)
Dedicated API/environments BOINC, XTremWEB,
DIET, NetSolve, Nimrod/G, ...
worker
worker
worker
Masterworker
Workers collectionRequests transport
SchedulingFault tolerance
Limits with current component models
Different infrastructures Multi-core processors, SMP,
clusters, grids, etc. Resources dependant properties
Number of workers Request transport and
scheduling policy
At the burden of the programmer Complex No transparence
Objectives Transparency Re-use existing MW environments
WWworkermaster
masterrequest deliverypolicy
WWworker
Features of the model
Resources infrastructure independence Transparency
No dealing with the number of workers No dealing with request delivery concerns
An initial number of workers depending on the current resources infrastructure
Introduction of a request delivery policy depending on the current resources infrastructure
Abstract master and worker composition (1/2): a collection
Collection definition
Exposed provided port
worker W1 Wn
W2 Wi
Type1 Type3Type2
Type1 T1x Type2 T2y T2y
Type3Type3 T3z
Collection at execution
Instantiation
Instantiation
Abstract master and worker composition (2/2): abstract
assembly
Composing componentswith collections ≈Component composition
m
Type1 Type3Type2
X
Integration of a request delivery policy (1/2): transformation
Abstract ADL ->concrete ADL
Round-Robin
Deploymentenvironment
Transformationprocess
Round-Robin
Integration of a request delivery policy (2/2): patterns
w w w
M
Round-Robin / Random
LA
LALA
M
w w w
MA
MAMA
Simple component based pattern
Hierarchical schedulingpattern
DIETpattern
M
Random
w w
Round-Robin Round-Robin
w w
Sum up
deploymentenvironment
Transformation
Round-Robin
Programmer/designer view
ComponentsCollections
Abstract assembly
During deployment phase
#workers+
Pattern selection
Set of patterns
Case of study: CCM Master and worker
component definition Interface Description
Language (IDL3)
Collection definition in two steps External view: IDL3
extension
Internal content and bindings: Collection Description Language (CDL) in XML format
interface Compute {..} ;
component master { uses Compute m_port;};component worker { provides Compute w_port;};
collection coll { provides Compute c_port;};
<element type=“worker"/><binding><externPort portRef=“c_port"/> <internPort elemType=“worker“ port=“w_port"/></binding>
c_port
worker
master
worker
w_port
m_port
Experimenting MW in CCM Synthetic MW application
Benchmark Several flavor of the master
Sequential or parallel operation invocations Latency & bandwidth oriented request Regular or irregular request bench
Work generated by one request
Several transport request policy component None (direct connection from master to workers) Round-robin proxy Random proxy DIET
MW CCM & DIET
Client & Server-side DIET Component Wrapper Conversion between IDL & DIET
data representation
Home-made CCM compiler DIET support
Generate adequate codefor client & server sidecomponents
Control with special commentsin IDL3
LA
LALA
Client Component
Server component
w
w
MA
MAMA
M
w
w
Discussion MW support for Component Model
Map to CCM, CCA & Fractal Easy to port application
All the work is to componentize the applications Two applications have been ported
Experiments are in progress What to measure?
Which API? Data dypes Bunch of calls (~ForAll loops?)
DIET deployed as CCM executable CSD supports executable
DIET hierarchy described in CAD files! Current ADAGE planner is not aware of DIET specificity
Deployment control through associate element of the ADAGE control parameters