360 likes | 491 Views
Piattaforme abilitanti per griglie computazionali ad alte prestazioni orientate a organizzazioni virtuali scalabili. Rimodulazione WP8 High-performance Component-based Programming Environment. Obiettivo WP8.
E N D
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 • Sviluppo ambiente di programmazione • sottoattività relative a • librerie e • PSE • 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 LIB & PSE toolkit • 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 1467 Keuro 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 2003 2 UNIPI 3 anni Partiti 1 maggio 2003 1 ICAR-PA 3 anni 6 m.u. Nel primo anno 1 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 2 IMA 3 anni Da assegnare Co.co.co 1 ICAR-NA 3 m.u. nel primo anno 1 ICAR-CS 6 m.u. nel primo anno 1 ICAR-PA 4. m.u. nel primo anno 1 CEDRM 2 m.u. nel primo anno
Ambiente di programmazione Parallel appl. programmer PSE toolkit Parallel component repository 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
Pipeline a due stadi in out stadio1 stadio2 f ° g f g Componente parallela istanziazione ma anche compilazione (tecniche statiche o dinamiche)
f ° g Componente parallela (2) • esecuzione sulla griglia • acquisizione risorse, scheduling attività • ottimizzazione tipiche della forma parallela • bilanciamento (statico/dinamico) sugli stadi
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 stadi in out stadio1 stadio2
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 Capacità Sincronia
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 ...)