Architetture Parallele e Distribuite
2008-09
1. ASSIST: cenno
2. Grid Computing
3. Adattività
indipendente dal concetto di processo
Applicazione sviluppata con
Livelli e moduli
strumenti user-friendly
compilata /
interpretata in
Applicazioni
indipendente dall’architettura
Processi
Assembler
Firmware
 Uniprocessor di vari tipi 
 Multiprocessor di vari tipi e con vari processori 
 Cluster di vari tipi e con vari processori 
Programma parallelo
(processi comunicanti e/o
oggetti condivisi)
compilato / interpretato
in un programma
parallelo eseguibile su
Architettura 1
Architettura 2
Architettura 3
supporto diverso
per ogni architettura
Architettura X
Hardware
2
Un ambiente di programmazione per macchine parallele
e Next Generation Grid
Department of Computer Science, University of Pisa
ASSIST
A Programming Environment for High-performance Portable Applications on
Clusters, Large-scale Platforms, and Grids
Projects:
Implementations:
•
ASI-PQE2000
• Heterogeneous Cluster/Beowulf
•
CNR Agenzia 2000
• CORBA, WS interoperability
•
MIUR-CNR Strategic Programmes
•
• Grid version (on top of Globus 4)
MIUR-FIRB Grid.it
•
SFIDA-PMI
•
BEInGRID
• CELL version, on top of LC
•
In.Sy.Eme
• ASSISTANT for Mobile Grid
• Component-based Grid-aware version
3
The parmod construct
i
n
p
u
t
s
e
c
t
i
o
n
VP
VP
VP
VP
VP
VP
VP
VP
o
u
t
p
u
t
s
e
c
t
Shared state
Multiple input and output typed data streams
Set of Virtual Processors (VP) executing user code
VPs have assigned topology for naming (one, none, arrays)
4
The parmod construct
i
n
p
u
t
s
e
c
t
i
o
n
VP
VP
VP
VP
VP
VP
VP
VP
o
u
t
p
u
t
s
e
c
t
Shared state
distribution and collection strategies
multicast, scatter, on-demand, scheduled;
gather from all, from any, reduce
input and output sections can also host arbitrary user code
5
The parmod construct
i
n
p
u
t
s
e
c
t
i
o
n
VP
VP
VP
VP
VP
VP
VP
VP
o
u
t
p
u
t
s
e
c
t
Partitioning rules,
replication
Shared state
VPs host several user functions, activation can be data-driven
(CSP-like nondeterministic execution, guarded channels)
VPs share data structures
(run-time provides consistency)
6
Architetture Parallele e Distribuite
2008-09
Grid Computing:
Stato e Prospettive
7
Le piattaforme abilitanti distribuite
• Cluster omogenei, in generale con nodi paralleli SMP / NUMA
 Cluster eterogenei
 Virtual Private Networks, su scala LAN, MAN, WAN
 Grid
Dom. amm.
Dominio amministrativo
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
Dom. amm.
Linux / Intel
Power PC / MacOS
2100
2100
2100
2100
2100
2100
2100
2100
2100
SUN / Solaris
Middleware
8
2100
2100
2100
2100
2100
2100
2100
2100
Data Storage
Grid locale su
Rete Fotonica
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
Mainframe
2100
2100
2100
2100
2100
2100
2100
Grid locale
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
Data Source
Cluster
2100
2100
2100
Esempi di scenari di
applicazioni su Grid:
• Singoli job lanciati su
singoli nodi
• Job paralleli lanciati su più
nodi, con co-allocazione
statica
• Job paralleli su più nodi
con esecuzione e coallocazione dinamica e
adattiva
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
Data Source
Dalla tecnologia Grid corrente a
Next Generation Grid
9
2100
2100
2100
2100
2100
2100
2100
2100
Esecuzione di un singolo job (sequenziale o
parallelo) su un singolo nodo
Risorse di esecuzione
candidate e selezione
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
codice, locale o remoto
dati
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
• Scheduling statico
• Spesso, esecuzione
Batch (code)
• Trasferimento dati via
File Transfer
• Possibilità di
pianificare più fasi
sequenziali utilizzando
risorse diverse e File
Transfer
10
2100
2100
2100
2100
2100
2100
2100
2100
Esecuzione di un job parallelo su più nodi,
con co-allocazione statica
Risorse di esecuzione
candidate e selezione
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
codice, locale o remoto
dati
• Scheduling statico e coallocazione
• Esecuzione on demand,
interattiva, (batch),…
• Parallelismo intra- e internodo: non solo task
indipendenti
• Dati comunicati via files,
virtualizzazione storage, e
data-streaming
• Forme di parallelismo
sensibili alla banda,
latency-hiding
11
2100
2100
2100
2100
2100
2100
2100
2100
Esecuzione di un job parallelo su più nodi, con coallocazione ed esecuzione dinamica e adattiva
Fase iniziale di co-allocazione
statica, ed esecuzione sulla
configurazione iniziale
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
In seguito ad eventi legati a
emergenze,
malfunzionamenti,
esigenze di più elevata
performance (Qos):
riallocazione e
ristrutturazione dinamica di
codici e dati
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
2100
(replicazione, partizionamento,
bilanciamento)
in modo da rispettare un
determinato
“contratto di performance”
12
Grid Computing
Piattaforma Grid:
• “ Distributed computing infrastructure for
• coordinated resource sharing
• coordinated problem solving
• in dynamic, multi-institutional Virtual
Organizations (VO),
• able to guarantee planned level of
performances ”
13
Grid Computing: una nuova tecnologia nata dalla
convergenza di tecnologie
Distributed/Web
Computing: Objects
/ Component
Software Technology
Mobile Device
Technology, Pervasive &
Ubiquitous Computing
High-performance
Computing, Cluster
Computing
Knowledge
Management and
Data Intensive
Computing
14
Applicazioni Grid-aware
•
•
•
•
•
•
•
•
•
•
•
Gestione rischi ed emergenze
Telecomunicazioni
Wearable computing
e-business, Filiere e distretti industriali (PMI), Digital Business
Ecosystems
Beni culturali
Progettazione cooperativa
Sanità, medicina
Biotecnologie
Robotica
Tutte le scienze computazionali
ecc.
15
“Non solo calcolatori”: tecnologia pervasiva e
“ubiqua”, dispositivi mobili
• Dispositivi mobili, PDA
 Miniaturizzazione, embedding
 Wearable Computing
Fonte:
EuroTeCH Group,
Udine
16
Tecnologia Grid:
“person-centric”
• Piattaforme facili da usare
– “People are nodes”
• Paradigma “Anytime - Anyhow - Anywhere”
– Esempi: e-Work, e-Health, …
– Nuovi supporti a Risk Management
 Grid = Milioni di nodi di elaborazione eterogenei,
interconnessi e cooperanti dinamicamente
 Applicazioni naturalmente distribuite, eterogenee, dinamiche e
adattive
17
Middleware minimale: servizi base
(ricerca di risorse, prenotazione, trasferimento dati, lancio
esecuzione, ecc.)
•
•
•
•
Grid Middleware “base”: standard
Globus 2.x, 4.x, …, UNICORE, …
Global Grid Forum (GGF): standardizzazione
Open Grid Service Architecture (OGSA)
– dai Web Services ai Grid Services
• …..
• Non sono strumenti di sviluppo applicazioni.
• Non sono adatti ad applicazioni caratterizzate da alta
eterogeneità, dinamicità, mobilità.
18
Grid nella loro interezza:
NEXT GENERATION GRID
Per applicazioni industriali
– in molti casi, anche per il calcolo scientifico
le caratteristiche di
– Eterogeneità,
– Dinamicità e adattività (“autonomicità”),
– Capacità di usare in parallelo un numero qualsiasi, e
variabile, di risorse,
– Security consistente con la tecnologia Grid,
– Gestione conoscenza Grid-wide,
sono irrinunciabili per un deciso miglioramento
rispetto alle attuali tecnologie IT e Web.
19
ADATTIVITÁ della configurazione alle prestazioni:
esempio (ASSIST)
Perturbation : new
applications are created
800000
5 processors
700000
600000
8 processors
4 processors
Comp. time (msec.)
500000
Maximum Service
Time
400000
specified in the
contract
300000
Current Service Time
200000
Average Service Time
100000
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Stream elements
Evolution of computation
20
Adattività in ASSIST:
stesso modulo autoriconfigurante (farm / map) per il controllo
dell’occupazione di memoria
Esecuzione con modalità
MAP e 5 worker
Esecuzione con modalità
FARM e 5 worker
120000
Modalità MAP 10 worker
VM_Data(KB)
100000


80000
Migrazione su
nodi diversi
60000
Riconfigurazione
delle prestazioni
Dimensione di N = 5000 interi
Occupazione N² = 25M interi
~ 95 MB
Virtual Memory Data
Size per Process
40000
20000
0
1
3
5
7
9
11
13
Trascorrere dell'elaborazione
complessiva (min)
21
Adattività in ASSIST:
stesso modulo autoriconfigurante (farm / map) per il controllo del
tempo di servizio
Caso iniziale con modalità
FARM e 1 worker
Modalità FARM e 5
worker
Tempo medio di servizio di
Presenta (sec)
140
Modalità MAP e 5 worker
120
Modalità MAP e 10 worker
100
Riconfigurazione
delle funzioni
Riconfigurazione
delle prestazioni
80
60
40
20
0
1
3
5
7
9
11
Trascorrere dell'elaborazione
complessiva (min)
13


Dimensione di N = 5000 interi
Occupazione N² = 25M interi
~ 95 MB
Tempo Medio di Servizio
di Presenta
Contratto di QoS:
variato
dinamicamente il
massimo Tempo di
Servizio consentito
22
Progetto In.Sy.Eme
(Integrated Systems for Emergency)
Mobile Grid
Concetto di Grid Computing applicato in
contesti pervasivi, mobili ed
estremamente dinamici
(WorkPackage 3)
23
Piattaforma distribuita In.Sy.Eme
Sistema UNICO
di risorse hw e sw, centrali e decentrate,
generali ed embedded, fisse e mobili, …
Cluster
Workstation
Integrazione ELABORAZIONE +
COMUNICAZIONE
per Modelli di Previsione,
Supporto alle Decisioni,
Gestione della Conoscenza, …
Workstation
PDA
PDA
MOBILE (PERVASIVE) GRID: gestione
globale,
PDA
PDA
adattiva e context-aware,
Workstation
per il
PDA
Workstation
controllo
dinamico della
Cluster
PDA
PDA
Qualità del Servizio (QoS)
Data & Knowledge
Server
delle applicazioni
vari tipi di reti fisse, mobili, ad hoc
24
Esempio: gestione delle inondazioni fluviali
livello acqua, morfologia terreno, …
Modello previsionale idrologico,
idrodinamico
Data Mining
sul percorso del
fiume, …
Post-elaborazione (non banale)
precipitazioni nel
tempo e nello spazio, …
da satellite, da radar
meteo, da rilevatori
pluviometrici, … (es:
ALADIN)
soccorritori, sovraintendenti,
autorità, …, altri sistemi, …
25
Flood Forecasting Model
Modello idrologico
Esempio: MIKE 21
Equazioni differenziali della massa e
momento
Sistemi tridiagonali di grandi
dimensioni
Data- & compute- intensive
26
Modelli di previsione: quando e come
eseguirli?
• Nella struttura piramidale dell’organizzazione per la
gestione delle emergenze, ogni soggetto (“utente”)
ha propri interessi ed esigenze.
• Diverse modalità per utilizzare, e interagire con, il
sistema di gestione delle emergenze.
• Modelli a medio-lungo termine
– offline
• Modelli a breve termine e in real-time
– on demand
27
Elaborazioni a medio-lungo termine, offline
 Elaborazione “di routine” e operatività normale
