ASSIST
ASSIST
High
High
--
performance
performance
Programming
Programming
Environment :
Environment :
Application
Application
Experiences
Experiences
and Grid Evolution
and Grid Evolution
Marco
Marco
Department
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
ASSIST
(A Software development System based on Integrated Skeleton Technology)
Projects:
•
A
SI-PQE2000
•
C
NR Agenzia 2000
•
M
IUR-CNR Strategic
Programme
L449/97, 1999 and
2000
•
MIUR-FIRB Grid.it
Implementations:
•
Cluster/Beowulf
(on top of ACE)
•
First Grid version –
A
ssistConf
(on top of
Globus)
•
O
n-going:
High-performance
C
omponent
ASSIST
Department
of Computer Science, University of Pisa
ASSIST
A Programmi
n
g Environment for High-performance Portable
Applications on Clusters, Large-scale Platforms and Grids
Department
Department
of Computer
of Computer
Science
Science
, University of Pisa
, University of Pisa
ASSIST
ASSIST
A
A
Programming Environment for
Programming Environment for
High
High
--
performance
performance
Portable
Portable
Applications
Applications
on
on
Clusters
Clusters
,
,
Large
Large
--
scale
scale
Platforms
Platforms
and
and
Grids
Grids
[Parallel
C
omputing, Dec.
2002]
http://www.di.unipi.it/research/TR
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
ASSIST as a research vehicle
From “classical” skeletons to
ASSIST
Significant improvements for
cluster architectures
Feasible and successful approach for applications:
•
Computational Chemistry, and other scientific codes,
•
Image
& Signal
Processing,
•
Earth Observation
S
ystems,
•
Video Compression,
•
Knowledge Discovery
and Data Mining, User Profiling,
•
Search Processing on Structured
/ Unstructured
Data,
•
Query Language Interpreters, …
Can it be a feasible
approach
for Large-scale and
Grid platforms
too
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
Outline
1.
Structured Parallel Programming:
ASSIST as an improvement
wrt
“classical” skeletons
2.
Flexible implementation model
3.
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
Part 1
Structured Parallel Programming
ASSIST as an improvement
wrt
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
Structured Parallel Programming
Parallel
program
pipeline
farm
forall
scan
Pipeline main
farm stage1
farm stage2
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
Structured Parallel Programming
!
High-level constructs
for
task parallelism
(e.g.
PIPELINE,
FARM
),
data parallelism
(e.g.
MAP, SCAN,
STENCILS
),
mixed
task+data parallelism
(D&C,
PARMOD), and their
compositions
(
GENERIC or
STRUCTURED GRAPHS
)
!
Semantic
model and associated
performance model
•
constraint
s
on the parallel paradigm adopted to
compose (sequential
/ parallel) modules into complex
applications
!
Many potentialities for
intensive optimizations
and
restructuring
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
!
Approaches to Structured Parallel Programming:
•
P
arallel Skeletons
model
•
P
arallel
D
esign Patterns
•…
!
Overcoming
the difficulties
of traditional
data parallel languages
(HPF) and their evolutions
!
Our past experience
(Univ. Pisa):
skeletons-based
coordination languages
•
P3L
(1991), C-based, fixed skeleton set: pipe, map …
•
SkIE
(1997), C/C++/F77/Java
•
Lithium
(2001), Java-based, macro data-flow, pipe, farm, map, D&C
•
S
everal variants of them
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
Structured parallel programming
and performance models
Example:
Farm
/ Master-Slave / Parameter Sweeping / …
Emitter :
Task
Scheduling
Collector
of Task
Results
Input
Strea
m
Output
Strea
m
W1. . .
Wn Set of functionally id en tic al Worke rsOptimal number of workers and other performance parameters (e.g.
throughput, efficiency) can be expr
essed as functions of processing
times, communication times,
and utilization factors
Efficient and parame
tric
implementation templates
for platform- and application- dependent optimizations
Load-balanced execution
of Tasks belonging to
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
!
Several
pros
: easy programmability, rapid prototyping,
sequential software reuse, efficiency
•
mainly for regular applications and/or regular compositions
!
Cons
: for complex compositions, and for some irregular
and dynamic applications
•
Lack of expressiveness / inefficiency
•
Lack of flexibility
•
A
ny modification led to ext
e
nsive cha
nges within compiler & run-t
ime support
!
Optimizations:
•
not
so intensive at compile time as
it
was
expected,
•
very significant at the
run-time
support
level,
•a
ls
o f
or
dynamic
approaches to the run-time design
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
ASSIST: general
program structures
!
Classical skeletons:
often,
fixed-patterns
program structures are too simple for
complex applications
!
ASSIST:
parallel programs represented as
generic graphs
•
w
hose nodes are structured
•
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
Simple composition
of fixed-patterns
(stream
parallel: pipeline, farm skeletons)
Example: a simple
Ray Tracer
stage 1
stage 3
. . .Stream
of
input
scenes
Stream
of
output
scenes
stage 2
(
farm
)
rendering
algorithm
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
Composition of stream
+ data parallelism
Example: a more powerful
Ray Tracer
stage 2
(
farm
+ map
)
rendering
algorithm
stage 1
stage 3
. . .Stream
of
input
scenes
Stream
of
output
scenes
Parallelism among scenes and inside every
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
Sequential
m
odules
!
written
in several
host languages
(C, C++, Fortran, Java)
Arbitrary Composition
generic graphs
!
stream
-oriented
!
both
data-flow
and
nondeterministic
with
internal
state
Not
only
fixed-pattern Parallel
Skeletons
...
ASSIST Coordination Language
(
ASSIST-CL
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
{
External Objects
}
ASSIST graphs
and Shared Objects
M
3
Parallel
(or sequential) module
Input
streams
Output
stream
M
5
s
34M
4
s
25s
45s
54M
1
s
13M
2
s
23•
G
lobal
variables
•
S
hared
memory
•
F
iles and
I/O
•
L
ibraries
•
CORBA,
DCOM, …
•
ASSIST
modules
•
. . .
Composition
by
•
T
yped
streams
•
E
xternal
objects
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
Generic graphs: data-flow + nondetermisms
Stream
-based,
possibly
cyclic
graph of
components
data-flow
and/or
nondeterministic
behaviour
Acyclic
precedence
graph (DAG) of
components
with
data-flow
behaviour
Strea
m
-based computations are more general a
nd possess interesting
features of complex applications (e.g. da
ta management, servers)
Nondeterminism + state
is a powerful feature
wrt
purely functional
(e.g. data-flow
) behaviour
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
Parallel Module
(
parmod
):
a paradigm for
structured parallelism
!
Instead of specific skeletons:
a
GENERIC SKELETON
•
i.e. a structure
that
can be effectively
specialized
at
every utilization
!
The
parmod
construct includes the classical
(stream-parallel
and data-parallel) skeletons as
special cases
…,
!
… but
it aims to achieve
much
more expressive
power
.
!
In addition,
parmod
expresses parallel computations with
state
,
nondeterminism
, and access to
external shared
objects.
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
The
parmod
construct
VP VP VP VP VP VP VP VP i n p u t s e c t i o n S hare d st at e o u t p u t s e c tMultiple input and output typed
data streams
Set of Virtual Processors
(VP) executing user
code
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
The
parmod
construct
VP VP VP VP VP VP VP VP i n p u t s e c t i o n S hare d st at e o u t p u t s e c tindependent distribution
and collection strategies
(e.g. broadcast, multicast, scatter,
on-demand
)
input and output sections
can also host arbitrary user
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
The
parmod
construct
VP VP VP VP VP VP VP VP i n p u t s e c t i o n S hare d st at e o u t p u t s e c tVPs host several user functions, activation
can be
data-driven
(CSP-like nondeterministic execution, guarded channels)
VPs
share data structures
(run-time provides consistency)
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
Efficient run-time support of
parmod
!
One of the main advantages of structured parallel
programming is the opportunity for
efficient
run-time implementation
of “specific” skeletons.
!
ASSIST has proved that
this is true for “generic”
skeletons too
:
parmod
performance is
•
comparable to
that
of the same programs written in MPI,
•
comparable to, or better than, that of the same
programs expressed by “specific” skeletons
•
M
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
Parallel
Partitioned
Apriori (Data Mining)
!
Mainly stream-parallel
!
Computation
intensive,
well balanced
!
dataset
> 160 Mb
!
regular I/O pattern
!
8 x Pentium
4, Gbit
Eth
Apriori speed-up
0,00 1,00 2,00 3,00 4,00 5,00 6,00 7,00 8,00 9,00 12 3456 78 N. of Processor sIdeal
Measured
Performance Benchmarks of
parmod
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
Apriori
algorithm
(data mining) as
a pipeline
of
parmod
-farms (“
none
” topology)
stage 1
stage 4
. . .stage 3
. . .stage 2
stage 5
stage 6
1.
Dat
abase reading, generation
of s
tream
of
partitions
2.
Apriori
algor
ithm
in parallel
(load
balanced
far
m)
3.
Combination
of
partial results
: collapsing
hash-tree
data st
ructures
4.
Dat
abase
scan
, generation of
a new st
ream
of
partitions
of appropriate size
5.
Comput
ation
of
"support" of t
he c
andidate s
olution
(f
arm
with
br
o
adcast
)
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
Performance Benchmarks of
parmod
(efficient as MPI, better than classical skeletons)
Data-Parallel Benchmark
Variable Stencil –
single
parmod
!
2-D matrix 400x400
!
partitioned row-wise
!
communication stencil varies at each step
for h …
forall i, j …
!
8 x Pentium 4, Gbit
Eth
D
at
a pa
ra
lle
l s
p
ee
d-up
0, 00 1, 00 2, 00 3, 00 4, 00 5, 00 6, 00 7, 00 8, 00 9, 00 02 4 6 8 N . o f Pr oc e s s or sId
eal
M
easu
red
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
An irregular-dynamic
benchmark
(much better than classical skeletons)
N-body, Burnes-Hut
!
Parmod
implementing
a “
specialized farm
”,
with shared memory
objects
!
Plummer Model, very
irregular data-set
!
8 x Pentium 4, Gbit
Eth
N-body speed-up, size
1000K
0,00 1,00 2,00 3,00 4,00 5,00 6,00 7,00 8,00 9,00 02 4 6 8 N. of Processor sIdeal
Measured
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
Complex parallel programs in ASSIST
!
Complex applications, frameworks
and/or critical cases for
compositions
!
Intimate mix of task + data parallelism :
•
Systolic
computations (
single parmod, task + data parallelism
•
Classification
,
clustering
algorithms (
graph
of parmods)
•
User profiling by data mining
(
graph
of parmods)
•
Language interpre
te
rs –
Knowledge discovery in semi-structured
datasets
(
graph
of parmods)
!
Parallel external objects
•
Data repositories
•
Web caching
•
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
Example: data-mining
C
4.5 as
a parallel
D&C
Γ Γ2 Γ Γ1 TClient
Test
Divide
Conquer
{
training set TS, decision tree
Γ }
P 1 PN
For load balancing
"
during
some
phases:
Divide
works
in a
data-parallel
m
anner,
"
in other phases:
in a farm-like
manner,
"
in other phases
Shared Tree
objects
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice Interface CRM -DB -> DR CRM -DB (Oracle)
Selec tion
Classif
Ass
oc
Knowledge Rep ository. (XML)Interface Layout Gen
erator Contr ol and tuning Interface DR -> CRM -DB
Feed back
A user-profiling framework
Visual
iz
e
Clust
SAIB project: MIUR L46
SEMA Schlumberger, Univ.Pisa, Poly.Turin
Data Repository
(parallel
file sys
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
External objects: a necessary feature
for flexibility
!
Interactive applications
!
Objects reuse with primitive APIs
!
Devices, files, Parallel
File System
!
Data repositories
!
Shared memory objects
!
ASSIST programs themselves
!
Composition by streams only is not sufficient
!
Towards Co
m
pon
e
nt ASSIST
{
External Objec
M 3 M 1 M2ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
Example: data-mining
C
4.5 as
a parallel
D&C
Γ Γ2 Γ Γ1 TClient
Test
Divide
Conquer
{
training set TS, decision tree
Γ }
P 1 PN
Shared Tree
objects
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
Structure
of the
A
SSIST
program
Integration
with
C
ORBA
Code
compute
(ParMod)
compute
(ParMod)
sequential
code
loop control
initial
data
simulation
results
CORBA
interface
Client side
Server side
Grafical interface
!
N-body simulation
!
GUI CORBA server
!
parallel
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
ASSIST implementation
[EuroPar2003, ParCo2003]
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
Assist
program
parco.ast
Design patterns based
Parser
typecheck
Module
builder
Configuration
builder
Code
builder
façade
front-end
factory
module
factory
config
factory
code
factory
XML
conf
XML
conf
C++,
Makefile
C++,
Makefile
ASSIST compiler
> astcc
parco.ast
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
Experimenting with extensions
1.
Targeting heterogeneous COWs
2.
Integrating parallel MPI libraries
3.
AssistConf
and ASSIST-G
: first
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
Assist
program
parco.ast
Just enrich the
code
factory
Parser
typecheck
Module
builder
Code
builder
Config.
builder
façade
front-end
factory
module
factory
config
factory
code
factory
ASSIST compiler
XML
conf
XML
conf
Makefile
Makefile
Code
builder2
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
Assist
program
parco.ast
Just enrich the
module
factory
Parser
typecheck
Module
builder
Code
builder
Config.
builder
façade
front-end
factory
module
factory
config
factory
code
factory
ASSIST compiler
XML
conf
XML
conf
MPI
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
MPI integration
[EuroMicro 2003]
VP
VP
VP
VP
VP
VP
VP
VP
VP
MPI wrapper
0
VP
VP
VP
VP
VP
VP
VP
VP
VP
3
1
…
2
n
0 3
…1
2 n
0
3
…
1
2
n
parmod
parmod
parmod_MPI
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
Assist
program
parco.ast
AssistConf
and ASSIST-G: a first Grid
implementation on top of Globus
[E
uroMicr
o
Parser
typecheck
Module
builder
Code
builder
Config.
builder
façade
front-end
factory
module
factory
config
factory
code
factory
ASSIST compiler
XML
conf
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
XML configuration file
!
modules list (parallel activities)
!
modules graph
!
pathnames, lib-names, code-names
!
lib-modules bindings
!
machine names
!
modules parallel degrees
!
modules-machines mapping
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
Assist
program
parco.ast
Just enrich the
config
factory
Parser
typecheck
Module
builder
Code
builder
Config.
builder
façade
front-end
factory
module
factory
config
factory
code
factory
ASSIST compiler
XML
conf
XML
conf
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
ASSISTconf
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
ASSIST-G
XMLconf
(s
ta
tic
)
XMLconf
(s
ta
tic
)
ASSISTconf
Pa rs er ty pe ch ec k M odule builde r Co de bu ild er Co nf ig . bu ild er fa çade fr on t-e nd fact or y con fig fact or y co de fact or y mo du le fact or y A SSIS T co m pile r Pa rs er ty pe ch ec k M odule builde r Co de bu ild er Co nf ig . bu ild er fa çade fr on t-e nd fact or y con fig fact or y co de fact or y mo du le fact or y A SSIS T co m pile r Pa rs er ty pe ch ec k M odule bu ilde r Co de bu ild er Co nf ig . bu ild er fa çade fr on t-e nd fa ct ory con fig fa ct ory co de fa ct ory mo du le fa ct ory A SSIS T co m pile r Pa rs er ty pe ch ec k M odule bu ilde r Co de bu ild er Co nf ig . bu ild er fa çade fr on t-e nd fa ct ory con fig fa ct ory co de fa ct ory mo du le fa ct ory A SSIS T co m pile rASSIST
compiler
resources
requirem
ents
broker
broker
CLAM
CLAM
MDS
GRIS/GIIS
MDS
GRIS/GIIS
GRAM
DUROC
GRAM
DUROC
gather & reservation
resources
lib staging
allocation
XMLconf
static
dy
namic
XMLconf
static
dy
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
!
MIUR –
F
IRB
and
CNR
•
C
NR, INFN, ASI, CNIT, Universities
!
Basic Research Programme
-ICT
•
+
infrastructure
and demonstrators
(25%)
!
Timeframe: November 2002 –
O
ctober 2005
!
Total Cost: 11 M€
•
other synergies by MIUR-CNR Projects on Complex Enabling Platforms: 2,5 M€
Grid.it Project
Enabling Platforms for
High-performance Computational Grids Oriented to
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
Programming Environment
High
High
--
level services
level services
Knowledge servicesKnowledge services
, Data , Data
basesbases
, ,
S
cientific libraries
S
cientific libraries
, ,
Im
age
Im
age
processing, …processing, …
Domain-specific Problem Solving Environments (PSEs)
High
High
--
performance,
performance,
Grid
Grid
--
aware component
aware component
--
based
based
programming
programming
model and
model and
tools
tools
Resource
Resource
manage
ment, Performance
manage
ment, Performance
tools
tools
,
,
Security
Security
, V
O
, …
, V
O
, …
Next
Next
Generation
Generation
Middleware
Middleware
Basic infrastructure
-standards
(OGSA-compliant)
Software technology
of Grid.it
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
!
Dealing with heterogeneity
!
New compilers, run-time
supports, resource
management
!
Secure and fault tolerant
implementations
!
Dynamic, adaptive
applications
!
Implementing requirements
for Quali
ty
o
f Service
Critical research issues
Focus of this Part
•P
rin
ci
pl
es
•
P
ersonal ideas
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
Notable
reference: GrADS Project
!
Concept of reconfigurable program
•
H
igh-level formalism
•
H
igh-level information
on application requirements
•
C
omponents technology and composition of
applications
•
Performance model (“negotiation” at run-time)
!
Application
m
anager
:
•
set of static and dynamic tools that control all the
development-execution cycle of the application
(including
dynamic restructuring
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
Grid.it:
Grids
and structured parallel programming
!
Applications may contain
parallel components
•
in the simplest case, a
parallel component
is allocated to a
single Grid node
(cluster, supercomputer),
•
advancement
in networking te
chnology: parallelism can be
effecti
vely exploited
at the large-scale level
too.
#
More in general, and more important:
structured parallelism
is
a methodology for
designing
and for managing
high-performance
Grid-aware
application components according to
QoS
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
Grid.it approach:
high-performance, Grid-aware component technology
!
Joining component technology
and
structured parallel
programming technology
•
to achiev
e
high-perfor
manc
e, Grid
-aware, c
o
mponent-based applications
!
The intimate link between Grid programming and structured parallel programming
•
Structured parall
el programming as a me
th
odology to enri
ch the component
model with features able
to meet
QoS requirements
•
Dynamically modif
ying
the allocation, rep
lication
/ partit
ioning
of the application
components,
in or
der to ma
ntain
the proper degree
of
perf
or
m
ance, or
in order
significantly increase
perfor
mance when necessary
•
Run-time exploitation
o
f the perf
ormance models
and implementation
templates (funda
mental feature of
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
!
“
Contract”
associated to every component
(interface), defining
possible application requirements:
•
performance, fault tolerance, …
!
Every contract is specified by
means
a structured parallel
program
•
using
the
ASSIST
model
!
Initial configuration: established
at compile-time
!
At run-time, the performance model is used to modify the
configuration
o
f the composition
(in a parametric
manner):
•
replication
,
partitioning
,
scheduling policy
,
distribution of data
, …
(all are
programming constructs
in ASSIST)
•
exploiting monitoring, profiling,
performance modeling, resource
management and information services
Ideas for
G
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
Example: an “adaptive
pipeline”
Generator
of objects
stream
Gen
Objects
transformation
by function F2
F2
Objects
transformation
by function F3
F3
Objects
transformation
by function F1
F1
Data intensive
,
Grid memory hierarchy interf
ac
e
•
By default
:
se
que
nt
ia
l
implementation.
•O
n r
es
tr
uc
tu
ri
ng
:
farm
implementation,
•n
um
be
r
of
w
or
ke
rs
determin
ed
dynamically.
•
By default
:
data-parallel
implementation
onto
a
single parall
el
node
.
•O
n r
es
tr
uc
tu
ri
ng
: t
he
number
of partit
ions
may be varied and allocated onto different node
s.
A
stre
am
pa
rallel
+
data parallel
composition mapped onto
a singl
e
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
Component-structured application
Farm (initia lly se q) Data parallelData parallel Stencil
Data-i
ntensive
Stream Gene
rator
A snapshot
the evolution of
our adaptive
application
certain
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
Component-structured application
A possible re-
allocation
:
accordi
ng to
the outcome
the
performance
model,
some
data-parallel
partitions
and
the
far
m
collector
can be
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
Component-structured application
Reconfiguration
of the
farm
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
Component-structured application
Reconfiguration
of the
data-parallel
component:
partitions
are
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
Component-structured application
Abstraction of Memory
Hierarchy
Abstraction of Shared Objects
Scheduling and
configuration of
complex, high-
volume data flows
through multiple
levels of
hierarchy
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice
Data-intensive computations in ASSIST
Object
(possibly high-bandwidth)
Abstraction
high-
performance
objects
can be
implemented by
ASSIST
parmod
(s),
with proper
interface
(expressed in
ASSIST or another
formalism)
VP
VP
VP
VP
VP
VP
VP
VP
VP
Input
Section
Output
Section
ASSIST
parmod
for
the high-performance abstraction of Object
Thanks to
ASSIST group –
D
epartment of Co
mputer Science, Univ. of Pisa:
M.
Aldinucci, S.
Campa, P.
Ciullo, M. Coppola,
M.
Danelutto
, S.
Moi, A.
Paternesi, P.
Pesciullesi, A.
Petrocelli,
E.
Pistoletti, L.
Ravazzolo, M.
Torquati, G.
Virdis, P. Vitale, C.
Zoccolo
ISTI-CNR group, Pisa:
Domenico Laforenza, Salvatore
Orlando
Venice
ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice