Skip to Content
È tempo di storia, scopriamo l’informatica
È tempo di storia, scopriamo l’informatica
È tempo di storia, scopriamo l’informatica

ICAR - Istituto di Calcolo e Reti ad Alte Prestazioni

GIuseppe De Pietro

L’Istituto di Calcolo e Reti ad Alte Prestazioni (ICAR) del Consiglio Nazionale delle Ricerche (CNR) è stato istituito nel 2003 nell’ambito della ristrutturazione della rete scientifica dell’Ente. L’obiettivo era quello di integrare in un'unica struttura, oltre che le risorse umane e tecnologiche, anche le competenze scientifiche che, a partire dagli anni 60, si erano sviluppati in alcuni organi del CNR nell’Italia meridionale. Tali competenze riguardavano i sistemi di elaborazione paralleli e vettoriali e le loro applicazioni in campo scientifico e commerciale, e le reti di elaboratori. Le prime si erano sviluppate principalmente nel centro di studio sui calcolatori ibridi (CSCI) [trasformato successivamente in istituto IRSIP nel 1990] e nel centro CPS (Centro di Ricerche per il Calcolo Parallelo e i Supercalcolatori) istituito nel 1995 nell’ambito del progetto Mezzogiorno. Il centro CERE di Palermo aveva approfondito invece le tematiche di ricerca relative alle reti di calcolatori. Per tanto per avere un idea precisa di tali competenze è necessario rifarsi alla nascita e allo sviluppo di tali centri.

INDICE

 

Le origini

Nel 1956 fu inaugurato, presso la facoltà di Ingegneria dell’Università di Napoli, il Centro di Calcolo Elettronico (CCE) con l’installazione di un Analizzatore Differenziale Numerico BENDIX D-12, formato da 700 valvole e 1500 diodi al Germanio, con una memoria a tamburo numerico con 11 piste, ruotante a 4300 giri al minuto. Il D-12, non solo contribuì allo sviluppo della ricerca in altri settori, elettrotecnica, idraulica, aereodinamica, fisica teorica, fornendo la soluzione di equazioni differenziali, trattando problemi asintotici, determinando i valori di parametri inerenti a particolari sistemi fisici, ma segnò anche l’inizio di un nuovo settore di ricerca e didattica, quello che sarebbe poi stato chiamato Ingegneria Informatica, con notevoli conseguenze anche nell’ambito del CNR.

Nel 1970 su iniziativa del prof. G. Savastano e del prof. L. Napolitano con una apposita convenzione fra l’Università degli studi di Napoli ed il Consiglio Nazionale delle Ricerche veniva istituito il Centro Studi sul Calcolatori Ibridi (CSCI) con l’obiettivo dello studio delle modalità operative e della utilizzazione dei Calcolatori Ibridi, i Supercalcolatori dell’epoca che avevano reso possibili le prime missioni spaziali. Nell’attesa della disponibilità dei fondi per l’acquisto di una macchina ibrida di dimensione medio grandi, come era previsto, nel 1972 si decise di realizzare un prototipo di mini-supercalcolatore ibrido. Tale prototipo detto MANU I° (Figura 1), era basato sull’accoppiamento di un calcolatore analogico “Hybrid Oriented” Hitachi 505E ed un calcolatore numerico della classe dei calcolatori di processo HP 2100A.

Figura 1 - MANU I°

Il prototipo MANU I° costituisce il primo ed unico Calcolatore Ibrido progettato e realizzato in Italia ed era caratterizzato da un approccio metodologico alla realizzazione della Unità di Accoppiamento Ibrido (UAI) veramente originale ed interessante: Si ritenne, infatti, che realizzare tale progetto, considerando esclusivamente le caratteristiche hardware dei due calcolatori da accoppiare, costituiva un approccio in parte poco sistematico e spesso poco efficiente, in quanto non teneva minimamente conto di quale sarebbe dovuta essere l’architettura hardware-software dell’intero sistema ibrido in cui l’interfaccia si trovava ad operare.