visualizzazione
Cluster
Workstation
Workstation
PDA
PDA
PDA
PDA
Workstation
PDA
PDA
elaborazione
modelli
Workstation
Cluster
PDA
Data & Knowledge
Server
PDA
visualizzazione
28
Elaborazioni offline vs on demand
• Offline:
– Definizione di strategie (GIS, Meteo, modelli, DSS, Data
Mining), alte prestazioni (data, computation)
– Problematica tecnologicamente avanzata, ma con
alcuni risultati scientifico-tecnici noti in letteratura
• On demand: Adattività e Context-Awareness
– Problematica sostanzialmente nuova
– Il sistema deve essere capace di adattare
dinamicamente le applicazioni alle caratteristiche
ed ai requisiti degli utenti e del contesto (QoS)
29
Applicazioni Adattive e Context-Aware
 (Potenziale) emergenza e operatività normale
elaborazione
modelli
Cluster
Workstation
visualizzazione
Workstation
PDA
PDA
PDA
PDA
elaborazione
modelli
PDA
PDA
Workstation
PDA
Workstation
Cluster
PDA
Data & Knowledge
Server
visualizzazione
30
Applicazioni Adattive e Context-Aware
 Emergenza e operatività ridotta
Gestione dinamica QoS-aware di risorse
molto eterogenee di calcolo + comunicazione:
uso ottimale delle risorse disponibili.
Recovery delle informazioni.
elaborazione
modelli
Cluster
Workstation
Workstation
PDA
PDA
PDA
PDA
PDA
PDA
Workstation
PDA
elaborazione
modelli
e
PDA
visualizzazione
Workstation
Data & Knowledge
Modifica dinamica di programmi
(modelli) e
Cluster
Server
di dati (informazioni disponibili / da inferire):
modelli predittivi.
visualizzazione
31
Applicazioni Adattive e Context-Aware
 Emergenza e operatività ridotta
