Piattaforme abilitanti per griglie computazionali ad alte
prestazioni orientate a organizzazioni virtuali scalabili
Rimodulazione
WP8
High-performance
Component-based
Programming Environment
Obiettivo WP8
• definizione, progettazione ed
implementazione di un prototipo di
ambiente di programmazione
–
–
–
–
ad alte prestazioni
per ambiente GRID
basato su componenti
per sviluppo di applicazioni complesse di
carattere interdisciplinare
Gruppi coinvolti
•
•
•
•
•
•
•
UNIPI (coordinamento workpackage)
ISTI (CNR PI)
ICAR (CNR NA-PA-CS)
UNICAL
CEDRM (CNR Roma)
IMATI (CNR Ge)
UNIMIB
Ambiente di programmazione
• ambiente classico
– editore, strumenti di compilazione, framework
di esecuzione
• ambiente PSE
– PSE toolkit
– accesso più user friendly alle caratteristiche
dell’ambiente classico
+ tecniche classiche PSE
Tecnologia a componenti
• utilizzata a diversi livelli
– utente (programmazione di applicazioni)
– progettista dell’ambiente (programmazione di
strumenti)
– di sistema (programmazione di macchina
astratta portabile)
• con diritti diversi per utenti diversi
Punto di partenza
• risultati di progetti precedenti
– PQE2000 e ASI-PQE2000
• risultati di progetti congiunti
– Agenzia2000, 5% 1999 e 5%2000
• risultati in letteratura su ambienti di
programmazione strutturati e componenti
(algorithmical skeleton, design pattern,
coordination, components, ...)
Attività del WP
Riduzione delle attività : 2 attività principali
1. Sviluppo ambiente di programmazione
•
sottoattività relative a
•
•
librerie e
PSE
2. Resource management
•
supporto per ambiente di programmazione
Attività 1: ambiente di
programmazione
• studio modello componenti
• progettazione ambiente programmazione ad
alte prestazioni
• applicazioni testbed
• integrazione di librerie
• sviluppo PSE toolkit per ambiente di
programmazione
Attività 2: resource management
• studio di strategie per scelta ottimale di
risorse
• sviluppo di strumenti/infrastrutture di
supporto alle strategie di scelta
• sviluppo di algoritmi/strategie di
allocazione e coallocazione di risorse
Applicazioni & librerie
• non sovrapposizione con WPappl e WP9
• Applicazioni
– test bed per generare feedbacks verso attività di
progettazione dell’ambiente
– gruppi in strettissimo contatto con sviluppatori
ambiente
• Librerie
– integrazione completa (definizione meccanismi)
– gruppi in strettissimo contatto con sviluppatori
ambiente
Esempi
• interrogazione, semplificazione e
compressione parallela di dati volumetrici
(IMATI)
• sviluppo di software per analisi di librerie
molecolari virtuali (approcci con reti
bayesiane e metodi Monte Carlo)
• integrazione di librerie scientifiche
sfruttando modello a componenti
Attività: scheduling
• Primo anno
– fattibilità, letteratura, progettazione di massima
(attualmenti in pieno svolgimento)
• Secondo anno
– progetto architetturale
– inizio della fase di prototipazione
• Terzo anno
– trasferimento WP applicativi
– versione (beta?) del software
Primo anno (dettaglio)
• studio/individuazione del modello a componenti da adottare:
- Coinvolti tutti i gruppi, in particolare UNIPI, ISTI, CEDRM,
UNICAL e ICAR
• inizio della progettazione dello schema architetturale di massima
dell'ambiente
- UNIPI, ISTI
• individuazione delle applicazioni e delle librerie da utilizzare come
testbed
- IMATI, ICAR, UNIMB
• studio di strategie di allocazione delle risorse in grado di
supportare il modello di programmazione dell'ambiente
- UNIPI, ISTI
• studio delle caratteristiche di un PSE toolkit da sviluppare sopra
all'ambiente di programmazione
- UNICAL, ICAR
Secondo anno (dettaglio)
• completamento della progettazione dello schema di realizzazione
dell'ambiente e inizio della fase di codifica
- DIPISA, ISTI, ICAR, CEDRM
• sviluppo di applicazioni/librerie con la metodologia definita
dall'ambiente e con le parti dell'ambiente via via disponibili con
feedback sull'attivita' di progettazione e realizzazione dell'ambiente
- IMATI, UNIMIB, ICAR
• completamento della progettazione del PSE toolkit ed inzio della fase
di codifica
- UNICAL, ICAR
• sviluppo strumenti/infrastrutture di supporto alle strategia di scelta
delle risorse
- ISTI
• sviluppo di algoritmi/strategie di allocazione e coallocazione di
risorse
- ISTI
Terzo anno (dettaglio)
• completamento dell'ambiente di programmazione (versione alfa/1)
- DIPISA, ISTI, ICAR, CEDRM
• porting delle applicazioni/librerie sull'ambiente
- ICAR, IMATI, UNIMIB
• consolidamento delle strategie di resource management per
l'ambiente
- ISTI
• realizzazione di prototipi di PSE sull'ambiente di programmazione
o che comunque sfruttino la metodologia di progetto e
implementazione dell'ambiente
- UNICAL, ICAR
Sinergie con altri WP
• WP1&WP2
– modello di utilizzo di rete
• WP3/5
– deployment di griglia & meccanismi
• WP4
– meccanismi di sicurezza per ambiente
Sinergie con altri WP (2)
• WP6
– knowledge discovery per resource management
• WP7
– portali ed ambienti di programmazione
• WP9
– integrazione di librerie
• WP appl
– metodologie, strumenti e case studies
Sinergie (assessed)
• WP1&2
– riunioni per definire coordinamento (fatte)
• WP3&5
– incontri per discussione caratteristiche
(progettati)
• WP6
– riunioni per definire coordinamento (fatte)
• WPappl
– cooperazione “metodologica” prima dei tools
(progettata)
Deliverable (primo anno)
• Sostanzialmente
– rassegne (critiche)
– studi di fattibilità
– progetti di massima
• frutto dell’attività di studio
– delle varie componenti WP8
• base per l’attività di codifica &
sperimentazione del 2o anno
Deliverable (dettaglio)
• Descrizione del modello di componenti da adottare all'interno del
progetto/workpackage (WP8 component model)
Responsabilità UNIPI
Previsto per Dicembre 2003
• Progetto architetturale di massima dell'ambiente di
programmazione a componenti, per griglia e alte prestazioni (WP8
programming environment architectural design 0.1)
Responsabilità UNIPI
Previsto per Marzo 2004
• Caratteristiche di un PSE toolkit per alte prestazioni, a
componenti, sviluppato in sinergia con l'ambiente di
programmazione WP8 (PSE toolkit)
Responsabilità UNICAL
Previsto per Dicembre 2003
Deliverable (dettaglio (2))
• Strategie di allocazione delle risorse per il supporto dell'ambiente
di programmazione e PSE toolkit (Resource policy and tools)
Responsabilità ISTI
Previsto per Dicembre 2003
• Strategie per l'integrazione di librerie in ambienti a componenti
(Component based library intergration/interoperability)
Responsabilità ICAR (+IMATI)
Previsto per Dicembre 2003
• Strategie per lo sviluppo in ambienti a componenti di applicazioni
parallele complesse con struttura irregolare e requisiti di alte
prestazioni rispetto a diversi parametri architetturali (CPU,
memoria, I/O). (Component based development of irregular
applications)
Responsabilità IMATI
Previsto per Dicembre 2003
Attività in corso
• Divisione del lavoro in 4 task principali
• divisione “logica” ( amministrativa)
• ogni task:
– 1 coordinatore/responsabile
• attività di collegamento
– personale di gruppi diversi
• interfaccia elettronica (mailing list, etc.)
– al lavoro da aprile/maggio
– assessment dei goal e avvio del lavoro già fatta
Task
• Task 1
– analisi dei requisiti di ambiente a componenti per
ambiente di programmazione
• Task 2
– analisi delle proposte di componenti esistenti
• Task 3
– resource management per ambienti avanzati di
programmazione
• Task 4
– supporti di ambienti avanzati di programmazione
strutturati a componenti
Task: obiettivi
• estate
– checkpoint
• autunno
– task 1 2 e 4 convergono al modello di
componenti WP8
– task 3 contribuisce principalemente alla parte
supporto
• contributo essenziale ai deliverable del
primo anno
Finanziamenti & contratti
• Finanziamenti
– rimodulati in base alle riduzioni di budget
– e in base alla ristrutturazione degli obiettivi
• Contratti
– giovani ricercatori (main resources)
– contratti & Co.co.co (risorse addizionali)
ICAR
CS
NA
PA
CEDR
M
ISTI
UNIPI
IMA
UNIMI
Totale
Keuro
246
108
81
51
459
301
181
40
1o anno
82
36
27
17
153
100
63
14
2o anno
82
36
27
17
153
100
63
13
3o anno
82
36
27
17
153
100
63
13
PSE
Toolkit
Integr.
librerie
Impl.
Ambiente
+ librerie
Sviluppo
modello
componenti
Res.
manag. +
ambiente
Sviluppo
ambiente
Integr.
librerie
Integr.
Librerie
1467
Keuro
Task
principale
Tipo contratto
Giovani ricercatori
No
1
2
1
1
1
Assegni di ricerca
Co.co.co
Unità
Durata
Stato
ISTI
3 anni
Partiti 1 maggio 2003
UNIPI
3 anni
Partiti 1 maggio 2003
ICAR-PA
3 anni
6 m.u. Nel primo anno
ICAR-NA
3 anni
6 m.u. Nel primo anno
UNIMIB
2 ISTI
2
IMA
1
ICAR-NA
1
ICAR-CS
1
ICAR-PA
1
CEDRM
Da assegnare
1 anno
Partiti 1/05/03 e 1/06/03
3 anni
Da assegnare
3 m.u. nel primo anno
6 m.u. nel primo anno
4. m.u. nel primo anno
2 m.u. nel primo anno
Ambiente di programmazione
Parallel appl. programmer
Parallel component
repository
PSE
toolkit
Appl. component
repository
Parallel component framework
Basic component
repository
Scripting
framework
Standard GRID services
(abstract machine)
Ambiente di programmazione (2)
• programmatore sceglie componenti
– per strutturare comportamento concorrente
della propria applicazione
• framework a componenti
– implementa scelte concorrenti in parallelo O
distribuito a seconda della disponibilità di
risorse
– anche dinamicamente
Componente parallela
Pipeline a due stadi
in
out
stadio1
stadio2
istanziazione ma anche
compilazione (tecniche
statiche o dinamiche)
f°g
f
g
Componente parallela (2)
f°g
• esecuzione sulla griglia
– acquisizione risorse, scheduling attività
• ottimizzazione tipiche della forma parallela
– bilanciamento (statico/dinamico) sugli stadi
Componente // (hint opt.)
Pipeline a due stadi
in
out
stadio1
stadio2
• parametri “funzionali” (concorrenza!)
– codice/componente stadio, canali I/O
• parametri “di ottimizzazione” (opzionali)
– requisiti stadio, politiche di bilanciamento
(farm lento, raggruppa, ...), ...
Basic component (es.1)
allocazione iniziale
(o di default)
politiche di caching
Gestione dati condivisi
fra processi distribuiti
XDR
(marshalling&
unmarshalling)
dimensione dei dati
tipo dei dati
Basic component (es. 2)
Politiche di bufferizzazione
Protocollo di trasporto
Politiche di combining
Canale di comunicazione
Mittente
Destinatario
Sincronia
Capacità
Scripting di componenti
• modo effettivo per la combinazione di
componenti implementativi
– facility per il programmatore
– target degli strumenti di compilazione &/o
implementazione dei livelli superiori
• in parte sostituisce ed in parte integra il
framework dove vivono i componenti
• livelli scriptability diversi per utenti diversi
Ambiente di programmazione
PSE toolkit
Ambiente programmazione
(editing di componenti +
comandi di esecuzione)
GRID
(tutto quanto fa griglia, hw, sw, mw ...)
Scarica

WP8 - ICAR-CNR