Al progetto della UAI fu, pertanto, premesso lo sviluppo del modello funzionale del sistema di calcolo ibrido che si intendeva realizzare. Tale modello si basava sul concetto che in un sistema calcolatore, sia esso numerico, analogico, ibrido, l’esecuzione di un programma è lo sviluppo di più processi cooperanti che evolvevano sui diversi processori di cui il sistema è costituito, con la possibilità di sfruttare al massimo il parallelismo tra i componenti (Digitale, UAI, e Analogico) e all’interno di ciascuno di essi.

MANU I° fu utilizzato fino al 1975 per risolvere tipici problemi di Ingegneria elettrotecnica, idraulica, e aereodinamica.

Vai all'indice

Macchine di tipo Data-Updata Dataflow

Nel contempo, con i notevoli progressi fatti nel campo della tecnologia digitale i vantaggi dell’impiego di unità analogiche per superare i limiti di velocità operative presentate dai calcolatori digitali dell’epoca, andavano via via diminuendo, mentre restavano immutati gli svantaggi sia in termini di precisione e stabilità sia in termini di scalatura del problema, tipici dei calcolatori analogici. Per i sistemi ad elevate prestazioni / supercalcolatori si andava ormai affermando definitivamente l’idea del “tutto digitale” con la possibilità di realizzare sistemi a parallelismo più o meno massiccio.

Già a partire dal 1973 si era avviata una lunga e dettagliata analisi della possibilità e modalità di una completa migrazione delle attività in questa direzione. Peraltro, già si andava affermando la necessità di valutare l’utilizzazione di modelli computazionali diversi da quello di Von Neuman allo scopo di gestire al meglio il parallelismo disponibile.

Fu così avviato il progetto Parallel Multiple Incremental Computer (PMIC) che si basava da un lato sulla esperienza acquisita presso l’Università di Napoli nell’uso degli Analizzatori Differenziali Numerici Ternari e, dall’altra, sulla architettura del tipo Calcolatore Incrementale ad incrementi multipli di tipo multiprocessore, definita dai ricercatori del centro, destinata a costituire una valida alternativa tutta digitale ai Calcolatori Ibridi.

Il primo prototipo della Macchina PMIC, costituita da poche decine di unità di calcolo incrementali (Integratori, Moltiplicatori, e Addizionatori), basato sul Modello Computazionale Data Update Dataflow e caratterizzato da un modello di programmazione completamente grafico, fu presentato nel 1976 nel corso di un Workshop sulla simulazione in linea dei problemi dinamici. Successivamente fu sviluppato un emulatore del PMIC, chiamato PMIC Emulator (PMICE), in grado di supportare fino a 1024 Processori Virtuali, che fu presentato nel 1979 nel corso di una conferenza internazionale e validamente utilizzato per la simulazione di Reti elettriche, e per la soluzione di problemi di navigazione (in collaborazione con l’Accademia delle Scienze dell’Unione Sovietica). 

Vai all'indice

Transputer, Processi Sequenziali Comunicanti (CSP) e OCCAM

Agli inizi degli anni 80 viene introdotto sul mercato il Transputer IMMOS T414. Un single chip CMOS in grado di fornire le funzioni essenziali per una efficiente realizzazione di un nodo di un multiprocessore message-passing. Tale chip era costituito da una CPU che forniva la potenza elaborativa, un controllore di memoria esterna per supportare un sistema di memoria locale al nodo, ed un certo numero di link, per i message-passing autonomi per la comunicazione fra nodi.

Nel 1984 venne introdotto sul mercato il chip Transputer T414, avente come linguaggio macchina OCCAM, questo linguaggio permetteva ad un sistema di essere gerarchicamente decomposto in una collezione di processi concorrenti, comunicanti fra loro mediante canali. Un programma OCCAM poteva essere implementato o da un singolo transputer o da un insieme di transputer, ciascuno dei quali poteva eseguire uno o più processi OCCAM. Presso il CSCI, veniva avviato, in collaborazione con il dipartimento di informatica dell’Università di Pisa, un programma di ricerca teso a studiare le metodologie e tecniche per utilizzare tale tipo di componente per la realizzazione di macchine a parallelismo massiccio con architettura MIMD.

Tali macchine erano destinate a rappresentare la controparte dei supercalcolatori vettoriali, con la possibilità di offrire alte prestazioni sia per applicazioni scientifiche sia per quelle  commerciali.

Nel 1986 venne realizzato un primo prototipo di calcolatore parallelo a 32 nodi T414 (15 MHz), collegati con una rete di interconnessione di tipo toroidale, in cui ciascuno nodo era caratterizzato da una potenza elaborativa di 15 MIPS  come valore di picco, detto PiNa1 (Figura 2).

Tale prototipo fu a lungo utilizzato per valutazioni e prove, da cui emerse chiaramente che per poter realizzare delle macchine parallele basate su tale componente era necessario che i transputer avessero delle potenze elaborative maggiori. Tale esigenza rappresentata da tutti gli ambienti operativi, sia accademici che industriali e commerciali, indussero la IMMOS ad immettere sul mercato nel 1988 il transputer T800, avente ancora una architettura a 32 bit, ma con un ciclo interno di 50 ns (20 MHz), e 20 MIPS di potenza elaborativa scalare. Inoltre, grazie alla disponibilità “on-chip” di una unità in virgola mobile a 64 bit, conforme allo standanrd IEEE 754, esso presentava una potenza elaborativa di 2,8 MFlops. Nel 1989 venne installata presso il CSCI la Meiko Computing Surface CS1, una macchina parallela, avente architettura MIMD a memoria distribuita costituita da 256 nodi di elaborazione,  ciascuno basato sul transputer T800 e memoria di massa di 20Mbyte. La potenza di picco nominale era pari a 5,12 GIPS e a poco più di 0,7 GFlops. Quasi nello stesso periodo fu installata una macchina FPS 500 avente una architettura MIMD a memoria condivisa.

 

Queste macchine, acquisite con i finanziamenti provenienti dall’intesa istituzionale di programma stipulata fra CNR e Ministero per gli Interventi Straordinari per il Mezzogiorno, costituirono il primo nucleo operativo del laboratorio “Computers & Artificial Intelligence” (C&AI) del CSCI. Detto laboratorio era stato instituito, fra l’altro, per supportare attività di ricerca sviluppata nell’ambito dei progetti in collaborazione in corso con:

  • il Dipartimento di Informatica (DI) dell’Università di Pisa, concernenti le macchine parallele multi-style a parallelismo massiccio e loro applicazioni;
  • l’istituto Internazionale di Alti Studi Scientifici (IIASS) di Vietri (Salerno) concernente le architetture dei neurocalcolatori e loro applicazioni;
  • l’Istituto di Ricerca in Fisica Cosmica e Tecnologie Relative (IFCTR) del CNR di Milano, concernente le architetture di sistemi a parallelismo massiccio aventi modello computazionale Data Flow e modello di   programmazione funzionale.

 

Con la guida del prof. E Caianiello, del prof. R. Vaccaro e del prof. M Vanneschi e grazie all’impegno e all’entusiasmo di un gruppo di giovani ricercatori (A. d’Acierno, M. Ceccarelli, I. De Falco, G. De Pietro, A. Petrosino, E. Tarantino, L. Verdoscia; F. Baiardi; G. Sechi) fu sviluppato uno specifico tipo di approccio da usare per identificare l’architettura generale (Hardware, Software di sistema, Ambiente di programmazione e metodologia) della prossima generazione dei sistemi di elaborazione paralleli General Purpose. Tale approccio si basava sulla costituzione di gruppi di ricerca interdisciplinare capaci di declinare allo stesso tempo il paradigma Computer Science e la corrispondente attività di prototyping con il paradigma Computational Science (Fox) e la corrispondente soluzione di problemi reali su macchine reali.

Un esempio estremamente significativo di tale approccio integrato è costituito dal prototipo PiNa2 (Figura 3), presentato nel 1991 durante il workshop del progetto finalizzato Sistemi Informatici e Calcolo Parallelo, nell’ambito del sotto-progetto Architetture Parallele.

Figura 3. Architettura generale del prototipo PiNa2

Tale prototipo, realizzato come emulatore sulla macchina Meiko CS1, era costituito da 64 nodi multi-transputer, collegati fra loro da una reta di interconnessione riconfigurabile.

Molti dei ricercatori che collaborarono attivamente alla realizzazione del prototipo avevano lungamente utilizzato la macchina CS1 di per se per risolvere, fra l’altro, problemi reali di fluidodinamica computazione con del software da loro stessi progettato e realizzato.

Intanto nel 1990 il CSCI era stato trasformato in Istituto per la Ricerca sui Sistemi Informatici Paralleli (IRSIP).

Vai all'indice

Il Laboratorio Computer & Artificial Intelligence

Negli anni dal 1989 al 1996 il laboratorio C&AI si arricchì di numerose macchine parallele, alcune di interesse meramente storico, quali ad esempio la FPS Tesseract T40, una macchina MIMD a memoria distribuita con topologia a ipercubo, a 32 nodi. Tale macchina concepita dalla FPS in collaborazione con il premio Nobel per la fisica computazione K. Wilson, messa a disposizione dell’istituto gratuitamente, risultava completamente squilibrata per quanto concerne il rapporto tra la potenza elaborativa del singolo nodo e la banda passante della rete di interconnessione. Stante la natura intimamente strutturale dello squilibrio, nonostante tutti i tentativi fatti non fu possibile trovare alcuna soluzione effettivamente percorribile.

Nel 1992 furono installate la Connection Machine CM 200 con 8K processori e con un  data vault di 20 GB, mostrata in Figura 4,.

Figura 4 - Connection Machine CM200

E la MasPar MP103-AB configurata con 4K di processori e una memoria di massa di 2 GB, mostrata in Figura 5.

Figura 5 - MasPar MP103 AB

Nello stesso tempo era apparso sempre più evidente che per poter realizzare una macchina multi style a parallelismo massiccio, veramente general purpose, era indispensabile risolvere il problema della gestione dei DBMS paralleli, con particolare riferimento a quelli relazionali, quali ad esempio, Oracle.

Pertanto, nel 1993 fu acquistata una macchina Meiko RDC (Relational Data Cache) con 4 istanze parallele di Oracle e 2 GB di memoria di massa, che aveva una architettura di base identica alla Meiko CS1, già installata, e poteva, quindi, essere integrata con essa e permettere una intensa attività di ricerca con la possibilità di effettuare interessanti validazioni sul campo. Nello stesso anno veniva installato anche un cluster di 8 workstation RISC 6000 della IBM.

Oltre alla installazione di due macchine CONVEX, la prima vettoriale e la seconda parallela, nel 1994 venne acquisita la Meiko CS2 (Figura 6), macchina fra le più avanzate della sua generazione con architettura MIMD a memoria distribuita con 24 nodi bi-processori ed un sistema di scambio dei messaggi fra gli stessi, realizzato mediante un chip appositamente progettato in grado di garantire una latenza piccolissima.

Figura 6 - Meiko CS2

Per quanto concerne l’architettura dei Neurocalcolatori general purpose e loro applicazioni nel 1995 la Siemens immise sul mercato una macchina avanzatissima la SYNAPSE-1 che era basata sull’approccio degli array sistolici al neurocomputing, che era quello più a lungo e intensamente usato dai ricertori del centro. Per mettere a frutto tutto il lavoro fatto si decise di acquisire tale macchina con il sistema software ECANSE che fu installato nello stesso anno. Tale macchina è stata largamente utilizzata in ambiente produttivo.

Per quanto riguarda, infine, le macchine a parallelismo massiccio con Modello Computazionale Dataflow e Modello di Programmazione Funzionale, i principali tentativi furono indirizzati verso la definizione di modelli Dataflow che permettessero di realizzare direttamente in hardware i grafi dataflow e sulla individuazione di componenti hardware la loro reale implementazione.

Dopo un prototipo realizzato come emulatore sul calcolatore N Cube a 512 processori installato al Caltech venivano completamente definiti tutti gli aspetti tecnici del modello (1998).

