SpiNNaker, il computer che simula il cervello umano

SpiNNaker, il supercomputer che simula il funzionamento del cervello umano

SpiNNaker, il supercomputer che simula il funzionamento del cervello umano. Credits: alignthoughts.com

Un’architettura multi-core e parallela: ecco cos’è, in poche parole, SpiNNaker. Ma descriverlo semplicemente così sarebbe riduttivo: il supercomputer, frutto di una ricerca ventennale e acceso per la prima volta a Novembre scorso, vuole simulare il cervello umano e le sue connessioni nel modo più accurato possibile.

La Spiking Neural Network Architecture, questo il suo nome completo, è uno dei componenti più importanti della piattaforma del progetto “Human Brain”, che si occupa di computazione “neuromorfa”.

Informatica e neuroscienza

Capire come funziona il cervello umano è una delle sfide più grandi che ci si è posti. SpiNNaker potrebbe aiutare i neuroscienziati a svelare questo affascinante mistero, simulando il comportamento dei neuroni. La parte più complessa è sicuramente riprodurre le dinamiche che esistono tra di essi. I singoli nodi che compongono l’architettura rappresentano un neurone. Tramite degli “spike”, ovvero dei messaggi, l’obiettivo è ricreare la comunicazione neurale. La caratteristica principale di questi spike è l’inaffidabilità: la comunicazione è casuale e non riproducibile, esattamente come nel cervello.

SpiNNaker
Il supercomputer SpiNNaker, realizzato dalla University of Manchester. Credits: elettronicain.it

La natura parallela dell’architettura sta nel fatto che il supercomputer invia miliardi di piccole quantità di informazioni a migliaia di destinazioni. Un funzionamento che certo si distacca dal funzionamento di un computer tradizionale. Solitamente, infatti, i messaggi devono contenere una notevole quantità di informazione, quale ad esempio il task da portare a termine o i dati che vanno processati. Al contrario, i messaggi dei neuroni sono semplicemente dei piccoli impulsi elettrochimici, e l’informazione contenuta è codificata principalmente nella velocità, nella frequenza e nel momento in cui avviene l’impulso.

Lo SpiNNaker cerca di replicare questo funzionamento utilizzando un protocollo chiamato “Address Event Representation“, sviluppato esplicitamente per questo scopo. Ognuno dei core può simulare circa un milione di sinapsi. Questo significa o 1.000 neuroni con 1.000 connessioni, o 100 neuroni con 10.000 connessioni, a seconda del modello neurale scelto.

Caratteristiche tecniche e funzionali

Il supercomputer è composto da 57.600 processori ARM9, e ognuno di questi ha 18 core e 128MB di DDR SDRAM, per un totale di 1.036.800 core e 7 terabyte di RAM. Nel dettaglio, i chip sono dei sistemi Globally Asynchronous Locally Synchronous (GALS). Questo crea delle singole zone sincrone, che sono i già nominati nodi, che comunicano tra di loro in maniera asincrona. Il tutto si trova in 10 rack di quasi 50cm, e in ognuno di essi si trovano circa 100.000 core.

Matrice di SpiNNaker
Un’immagine della matrice di SpiNNaker, con i 18 core. Credits: http://apt.cs.manchester.ac.uk

Al momento dell’accensione, uno dei core diventa il “Monitor core”, che si occupa dei vari task di gestione del sistema. Altri 16 core sono impegnati per lo scopo principale dell’architettura, mentre il rimanente è utilizzato per fault tolerance. I pacchetti che vengono inviati sono detti “source-routed”, ovvero contengono informazioni relative soltanto a chi invia, ed è il network che si deve occupare di farli arrivare a destinazione. Il cuore dell’infrastruttura di comunicazione è un router multicast, che replica i pacchetti in modo che possano essere inviati a diverse destinazioni.

Un efficiente sfruttamento di questa tecnologia, potrebbe migliorare la conoscenza medica di processi neurali legati all’apprendimento e a malattie quali Alzheimer ed epilessia.