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 classicoambiente –editore, strumenti di compilazione, framework di esecuzione ambiente PSE –PSE toolkit –accesso più user friendly alle caratteristiche dellambiente classico + tecniche classiche PSE
Tecnologia a componenti utilizzata a diversi livelli –utente (programmazione di applicazioni) –progettista dellambiente (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 prestazioniprogettazione 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 dellambiente –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 dellattività di studio –delle varie componenti WP8 base per lattività 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 LIB & PSE toolkit
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 CSNAPACEDR M ISTIUNIPIIMAUNIMI Totale Keuro o anno o anno o anno Task principale PSE Toolkit Integr. librerie Impl. Ambiente + librerie Sviluppo modello compo- nenti Res. manag. + ambiente Sviluppo ambiente Integr. librerie Integr. Librerie
Tipo contrattoNoUnitàDurataStato Giovani ricercatori 1 ISTI3 anniPartiti 1 maggio UNIPI3 anniPartiti 1 maggio ICAR-PA3 anni6 m.u. Nel primo anno 1 ICAR-NA3 anni6 m.u. Nel primo anno Assegni di ricerca 1 UNIMIB Da assegnare 2 ISTI1 annoPartiti 1/05/03 e 1/06/03 2 IMA3 anniDa 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 component framework Parallel component repository Parallel appl. programmer PSE toolkit Basic component repository Scripting framework 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 stadi in out stadio1 stadio2 g f f ° g istanziazione ma anche compilazione (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 stadi in out stadio1 stadio2
Basic component (es.1) Gestione dati condivisi fra 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à Mittente Destinatario 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)