Gestione dinamica QoS-aware di risorse
molto eterogenee di calcolo + comunicazione:
uso ottimale delle risorse disponibili.
Recovery delle informazioni.
PDA
PDA
PDA
PDA
PDA
PDA
PDA
elaborazione
modelli e
visualizzazione
Modifica dinamica di programmi (modelli) e
di dati (informazioni disponibili / da inferire):
modelli predittivi.
elaborazione
modelli e
visualizzazione
32
High-Performance Computing (HPC)
•
Diverse elaborazioni hanno caratteristiche DATA-& COMPUTE-INTENSIVE
–
•
Modelli previsionali, DSS, GIS, METEO, modelli predittivi, strategie di networking, …
Vari tipi di risorse per HPC, con tecnologie sia tradizionali che innovative:
On-chip Multicore TechnologyEmbedding in dispositivi mobili / indossabili
L2 cache
Cluster
P
L1 cache
P
P
Data & Knowledge
Server
L1 cache
P
P
P
P
Programmabilità +
Portabilità ?
P
PDA
PDA
PDA
PDA
PDA
33
First experiment
input data stream:
output data
tuple of scalar
stream:
parameters
solution matrix
Flood
Generator
Forecasting
Client
module
module
module
input data
interface
(from sensors,
visualization
(to operator’s PDA,
services, etc.)
services, etc.)
34
Experiment: flood forecasting
From sensors and monitoring, for each
point:
position (x,y)
water depth (H)
water surf. Elevation (ξ)
depth av. Velocity (u,v)
Mass and momentum partial
differential equations
Large tridiagonal systems
Data- & compute- intensive
Fx and Fy
tridiagonal system solving
We can obtain different qualities
with different samplings in
space
and time
35
Computing and communication resources
36
Features of a pervasive distributed platform
Central Servers
Monitoring areas: decentralized Interface Nodes connecting wireless
networks for sensors and mobile devices (PDA) to fixed networks and
servers
37
Adaptivity and Context-Awareness
PDA
PDA
PDA
Cluster
PDA
Data & Knowledge
Server
.
.
.
.
.
.
PDA
PDA
PDA
HPC application, suitable for
central servers
(performance, data size, precision,
…)
PDA
Dynamic restructuring, suitable for decentralized / embedded /
mobile nodes (trade-off: performance, memory, precision, faulttolerance, energy saving, …), and dynamic deployment
38
Experiment: adaptivity and context-awareness
Dynamic transitions
between alternative
versions :
RECONFIGURATION
and
communication
DEPLOYMENT
network 2
communication
network 1
Context
events
Forecasting model:
version 1
data streaming control
and network interfaces
interface node
Forecasting model:
version 0
Context
events
central server
Forecasting model:
version 2
Context
events
C lient visualization
PDAs
39
Experiment: configuration
Forecasting model:
version 1
data streaming control
and network interfaces
PDAs
Forecasting model:
version 2
Multicore-based
(CELL)
C lient visualization
Forecasting model:
version 0
40
Operations:
adaptive versions of the same module
Central
server
Interf.
OP0
Central Server is again
available and network is
able to guarantee the
requested QoS :
• switch to OP0 again,
• deployment of
application state onto
Central Server
+ other transitions between
versions
according to contex events and
system state
Central server is no more
OP1 node
available and/or network
has low QoS:
• switch to OP1,
• deployment of
application state onto
Interface Node
Client achieves low QoS for
visualization, PDA
resources are available :
• switch to OP2,
• deployment of
application state onto
PDA network
OP2
PDA
net
41
Events, adaptivity, and targets
Events related to:
• Network and monitoring
–
–
–
–
Availability
Connectivity
Bandwidth, Performance
Load, …
• Energy consumption
• Requests for better QoS
– Response/completion time
– Precision
– Client load balancing /
priority, …
Adaptivity actions:
• Increase QoS of current
operation
– parallelism degree
– data size
• Switch to a different
operation with the required
QoS or the best possible QoS
–
–
–
–
algorithm
parallelism paradigm
memory management
power consumption
Different resources
42
Reconfiguration and deployment
LOGICALLY SHARED REPOSITORY
(modules, operations, state, channels, run-time support, managers
cooperation)
Cache0
Working set of OP1
P0
Central
Server
Start deployment
Pn-1
...
(OP0)
• State consistency
• Checkpointing
• Active redundancy of
operations
Cachen-1
Interface
Node
(OP1)
OP1: processors and other
resources allocation
(parallelism construct)
43
da ASSIST …
External Objects
parmod
44
… a ASSISTANT
Context
Stream:
anche
da/verso
sensori,
attuatori
MANAGER
Rete di
Manager
• Manager come parte integrante (elemento primitivo) del Parmod
• Programmabile: formalismo opportuno facente parte di ASSISTANT
• Politiche di adattività e context-awareness
• Rete di Manager
45
ASSISTANT: adaptive and context-aware module
46
InSyEme Programming Model (ASSISTANT)
P
P
P
P
RED
Computational view of
information flows:
parallel and distributed
composition of
application modules
Management information
M
M
M
M
BLUE
Context information
Managers:
• adaptivity, contextawareness
• dynamic
reconfiguration and
deployment
• QoS control
C
C
C
C
Context interfaces:
devices , nodes and
GREEN networks monitoring
47
Experiment: module structure
RED: Information flows
Flood Forecasting
Module
Generator Module
Client Module
Functional Logic
Functional Logic
Functional Logic
Control Logic
Control Logic
Control Logic
BLUE: Manager
Context
interface
Network
monitoring
Context
interface
Performance
profiling
GREEN: Context
Context interface
48
RED
ASSISTANT application
BLUE
GREEN
49
Experimental results
9
scalability
8
7
6
5
Cluster 8M
Cell 8M
4
Cluster 32M
Cell 32M
3
2
1
0
0
2
4
6
8
10
parallelism degree
50
Experimental Results
128
service time
(sec)
64
32
24.4
16
Cluster 8M
8
Cell 8M
Cluster 32M
4
Cell 32M
3.1
2.66
2
1
0.98
0.5
0
2
4
6
8
10
parallelism degree
51
Low cost, low consumption, good performance solutions
for decentralized services
The application as a whole requires the cooperation of
BOTH centralized AND decentralized services in an ADAPTIVE way.
Decentralized HPC services are technologically feasible and valuable
to optimize QoS.
Localized computational power: aggregate performance and
scalability > (>>) central servers
52
Scarica

PDA