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 grigli a & 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à UNIPIPrevisto 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à UNIPIPrevisto 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à UNICALPrevisto 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à ISTIPrevisto 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à IMATIPrevisto 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
LIB & PSEtoolkit
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
1467Keuro
CS NA PA CEDRM
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
Task principale
PSE Toolkit
Integr. librerie
Impl. Ambiente + librerie
Sviluppo modello compo-
nenti
Res. manag. + ambiente
Sviluppo ambiente
Integr. librerie
Integr. Librerie
Tipo contratto No Unità Durata Stato
Giovani ricercatori 1
ISTI 3 anni Partiti 1 maggio 20032
UNIPI 3 anni Partiti 1 maggio 20031
ICAR-PA 3 anni 6 m.u. Nel primo anno1
ICAR-NA 3 anni 6 m.u. Nel primo anno
Assegni di ricerca 1
UNIMIB Da assegnare
2 ISTI 1 anno Partiti 1/05/03 e 1/06/03
2IMA 3 anni Da assegnare
Co.co.co1
ICAR-NA 3 m.u. nel primo anno1
ICAR-CS 6 m.u. nel primo anno1
ICAR-PA 4. m.u. nel primo anno1
CEDRM 2 m.u. nel primo anno
Ambiente di programmazione
Parallel component framework
Parallel component repository
Parallel appl. programmerPSE
toolkit
Basic componentrepository
Scriptingframework
Standard GRID services(abstract machine)
Appl. component repository
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 stadiin out
stadio1 stadio2
gf
f ° g
istanziazione ma anchecompilazione (tecniche statiche o dinamiche)
Componente parallela (2)
• esecuzione sulla griglia– acquisizione risorse, scheduling attività
• ottimizzazione tipiche della forma parallela– bilanciamento (statico/dinamico) sugli stadi
f ° g
Componente // (hint opt.)
• parametri “funzionali” (concorrenza!)– codice/componente stadio, canali I/O
• parametri “di ottimizzazione” (opzionali)– requisiti stadio, politiche di bilanciamento
(farm lento, raggruppa, ...), ...
Pipeline a due stadiin out
stadio1 stadio2
Basic component (es.1)
Gestione dati condivisifra processi distribuiti
politiche di caching
dimensione dei dati
allocazione iniziale(o di default)
XDR(marshalling&unmarshalling)
tipo dei dati
Basic component (es. 2)
Canale di comunicazione
Sincronia Capacità
MittenteDestinatario
Protocollo di trasporto Politiche di bufferizzazione
Politiche di combining
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
PSE toolkit
Ambiente di programmazione
GRID (tutto quanto fa griglia, hw, sw, mw ...)
Ambiente programmazione(editing di componenti + comandi di esecuzione)