Contenuto
Ti trovi in: HOME »Programmi, progetti e risultati »I progetti »PRIN - Programmi di ricerca di Rilevante Interesse Nazionale»Programma di ricerca»Unità di ricercaINIZIO_TESTO_DA_INDICIZZARE
UNITA' DI RICERCA
italiano - english
Bibliografia
[Ag01]Aglets Specification 1.1 Draft, available at http://www.trl.ibm.com/aglets/spec11.htm
[Av98]
R. Aversa, A. Mazzeo, N. Mazzocca, U. Villano, “Heterogeneous System Performance and Analysis Using PS”, IEEE Concurrency, USA, pp. 20-29, 1998.
[Av01]
R. Aversa, B. Di Martino, N. Mazzocca, S. Venticinque, “Mobile Agents for Distributed and Dynamically Balanced Optimization”, 9th International Conference, HPCN Europe 2001, Amsterdam, The Netherlands, Springer Verlag Series Lecture Notes in Computer Science (2110) pp161-170, 2001.
[Av03]
R. Aversa, B. Di Martino,N. Mazzocca, S. Venticinque. “MAGDA: a software environment for Mobile AGent based Distributed Applications”, in Proc. of 11th Int. Conference on Parallel and Distributed Processing, Genova, Italy, pp. 332-338, 2003.
[Av03b]
R. Aversa, N. Mazzocca, U. Villano, “A case study of application modeling in heterogeneous computing environments: Cholesky factorization in a NOW”, The Journal of Supercomputing. vol. 24, pp. 5-24, 2003.
[Av03c]
R. Aversa., B. Di Martino, N. Mazzocca, S. Venticinque. “An environment for mobile agent based distributed applications”, in PDP03, Parallel Distributed and Network based Processing.
[Be02]
A. Benso, S. Enyedi, L. Miclea, “Intelligent Agents and BIST/BISR - Working together in Distributed System”s, IEEE International Test Conference, Baltimore (Maryland), October 2002.
[Bo04]
A. Bondavalli, S. Chiaradonna, D. Cotroneo, L. Romano, “Effective Fault Treatment for Improving the Dependability of COTS and Legacy-Based Applications”, IEEE Transactions on Dependable and Secure Computing, vol. 1, no. 4, pp. 223-237, 2004.
[Br99]
B. Brewington, R. Gray, K. Moizumi, D. Kotz, G. Cybenko and D. Rus, “Mobile Agents for Distributed Information Retrieval”, in Matthias Klusch, editor, Intelligent Information Agents, chapter 15, Springer-Verlag, 1999.
[Ca97]
A. Carzaniga, G. P. Picco, and G. Vigna, “Designing Distributed Applications with Mobile Code Paradigms,” in Proc. 19th Conf. Software Eng. (ICSE’97), R. Taylor, ed., pp. 22–32, ACM Press, 1997.
[Ca98]
T. J. Callahan, P. Chong, A. Dehon, and J. Wawrzynek, “Fast Module Mapping and Placement for Datapaths in FPGAs”, ACM/SIGDA International Symposium on FPGAs, pp. 123–132, 1998.
[Co02]
K. Compton and S. Hauck, “Reconfigurable Computing: A Survey of Systems and Software”, ACM Computing Surveys, Vol. 34, No. 2, pp. 171–210, June 2002.
[Ct02]
D. Cotroneo, N. Mazzocca, L. Romano, S. Russo, “Building a dependable system from a legacy application with CORBA”, Journal of System Architectures, vol. 48/1-3, pp. 81-98, 2002.
[Ct03]
D. Cotroneo, C. di Flora, S. Russo, “An enhanced service oriented architecture for developing web-based applications”, Journal of Web Engineering, vol. 1, no. 2, pp. 128-146, 2003
[Di02]
B. Di Martino, N. Mazzocca, G. P. Saggese, A. G. M. Strollo, “A Technique for FPGA Synthesis Driven by Automatic Source Code Analysis and Transformations”, in M. Glesner, P.Zipf, M. Renovell (eds,): Field Programmable Logic and Applications. Reconfigurable Computing is going mainstream, Lecture Notes in Computer Science, n. 2438, pp. 47-58, Springer-Verlag, 2002.
[En04]
“ENAMORADO: Enabling Nomadic Agents in a Multimedia-ORiented Architecture of Distributed Objects”, IST-2001-38285, http://projects.archetypon.com/enamorado/index.html
[Es63]
G. Estrin, B. Bussel, R. Turn, and J. Bibb, “Parallel processing in a restructurable computer system”, IEEE Transactions on Electronic Computers, pp. 747–755, 1963.
[Fi99]
S. Fischmeister, and W. Lugmayr, “The Supervisor-Worker Pattern”, Pattern Languages of Programs (PLoP'99), Allerton House, IL, August 15-18, 1999.
[Fu98]
A. Fuggetta, G. P. Picco, and G. Vigna, “Understanding Code Mobility”, Vol. 24, No. 5, pp. 342-361, May 1998.
[Ko02]
D. Kotz, R. Gray, and D. Rus, “Future Directions for Mobile-Agent Research”, IEEE Distributed Systems Online, vol. 3, n.8, August 2002.
[Kr02]
S. Krishnaswamy, A. Zaslavsky, and S.W. Loke, “Techniques for Estimating the Computation and Communication Costs of Distributed Data Mining”, Procs. of International Conference on Computational Science (ICCS2002) - Part I, Lecture Notes in Computer Science (LNCS) 2331, Springer-Verlag. pp. 603-612, 2002.
[Li00]
Y. Li, T. J. Callahan, E. Darnell, R. Harr, U. Kurkure, and J. Stockwood, “Hardware/software co-design of embedded reconfigurable architectures”, Design Automation Conference, pp. 507–512, 2000.
[Ma97]
A. Mazzeo, N. Mazzocca, S. Russo, V. Vittorini, “A method for predictive performance evaluation of distributed programs”, Simulation Practice and Theory, vol. 1, pp. 65-82, 1997.
[Ma97b]
N. Mazzocca, S. Russo, V. Vittorini, “Formal methods integration for the specification of dependable distributed system”, Journal of Systems Architecture, vol. 43, pp. 671-688, 1997.
[Ma98]
A. Mazzeo, N. Mazzocca, U. Villano, “Efficiency in Heterogeneous Computing Systems”, Concurrency-Practice and Experience, vol. 10, pp. 285-313, 1998.
[Ma04]
A. Mazzeo, N. Mazzocca, L. Romano, G. P. Saggese. “A Tamper Resistant Hardware Accelerator for RSA Cryptographic Applications”, in Journal of Systems Architecture, Elsevier Science Publishers, Amsterdam, The Netherlands,.
[Nu94]
M. Nuttall, “Survey of Systems Providing Process or Object Migration,” Technical Report Doc 94/10, Dept. of Computing, Imperial College, May 1994.
[Nw96]
H. S. Nwana, “Software Agents: An Overview”, Knowledge Engineering Review: Intelligent Systems Research, AA&T, BT Laboratories, UK, pages 206-244, 1996.
[Om95]
Object Management Group, “CORBA: Architecture and Specification”, Aug. 1995.
[Pa03]
A. Padovitz, S. Krishnaswamy, and S.W. Loke, “Towards Efficient and Smart Selection of Web Service Providers Before Activation”, the Workshop on Web Services and Agent-based Engineering (WSABE 2003), Melbourne, Australia, July, 2003.
[Pe02]
H. Peine, “Run-Time Support for Mobile Code”, Ph.D. Thesis, Universität Kaiserslautern, 2002.
[So02]
M. Sonza Reorda, M. Violante, N. Mazzocca, S. Venticinque, A. Bobbio, G. Franceschinis, “A Hierarchical Approach for Designing Dependable Systems,” HLDVT2002, IEEE International Workshop on High Level Design Validation and Test, pp. 63-67, 2002.
[Wa94]
J. Waldo, G. Wyant, A. Wollrath and S. Kendall, “A Note on Distributed Computing”, technical report SMLI TR-94-29, Sun Microsystems Labs Inc, 1994.
[Wo95]
M. Wooldridge and N. R. Jennings, “Agent Theories, Architectures and Languages: A Survey”, Intelligent Agents: ECAI-94 Workshop on Agent Theories, Architecture and Languages, pages 1-32, 1995.
Programma di ricerca
COMMUTA: Componenti hardware/software mutanti per sistemi distribuiti dinamicamente riconfigurabiliUniversità di riferimento
Università degli Studi di NAPOLI "Federico II" - INGEGNERIA DELL'INFORMAZIONE - NAPOLI(NA)Responsabile dell'Unità di ricerca
Nicola MAZZOCCADescrizione
L'obiettivo del programma di ricerca proposto dall'unità Napoli Federico II (nel seguito UNINA) consiste nell'investigare le potenzialità derivanti dall'estensione dei paradigmi di software mobile (agenti mobili in particolare) a sistemi hardware/software con capacità di riconfigurazione a tempo di esecuzione. In particolare, UNINA definirà modelli e schemi architetturali per nodi eterogenei e riconfigurabili in infrastrutture distribuite e completerà tale attività con la realizzazione di un'architettura prototipale.L'approccio proposto rivela un ampio numero di possibili scenari applicativi innovativi:
- Sistemi self-repairing: componenti hardware/software mobili migrano su client periferici, effettuano procedure di testing, ed in caso di dispositivo danneggiato sostituiscono fisicamente il componente guasto scaricando l'opportuna configurazione hardware.
- Sistemi self-adapting: componenti hardware/software nei client sono cambiati dinamicamente per adattarsi al loro ambiente.
- Partizionamento hardware/software dinamico: la riconfigurazione a tempo di esecuzione è sfruttata per analizzare l'esecuzione delle applicazioni sui client e velocizzarla migrando operazioni critiche in hardware.
In particolare, i principali obiettivi di UNINA sono:
O.1. definire un modello ed un prototipo per l'architettura hardware/software di un nodo riconfigurabile
O.2. definire requisiti, modelli, schemi implementativi ed un prototipo per infrastrutture distribuite ed eterogenee in cui i client sono nodi riconfigurabili
Il contributo di UNINA sarà basato su una consolidata esperienza sia nello sviluppo e analisi di sistemi distribuiti eterogenei, con particolare riferimento a software mobile, sia al progetto e sviluppo di sistemi hardware riconfigurabili. In particolare, l'unità coopererà con il Politecnico di Torino (POLITO), per integrare le proprie competenze con aspetti circuitali di basso livello della riconfigurabilità ed esperienze di testing. UNINA coopererà anche con l'università di Milano Bicocca (UNIMIB) sfruttando le metodologie e tecniche di progetto per agenti mobili e sistemi riconfigurabili affrontati da UNIMIB nel contesto dello stesso progetto.
In particolare, per l'obiettivo O.1 sarà essenziale incorporare i risultati di POLITO sugli aspetti hardware della riconfigurabilità all'interno del singolo nodo. L'obiettivo O.2 sarà significativamente influenzato dalle metodologie e tecniche di progetto sviluppate da UNIMIB.
Allo scopo di raggiungere i suoi obiettivi, UNINA sfutterà diverse piattaforme di sviluppo recentemente acquisite, come una piattaforma di sviluppo ed integrazione per sistemi embedded associati con moduli FPGA, e componenti di rete per la gestione della sicurezza.
Le metodologie, le architetture ed i dimostratori sviluppati nel contesto di questo progetto condurranno a modelli generali di mobilità per componenti hardware riconfigurabili ed una precisa definizione di hardware mobile. In particolare, fondendo il concetto di riconfigurabilità a tempo di esecuzione (run-time reconfigurabiliy, RTR) con il paradigma ad agenti mobili si giungerà alla definizione di agenti mobili hardware.
Il lavoro di UNINA consisterà delle seguenti attività:
A1 Definizione di una architettura software/hardware per i nodi riconfigurabili
A2 Modelli di infrastruttura per calcolo distribuito, mobile, riconfigurabile
Con riferimento alla pianificazione del progetto definita nel modello A, articolato nei seguenti work packages:
T1 Definzione delle soluzioni
T2 Realizzazione del prototipo
T3 Valutazione sperimentale
T4 Management
UNINA svolgerà le seguenti unità di lavoro:
T1.N1 Definizione del modello computazionale e supporto dei sistemi operativi (A1)
T1.N2 Modelli e schemi architetturali per i nodi riconfigurabili (A1)
T1.N3 Sviluppo di modelli di sicurezza e dependability per l'accesso alla rete (A1)
T1.N4 Definizione dei requisiti e meccanismi di mobilità per un'infrastruttura distribuita a supporto di calcolo riconfigurabile e mobile (A2)
T1.N5 Definizione di modelli e schemi per infrastruttura distribuita (A2)
T2.N1 Sviluppo di un dimostratore di nodo riconfigurabile (A1)
T2.N2 Sviluppo di un dimostratore dell'infrastruttura distribuita (A2)
T3.N1 Valutazione dei modelli e risultati sperimentali per il nodo riconfigurabile (A1)
T3.N2 Valutazione dei modelli e risultati sperimentali per l'infrastruttura distribuita (A2)
T1.N1 Definizione del modello computazionale e supporto dei sistemi operativi
Mesi 01-06
Allo scopo di definire modelli generali e schemi architetturali per nodi eterogenei con capacità di self-testing e self-repairing all'interno di infrastrutture distribuite, occorrerà affrontare due problemi essenziali legati all'architettura dei nodi. Innanzitutto, mentre tecnologie e strumenti di progetto sono già disponibili per sviluppare applicazioni personalizzate con hardware riconfigurabile a tempo di esecuzione, un modello computazionale generale per "programmi hardware" mobili non esiste attualmente ed una reale analogia con il modello di von Neumann per i programmi software è ancora impossibile. La mancanza di un modello computazionale generale potrebbe vanificare qualsiasi sforzo di estendere il concetto di modilità del software all'ambito hardware in ambienti eterogenei, poiché le configurazioni hardware sarebbero rigidamente legate alla specifica piattaforma. Un secondo problema è legato al supporto dei sistemi operativi per il reconfigurable computing, in particolare per componenti hardware/software mobili. Modelli generali per le interfacce esposte dai sistemi operativi ai componenti mobili non esistono. Molti lavori di ricerca discutono il problema di definire un insieme di servizi del sistema operativo mirati a nascondere i dettagli della tecnologia hardware sottostante ed esporre alle applicazioni utente generiche una visione astratta delle risorse riconfigurabili. Tali sistemi operativi sono chiamati a volte reconfigurable hardware operating system. Che una simile astrazione sia effettivamente possibile o no è ancora oggetto di discussione e non esistono risposte ovvie data anche l'influenza di aspetti tecnologici di basso livello sulla questione.
Nel contesto di questa attività, UNINA condurrà uno studio delle attuali e future tecniche e tecnologie per reconfigurable computing, basata anche sui risultati dell'attività di POLITO con particolare riferimento agli aspetti circuitali di basso livello della riconfigurabilità hardware. Tale studio condurrà all'introduzione di "programmi hardware" e all'introduzione di un insieme di modelli computazionali adatti a modellare la mobilità hardware/software. Per quanto riguarda il supporto dei sistemi operativi, UNINA studierà le caratteristiche dei sistemi operativi proposti in letteratura e tenterà di definire un insieme di requisiti di base e livelli di astrazione necessari a supportare la mobilità hardware/software. In particolare, UNINA darà rilievo al supporto specializzato per alcune applicazioni, tra cui il self-testing e self-healing, con contributi significativi da POLITO. I risultati di questa attività saranno integrati nel lavoro di UNIMIB sulla definizione di tecnologie e metodologie di progetto per sistemi riconfigurabili.
T1.N2 Modelli e schemi architetturali per i nodi riconfigurabili
Mesi 04-10
L'obiettivo principale di questa attività consiste nel definire modelli e schemi per l'architettura dei nodi dell'infrastruttura e dei loro ambienti di esecuzione. L'architettura sfrutterà i risultati su modelli computazionali ed interfaccia di sistema operativo raggiunti nella precedente attività, e dovrà essere sufficientemente generale e completa per affrontare i requisiti di dependability e sicurezza affrontati nelle attività susseguenti.
Sulla base di esperienze precedenti di UNINA, questa attività condurrà a modelli generali per l'architettura del nodo, sfruttando un approccio a livelli mutuato dai consueti modelli usati per sistemi basati su mobilità del software. Tali modelli includeranno un Core Operating System (COS), un Network Operating System (NOS), e un ambiente di esecuzione (Computational Environment, CE), in cui programmi hardware/software mobili verranno processati. Tali programmi saranno strutturati in unità di esecuzione (executing units, EUs) e risorse. Questa classificazione sarà utile per definire meccanismi di mobilità nelle susseguenti attività, e sarà incorporata nelle tecniche di progetto per applicazioni riconfigurabili sviluppate da UNIMIB.
T1.N3 Sviluppo di modelli di sicurezza e dependability per l'accesso alla rete
Mesi 04-10
La riconfigurazione hardware è un processo critico in sé in quanto bitstream che siano stati intenzionalmente o accidentalmente modificati possono facilmente danneggiare l'hardware riconfigurato. E' quindi essenziale studiare problemi di sicurezza e dependability posti dell'uso di agenti hardware mobili che siano capaci di modificare parti del sistema host a livello circuitale.
POLITO studierà problematiche di dependability relative alla struttura del nodo riconfigurabile. UNINA completerà tale studio con riferimento all'accesso alla rete nel nodo.
UNINA sfrutterà le sue competenze in materia di dependability in ambienti di rete con particolare riferimento al wireless, che molto verosimilmente caratterizzerà l'infrastruttura immaginata. UNINA identificherà i punti critici per la dependability di ambienti wireless (come Bluetooth e WiFi), e valuterà i livelli di dependability raccogliendo sul campo dati e classificando errori e malfunzionamenti. Allo scopo di condurre un'analisi basata su misure, verranno considerate due questioni fondamentali:
i) realizzare una infrastruttura automatizzata e non invasiva per il monitoraggio e la raccolta di errori e malfunzionamenti sotto diversi profili di carico
ii) quantificare caratteristiche di dependability estraendo solo dati significativi da tutti quelli misurati.
In particolare, allo scopo di valutare i livelli di dependability in ambienti wireless, UNINA prevede di sviluppare una infrastruttura automatizzata distribuita per il monitoraggio e la raccolta di malfunzionamenti spontanei in Personal Area Networks (PANs), con particolare riferimento alle piconet Bluetooth.
T2.N1 Sviluppo di un dimostratore di nodo riconfigurabile
Mesi 08-14
Questa attività mira a costruire un dimostratore di nodo riconfigurabile. Tale lavoro sarà basato sulle tecniche di progetto definite dalle attività precedenti e sui risultati di UNIMIB. La strumentazione sperimentale porrà l'accento su ambienti embedded ed enfatizzerà caratteristiche e requisiti tipici dei moderni sistemi embedded. Essa includerà:
- processori embedded
- sistemi operativi real-time embedded
- ambienti di esecuzione interoperabili che consentano di realizzare la portabilità di componenti mobili hardware/software in maniera trasparente (con speciale enfasi sull'ambiente Java)
- supporto per reconfigurable computing, con riferimento particolare su tecnologie FPGA e riconfigurabilità parziale/dinamica
I risultati di questa attività saranno integrati nelle fasi di valutazione successive condotte da UNINA (valutazione dell'architettura dei nodi) e UNIMIB (valutazione delle metodologie di progetto).
T3.N1 Valutazione dei modelli e risultati sperimentali per il nodo riconfigurabile
Mesi 12-16
Questa attività concerne la valutazione sperimentale dei modelli e schemi architetturali a supporto della mobilità di componenti hardware/software. L'obiettivo di questa attività, incentrata sul singolo nodo riconfigurabile, è promuovere la definizione e lo sviluppo di una infrastruttura di nodi distribuiti affrontata nelle attività seguenti.
Le tecniche proposte verranno applicate agli opportuni componenti del dimostratore prototipale sviluppato. I risultati degli esperimenti consentiranno la validazione dei modelli e schemi architetturali proposti, valutando benefici e limiti rispetto alla classe di sistemi considerati.
T1.N4 Definizione dei requisiti e meccanismi di mobilità per un'infrastruttura distribuita a supporto di calcolo riconfigurabile e mobile
Mesi 10-16
Sulla base dei modelli ottenuti dalle precedenti unità di lavoro, questa attività definirà e classificherà i fondamentali meccanismi per la mobilità di componenti hardware/software. Dato che tre differenti componenti costituiscono una Unità di Esecuzione, segmento codice/struttura hardware, stato di esecuzione, e spazio dati, differenti meccanismi saranno forniti all'interno dell'infrastruttura per affrontare separatamente la mobilità di ognuno di questi componenti. Sarà enfatizzata la distinzione tra strong mobility e weak mobility per il codice e stato di esecuzione. Una ulteriore classificazione includerà specifici meccanismi come la migrazione o la clonazione remota. Questi meccanismi saranno classificati secondo la direzione del trasferimento, la natura della struttura hardware/codice trasferita, la sincronizzazione, ed il momento in cui il codice o hardware spostato è effettivamente eseguito sul sito di destinazione. La gestione dello spazio dati in corrispondenza della migrazione sarà inoltre oggetto di studio. In particolare, si affronterà il problema dell'associazione (binding) dell'unità di esecuzione alle risorse dell'ambiente, anche rispetto alla loro natura.
Sulla base delle astrazioni e meccanismi di mobilità sopramenzionati, sarà possibile identificare un numero di differenti paradigmi di progetto per implementare la mobilità di codice/hardware. UNINA considererà tre principali paradigmi di mobilità: calcolo remoto, codice on-demand, e agenti mobili, in contrasto con il tradizionale modello client-server. Anche sulla base dei risultati di UNIMIB, l'enfasi sarà sul paradigma ad agenti, dal momento che esso è adatto a scenari in cui l'intera unità di calcolo è spostata su un sito remoto con il suo stato, il codice/hardware necessario, ed almeno alcune delle risorse necessarie per l'opearzione. Fondendo il concettosi riconfigurabilità a tempo di esecuzione con il paradigma ad agenti mobili, UNINA tenterà di dare una precisa definizione di agenti mobili hardware.
T1.N5 Definizione di modelli e schemi per infrastruttura distribuita
Mesi 14-16
L'obiettivo di questa attività è definire modelli e schemi che saranno utili per definire un'infrastruttura di nodi riconfigurabili eterogenei. UNINA sfrutterà le sue esperienze precedenti nel calcolo mobile distribuito per studiare e classificare soluzioni ed approcci. I risultati prodotti da UNIMIB sulle metodologie di progetto e la loro valutazione saranno integrati in questa attività, I requisiti di applicazioni per self-testing e self-adaptability, precedentemente definiti da POLITO, influenzeranno significativamente questa attività.
T2.N2 Sviluppo di un dimostratore dell'infrastruttura distribuita
Mesi 15-20
Questa attività mira a costruire un dimostratore di infrastruttura distribuita di nodi riconfigurabili eterogenei. Questa attività incorporerà i risultati del precedente lavoro sul singolo nodo ed in particolare l'implementazione del dimostratore di nodo riconfigurabile precedentemente sviluppato. Il prototipo di piattaforma di sviluppo ed integrazione sviluppato da UNIMIB contribuirà a questa attività.
T3.N2 Valutazione dei modelli e risultati sperimentali per l'infrastruttura distribuita
Mesi 20-24
Questa attività ha come obiettivo fornire una valutazione sperimentale di modelli e tecniche a supporto di self-testing, self-repairing, self-adaptability all'interno di una infrastruttura distribuita di nodi riconfigurabili eterogenei. Sarà essenziale considerare per questa attività i risultati delle precedenti implementazioni di dimostratori. Le valutazioni sperimentali di UNIMIB e POLITO contribuiranno ai risultati di questa attività. In particolare, la qualità dei risultati raggiunti sarà misurata sulla base dei requisiti di applicazioni di self-testing e self-adaptability individuati da POLITO.



