Vai al contenuto| Home page|

   Ti trovi in: HOME »Programmi, progetti e risultati »I progetti »PRIN - Programmi di ricerca di Rilevante Interesse Nazionale»Programma di ricerca»Unità di ricerca
INIZIO_TESTO_DA_INDICIZZARE

UNITA' DI RICERCA

italiano - english
Bibliografia
[1] Aglets Specification 1.1 Draft, available at http://www.trl.ibm.com/aglets/spec11.htm

[2] A. Benso, S. Enyedi, L. Miclea, Intelligent Agents and BIST/BISR - Working together in Distributed Systems, IEEE International Test Conference, Baltimore (Maryland), October 2002.

[3] 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.

[4] S. Fischmeister, and W. Lugmayr. The Supervisor-Worker Pattern, Pattern Languages of Programs (PLoP'99) (Allerton House, IL, August 15-18, 1999).

[5] A. Fuggetta, G. P. Picco, G. Vigna, Understanding Code Mobility, IEEE Transactions on Software Engineering, vol. 24 , n. 5, pp. 342-361, May 1998.

[6] D. Kotz, R. Gray, and D. Rus, Future Directions for Mobile-Agent Research, IEEE Distributed Systems Online, vol. 3, n.8, August 2002.

[7] 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.

[8] National Institute of Standards and Technology (U.S.), Advanced Encryption Standard. Available at: http://csrc.nist.gov/publication/drafts/dfips-AES.pdf

[9] H. S. Nwana, Software Agents: An Overview, Knowledge Engineering Review: Intelligent Systems Research, AA&T, BT Laboratories, UK, pages 206-244, 1996.

[10] 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.

[11] H. Peine, Run-Time Support for Mobile Code, Ph.D. Thesis, Universität Kaiserslautern, 2002.

[12] G. P. Saggese, A. Mazzeo, N. Mazzocca, A. G. M. Strollo, An FPGA-Based Performance Analysis of the Unrolling, Tiling, and Pipelining of the AES Algorithm, FPL2003, LNCS 2778, pp. 292-302, 2003.

[13] 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.

[14] 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.

[15] B. Zeidman, The future of programmable logic, http://www.embedded.com/showArticle.jhtml?articleID=15201141

[16] W. Mangione-Smith, B.Hutchings, “Configurable Computing: The Road Ahead”, Reconfigurable Architectures Workshop 1997

[17] J. Lach, W. Mangione-Smith, M. Potkonjak, “Efficiently Supporting Fault-Tolerance in FPGAs”, ACM/SIGDA Sixth International Symposium on Field-Programmable Gate Arrays (FPGA ’98) 1998

[18] M. J. Wirthlin, B. L. Hutchings, “A Dynamic Instruction Set Computer”, Proc of the IEEE symposium on FPGAs for Custom Computing Machines, April 1995. IEEE Computer Society Press, 1995.

[19] E. Tau, D. Chen, I. Eslick, J. Brown, A. DeHon, “A First Generation DPGA Implementation”, Proc. Oh the Third Canadian Workshop on Field-Programmable Devices, pages 138-143; May 1995

[20] R. Bittner, P. Athanas, “Wormhole Run-Time Reconfiguration”, FPGA ’97: ACM/SIGDA International Symposium on Field Programmable Gate Arrays, Special Interest Group on Design Autonation (SIGDA), ACM, 1997

[21] H. Koile et al., “A 30ns 64Mb DRAM with Built-in Self-Test and Repair Function”, Int’l Solid State Circuits Conf., pp 150-151, February 1992

[22] R. Trueuer, V. K. Agarwal, “Built-in Self-Diagnosis for Repairable Embedded RAMs”, IEEE Design and Test of Computers, pp 24-33, June 1993

[23] T. Chen, G. Sunada, “Design of a Self-testing and Self-repairing Structure for Highly Hierarchical Ultra Large Capacity Memory Chips”, IEEE Trans. On VLSI Systems, pp 88-97, Vol. 1, No. 2, June 1993

[24] J. R. Day, A Fault-Driven, “Comprehensive Redundancy Algorithm”, IEEE Design & Test of Computers, pp. 35-44, June 1985

[25] R. W. Haddad, A. T. Dahbura, A. B. Sharma, “Increased Throughput for the Testing and Repair of RAM’s with Redundancy”, IEEE Transactions on Computers, Vol. 40, No. 2, pp. 154-166, February 1991

[26] N. Hasan, C. L. Liu, “Minimum Fault Coverage in Reconfigurable Arrays”, Digest of Papers, FTCS-18, pp. 348-353, June 1988

[27] D. K. Bhavsar, “An Algorithm for Row-Column Self-Repair of RAMs and Its Implementation in the Alpha 21264”, IEEE International Test Conference, pp. 311-318, 1999

[28] O. S. Bair et al., “Method and Appatus for Configurable Build-In Self-Repairing of Asic Memories Design”, United States Patent n° 5577050, Nov. 19, 1996

[29] A. Kablanian et al., “Built-In Self Repair System for Embedded Memories”, United States Patent n° 5764878, Jun. 9, 1998

[30] I. Kim, Y. Zorian, G. Komoriya, H. Pham, F. P. Higgins, J. L. Lewandowski, “Built In Self Repair for Embedded High Density SRAM”, IEEE International Test Conference, pp. 1112-1119, 1998

[31] Benso A., Chiusano S., Di Natale G., Prinetto P. (2002). An on-line BIST RAM architecture with self-repair capabilities. IEEE TRANSACTIONS ON RELIABILITY. vol. 51, Issue: 1, March 2002 pp. 123-128 ISSN: 0018-9529

[32] W. Mangione-Smith, B. Hutchings, Configurable Computing: The Road Ahead, Reconfigurable Architectures, Workshop 1997

[33] J. Lach, W. Mangione-Smith, M. Potkonjak, Efficiently Supporting Fault-Tolerance in FPGAs, ACM/SIGDA Sixth International Symposium on Field-Programmable Gate Arrays (FPGA '98)1998,

[34] M. J. Wirthlin, B. L. Hutchings, A Dynamic Instruction Set Computer, Proc. of the IEEE Symposium on FPGAs for Custom Computing Machines, April 1995. IEEE Computer Society Press, 1995

[35] E. Tau, D. Chen, I. Eslick, J. Brown, A. DeHon, A First Generation DPGA Implementation, Proc. Of the Third Canadian Workshop on Field-Programmable Devices, pages 138-143; May 1995

[36] R. Bittner, P. Athanas, Wormhole Run-Time Reconfiguration, FPGA '97: ACM/SIGDA International Symposium on Field Programmable Gate Arrays, Special Interest Group on Design Automation (SIGDA), ACM, 1997

[37] Benso A., Chiusano S., Prinetto P. (2001). A Self-Repairing Execution Unit for Microprogrammed Processors. IEEE MICRO. vol. 21, Issue: 5 pp. 16-22 ISSN: 0272-1732

[38] BENSO, A., Di Carlo, S., Di Natale, G., Prinetto P. (2003). On-Line Self-Repair of FIR Filters. Ieee Design & Test Of Computers. vol. 20, Issue: 2, May-June 2003 pp. 50-57 ISSN: 0740-7475

Programma di ricerca

COMMUTA: Componenti hardware/software mutanti per sistemi distribuiti dinamicamente riconfigurabili
Università di riferimento
Politecnico di TORINO - AUTOMATICA E INFORMATICA - TORINO(TO)
Responsabile dell'Unità di ricerca
Paolo PRINETTO
Descrizione
L'obbiettivo prioritario del progetto è la definizione, la realizzazione e la sperimentazione di un'architettura distribuita riconfigurabile basata sulla possibilità di modificare dinamicamente le compenti sia hardware che software di un sistema mediante l'impiego di agenti mobili e di dispostivi hardware programmabili.

Il modello architetturale proposto si basa su nodi di diverse tipologie, che interagiscono mediante una rete di comunicazione di tipo wired o wireless. Le due principali categorie di nodi sono:

- Nodi agenzia: si tratta di nodi di elaborazione dedicati alla gestione ed al coordinamento degli agenti operanti nel sistema. I nodi agenzia operano secondo il paradigma dei web-services, gestendo la pubblicazione dei servizi implementati dagli agenti mediante un server UDDI e offrendo meccanismi di ricerca evoluti

- Nodi mutanti: tali nodi sono composti, dal punto di vista fisico, da un'architettura di elaborazione di tipo classico (processore, memoria, I/O, etc.) e da unità FPGA programmabili dinamicamente. I nodi mutanti saranno i responsabili dell'elaborazione vera e propria richiesta dall'applicativo in esecuzione. La loro architettura e quindi le loro funzionalità hardware e software saranno configurabili a run-time attraverso l'utilizzo degli agenti mobile presenti nel sistema.

L'idea base del progetto dell'Unità di Ricerca del Politecnico di Torino è la definizione dell'architettura e delle funzionalità dei nodi muatnti, ossia dei nodi di elaborazione e riconfigurazione dinamica. Rispetto ai normali sistemi riconfigurabili, i nodi mutanti proposti in questo progetto dovranno essere in grado di:

- soddisfare esigenze di calcolo di tipo applicativo, realizzando, con un circuito hardware dedicato (implementato all'interno dell'FPGA), alcune delle funzionalità software previste dall'agente;

- garantire il corretto funzionamento del sistema a seguito di guasti individuati da operazioni di test, determinando nuove condizioni operative che richiedono la sostituzioni di componenti hardware.

Entrambe le funzionalità dovranno quindi essere realizzate utilizzando al meglio la riconfigurabilità sia hardware che software del nodo mutante. In particolare:

- per soddisfare le esigenze di calcolo e di prestazioni, la riconfigurabilità permetterà di non legare l'implementazione del nodo ad una specifica applicazione. Ad esempio, se si ha necessità di sicurezza, si potrà configurare il sistema con un processore crittografico, mentre lo stesso hardware, in diversa configurazione, potrà essere utilizzato con funzioni di compressione dati per applicazione di trasmissioni di immagini. In questo caso il processore potrà avere anche potenza più limitata, semplificando la realizzazione del nodo di elaborazione e limitando la dissipazione di potenza nei casi in cui non è necessario utilizzare l'hardware aggiuntivo;

- per garantire il corretto funzionamento del sistema ed aumentare il grado tolleranza ai guasti i nodi mutanti saranno progettati in modo da permettere di riparare/sostituire un componente guasto attraverso una riconfigurazione dinamica della logica programmabile.

Un aspetto estremamente innovativo dell'architettura proposta è la gestione della riconfigurazione tramite agenti mobili. In questo modo non è necessario memorizzare sul singolo nodo le sequenze di bit di configurazione che non servono. Al momento opportuno saranno "trasportate" sul nodo da un agente. E' dunque evidente che il progetto introduce una generalizzazione del concetto di mobilita' in quanto lo spostamento dell'agente puo' comportare l'attivazione di un nuovo modulo software oppure l'attivazione di un nuovo componete hardware specificamente configurato per l'applicazione. Di fatto l'hardware riconfigurato puo' essere considerato una sorta di processore specializzato per l'applicazione e si viene così a creare un modello di "hardware mobile", concetto innovativo ed introdotto in questo progetto per la prima volta.

Facendo riferimento al piano descritto nel modello A, il lavoro dell'unità Politecnico di Torino nel progetto COMMUTA si articolerà nelle seguenti attività:
WP1 Definzione delle soluzioni
- T1.C0: Definizione delle soluzioni integrate
- T1.P1: definizione e progettazione di soluzioni architetturali sia hardware sia software del nodo mutante dedicate alla gestione e al coordinamento della mobilità degli agenti da e per il nodo stesso;
- T1.P2 - definizione e progettazione di soluzioni architetturali sia hardware sia software del nodo mutante in grado di consentire un efficiente partizionamento e riconfigurabilità delle risorse hardware del sistema;
- T1.P3 - definizione e progettazione di soluzioni architetturali sia hardware sia software del nodo mutante in grado di rilevare, durante il normale funzionamento, eventuali guasti permanenti nelle componenti del nodo stesso e proporre efficienti ed efficaci soluzioni di riconfigurazione per la risoluzione del problema
- T1.C1 Integrazione delle soluzioni

WP2 Realizzazione del prototipo
- T2.C0: Definizione della piattaforma di integrazione
- T2.P1: implementazione delle soluzioni definitie nel WP1

WP3 Valutazione sperimentale
- T3.C0: Definizione del dimostratore e pianificazione degli esperimenti
- T3.P1: valutazione delle prestazioni e della copertura dei guasti nel prototipo

Per la realizzazione dei task obbiettivi sopra citati, lo schema concettuale dell'architettura del nodo mutante (schematizzata in figura) sarà composta dai seguenti moduli:

- un Layer di gestione agenti (deliverable del task T1.P1). Questa prima interfaccia si occuperà di gestire le comunicazioni con i nodi agenzia, di ricevere ed autenticare agenti in arrivo sul nodo mutante, e di inviare tramite agenti richieste di riconfigurazione provenienti dal nodo stesso;

- Configuration Processor (deliverable del task T1.P2) con il compito di gestire la riconfigurazione dell'hardware programmabile del nodo. Le richieste di riconfigurazione potranno arrivare sia dall'interno del nodo stesso, per esempio da un'applicazione, oppure dall'esterno, per esempio da un nodo agenzia.

- un Diagnostic Test Processor (deliverable del task T1.P3) incaricato di testare periodicamente le risorse hardware (e software) del sistema, di localizzare eventuali malfunzionamenti ed in base alla loro tipologia richiedere al Configuration Processor di attivare una riconfigurazione dell'hardware che ripari l'errore o di richiedere all'esterno una riconfigurazione del nodo completo, in modo da non rischiare di propagare l'errore all'esterno del sistema stesso.





L'architettura proposta sarà dunque in grado di soddisfare le due specifiche principali del nodo mutante, ossia la riconfigurabilità per esigenze di calcolo di tipo applicativo e la riconfigurabilità per esigenze di riparazione del nodo o del sistema. Richieste per entrambi i tipi di riconfigurazione potranno arrivare sia dall'interno che dall'esterno del nodo:

- Richieste interne:
o Per esigenze prestazionali e di calcolo: da applicazioni che richiedono risorse diverse o più efficienti di quelle al momento disponibili nel sistema.
o Per esigenze di riparazione: dal Diagnostic Test Processor, dopo il rilevamento di un guasto all'interno del nodo.

- Richieste esterne:
o Per esigenze prestazionali e di calcolo: dai nodi agenzia, che possono decidere di riconfigurare il nodo in modo da modificare/ottimizzare le prestazioni e/o funzionalità a livello di sistema.
o Per esigenze di riparazione a livello di sistema: dai nodi agenzia in seguito alla necessità di riparare o riconfigurare il sistema in seguito a un guasto.

Particolare attenzione sarà riservata alle strategie di riparazione. In particolare verrà implementata un strategia gerarchica di riparazione. Una volta che il Diagnostic Test Processor ha rilevato, diagnosticato e localizzato il guasto, si dovrà scegliere, in base alla tipologia e criticità del guasto stesso, quale delle seguenti quattro strategie di riparazione attivare:

- Riparazione di una parte di un componente: la parte hardware guasta del componente viene programmata all'interno dell'FPGA. Questa strategia è possibile solo nel caso di componenti la cui architettura è altamente modulare.

- Riparazione di un componente completo: il componente viene messo off-line e sostituito con una sua "replica", programmata all'interno dell'FPGA.

- Riparazione della funzionalità di un nodo: una certa funzionalità del nodo viene implmentata all'interno dell'FPGA.

- Riparazione del nodo: il nodo intero viene messo off-line, e sostituito a livello di sistema da un'altro nodo mutante.

Le funzionalità dell'architettura saranno sperimentate in una reale applicazione di controllo di sensori distribuiti, applicazione particolarmente significativa per la quale è richiesto il controllo di numerosi dispositivi distribuiti in ampie aree geografiche. In questo caso si suppone che il sistema operi in due diverse fasi. In una prima fase il sistema utilizza l'hardware riconfigurabile a disposizione per incrementare le prestazioni di algoritmi di filtraggio. In una seconda fase, a seguito di un guasto di un'unità di memoria per la gestione dei segnali di campo, utilizza lo stesso hardware per sostituire il modulo di memoria, implementando quindi anche l'algoritmo di filtraggio interamente in software.