• No results found

Environment : Application. Programming

N/A
N/A
Protected

Academic year: 2021

Share "Environment : Application. Programming"

Copied!
63
0
0

Loading.... (view fulltext now)

Full text

(1)

ASSIST

ASSIST

High

High

--

performance

performance

Programming

Programming

Environment :

Environment :

Application

Application

Experiences

Experiences

and Grid Evolution

and Grid Evolution

Marco

Marco

Department

(2)

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

(3)

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

(4)

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.

(5)

ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice

Part 1

Structured Parallel Programming

ASSIST as an improvement

wrt

(6)

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

(7)

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

(8)

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

(9)

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 rs

Optimal 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

(10)

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

(11)

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

(12)

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

(13)

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

(14)

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

(15)

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

34

M

4

s

25

s

45

s

54

M

1

s

13

M

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

(16)

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

(17)

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.

(18)

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 t

Multiple input and output typed

data streams

Set of Virtual Processors

(VP) executing user

code

(19)

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 t

independent distribution

and collection strategies

(e.g. broadcast, multicast, scatter,

on-demand

)

input and output sections

can also host arbitrary user

(20)

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 t

VPs host several user functions, activation

can be

data-driven

(CSP-like nondeterministic execution, guarded channels)

VPs

share data structures

(run-time provides consistency)

(21)

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

(22)

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 s

Ideal

Measured

Performance Benchmarks of

parmod

(23)

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

)

(24)

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 s

Id

eal

M

easu

red

(25)

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 s

Ideal

Measured

(26)

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

(27)

ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice

Example: data-mining

C

4.5 as

a parallel

D&C

Γ Γ2 Γ Γ1 T

Client

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

(28)

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

Visu

al

iz

e

Clust

SAIB project: MIUR L46

SEMA Schlumberger, Univ.Pisa, Poly.Turin

Data Repository

(parallel

file sys

(29)

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 M2

(30)

ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice

Example: data-mining

C

4.5 as

a parallel

D&C

Γ Γ2 Γ Γ1 T

Client

Test

Divide

Conquer

{

training set TS, decision tree

Γ }

P 1 PN

Shared Tree

objects

(31)

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

(32)

ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice

(33)

ASSIST implementation

[EuroPar2003, ParCo2003]

(34)

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

(35)

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

(36)
(37)

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

(38)
(39)

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

(40)

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

(41)

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

(42)

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

(43)

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

(44)

ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice

ASSISTconf

(45)

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 r

ASSIST

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

(46)

ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice

(47)

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

(48)

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

(49)

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

(50)

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

(51)

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

(52)

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

(53)

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

(54)

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

(55)

ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice

Component-structured application

Farm (initia lly se q) Data parallel

Data parallel Stencil

Data-i

ntensive

Stream Gene

rator

A snapshot

the evolution of

our adaptive

application

certain

(56)

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

(57)

ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice

Component-structured application

Reconfiguration

of the

farm

(58)

ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice

Component-structured application

Reconfiguration

of the

data-parallel

component:

partitions

are

(59)

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

(60)

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

(61)

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

(62)
(63)

ASSIST -M ar co Vanneschi -E uroPVM/MPI 2003, Venice

Current

view

High-level view of Grid

applications

Application

Basic HW+SW platform

Middleware

It is

not necessarily

the same Middleware

“as before”: it should be defined and

realized

according to the needs of the

Programming Environment.

H

igh-level la

nguages,

compositionality, modularity and interoperability

Compiling Tools

Run Time Support

Performance Model (Cost

Model)

for static and dynamic optimizations

D

evelo

pment, loading, execution,

monitoring,…, reconfiguring

Middleware

Grid Abstract Machine

Programming Environment

References

Related documents

In the remainder of this paper, we present some software architecture principles and approaches that build on the current CCA specification and help better define the compo- nent

Three-dimensional ex vivo imaging of tissues from NASH model mice, followed by image processing, revealed that SHG and AF are su ffi cient to quantitatively characterize the

Our research builds on the work of Bessarab and Ng’andu (2010) to explore yarning as a method for developing a health and wellness project with a diversity of Indigenous women within

2 General Remarks about Inertial Surveying Systems for Geodetic Applications A large improvement for ISS was allowed at the last thirty years because the evolution of devices

Selv om klimaet i FN i en kort periode ikke var like dominert av stormaktenes ideologiske konflikt, var menneskerettigheter et smutthull hvor USA kunne forsiktig fortsette

In such a service, pre- recorded educational content is either broadcasted over satellite core and access networks (DVB-S2, VSAT) or multicasted over broadband satellite and

Observational studies were included if they investigated the asso- ciation of maternal thyroid hormone insufficiency (including overt hypothyroidism, subclinical

Support regional workforce development and training initiatives managed by The Garage (e.g. Musicleader East, Arts Award Regional Agency East, Artsplan Training Centre East and