L’ultima macchina parallela acquisita dall’ IRSIP fu il Silicon Graphics Onyx 2000 utilizzato nell’ambito dei progetti: i) “Cinema Elettronico in Alta Definizione”, e ii) Grafica Avanzata per le Applicazioni Industriali e Commerciali.

Durante tutto il periodo di attività le macchine installate nel laboratorio C&AI sono state largamente utilizzate dalla comunità scientifica sia in ambito accademico sia in ambito CNR, senza trascurare i numerosi utilizzatori di altre prestigiose università europee e statunitensi. Fra le molte collaborazioni ricordiamo quella con l’agenzia spaziale italiana concernente lo sviluppo di algoritmi per la fluidodinamica computazionale applicata su elaboratori paralleli, quella con Alenia concernenti la generazione semi-automatica di griglie zonali Navier­ Stokes,   e tecniche di accoppiamento di blocchi Navier ­ Stokes  con  blocchi Eulero e il boom sonico di aerei commerciali supersonici. La biologia computazionale è stata peraltro un ampio settore di ricerca e collaborazione con numerose istituzioni italiane e straniere (come EMBL, IIGB, Università di Napoli, Università di Bari, etc.)

Il CPS nasce all’interno del Dipartimento di Matematica e Applicazioni dell’Università degli Studi di Napoli “Federico II” prima come iniziativa scientifica finanziata direttamente dal CNR, poi come Centro di Ricerca vero e proprio istituito con apposite convenzioni fra il CNR e l’Università di Napoli, nell’ambito del progetto mezzogiorno.

Nell’ambito del laboratorio di Calcolo Parallelo vengono installati nel corso degli anni: un PC-cubo composto da 4 Personal Computer comunicanti attraverso le porte seriali (1989), un sistema Transputer based DSI-T4 (1990), un multiprocessore a memoria distribuita Intel iPSC/860 in una configurazione a 16 nodi (1991) e vari cluster di workstation HP e IBM connessi con reti Ethernet e FDDI (1992-95).

Nel 1995 l’istituto acquisisce un sistema IBM Scalable POWER parallel 2 (SP2) basato su processori RS/6000 con tecnologia RISC dotato di una rete ad alte prestazioni. Il calcolatore supporta varie attività di ricerca nell’ambito di progetti del CNR e del dipartimento di Matematica e Applicazioni dell’Università di Napoli “Federico II”,  viene utilizzato per diversi progetti internazionali e citato in diversi articoli su riviste.

Successivamente prendendo spunto dal progetto Beowulf del Center of Excellence in Space Data and Information Sciences (CESDIS) della NASA, l’istituto si specializza nella realizzazione di sistemi di calcolo ad alte prestazioni utilizzando componenti “commodity”. In tale ambito vengono realizzati negli anni  tre sistemi Beowulf: Altair un cluster di 16 nodi basato su Pentium Pro, Beocomp un cluster di 16 nodi basato su Pentium II e Vega un cluster di 20 nodi basato su Pentium IV. Tali cluster vengono utilizzati per attività di ricerca sul software ed i sistemi paralleli e distribuiti e sulle tecnologie per il Grid Computing.

Nel 2000 il MIUR finanzia mediante un PON la creazione di un sistema Grid nell’ambito del progetto multiregionale SPACI (Southern Partnership for Advanced Computational Infrastructures), al fine di condividere in modo efficiente ed efficace le risorse in termini di capacità di calcolo, capacità di storage e di strumentazioni scientifiche sofisticate tra le università e i centri/istituti di ricerca del mezzogiorno.

L’ICAR partecipa al progetto insieme all’High Performance Computing Centre (HPCC), all’Università di Lecce al centro di eccellenza MIUR per il calcolo ad alte prestazioni dell’Università della Calabria.

Nell’ambito di questo progetto l’ICAR acquisisce un cluster HP XC 6000 a 64 nodi biprocessore con rete di interconnessione ad alte prestazioni Quadrics QsNetII Elan 4.

Nel più recente presente l’ICAR si è dotato di un cluster per il calcolo parallelo basato su processori Intel Xeon con 32 nodi, una rete di interconnessione Infiniband, un sistema di storage in fibre channel 150 TB e 16 GPU Nvidia.

Vai all'indice