Pubblicità
Tech by VICE

Come costruire un mini-supercomputer con meno di 100 euro

Wei Lin ha assemblato un piccolo computer composto da chip di 7 euro l'uno.

di Daniel Oberhaus
19 aprile 2018, 8:38am

Immagine: Wei Lin/Github

I supercomputer vengono usati dai governi e dagli istituti di ricerca intorno al mondo per cercare di risolvere alcuni dei problemi più complessi del mondo, tipo la previsione di uragani e la costruzione di armi atomiche. Nella maggior parte dei casi, un supercomputer è effettivamente un ammasso calcolante composto centinaia di migliaia di computer singoli messi assieme e controllati da un software. Ogni computer fa andare processi simili in parallelo, ma quando la potenza di calcolo viene combinata si arriva a un sistema molto più potente.

Spesso i supercomputer hanno le dimensioni di un campo da basket e costano centinaia di migliaia di dollari. Ma come ha dimostrato l'utente di Github, Wei Lin, è possibile costruire un cluster fatto-in-casa senza spendere un patrimonio.

Come spiegato su Github, hanno cercato di costruire un cluster usando sei chip ESP32 che sono dei microcontroller — un computer con memoria minima e processori — simili ai Raspberry Pi ma molto più economici.

Un Raspberry Pi costa 30 dollari, un ESP32 ne costa 7 (perché fabbricati in Cina, mentre Arduino e Raspberry Pi sono europei). Quindi fare dei computing cluster di Raspberry Pi — incluso uno da 750 nodi — può diventare un progetto potenzialmente molto dispendioso per un profano. Quello di Lin, d'altro canto, costa tanto quanto un Pi e ha tre volte più core.

La sfida principale, secondo Lin, era capire come coordinare le potenze di calcolo tra i chip. per questo, hanno usato un programma chiamato Celery che è ottimizzato per sincronizzare i core.

In un video, Lin ha dimostrato di poter usare un cluster da 3 nodi per far funzionare un programma di conteggio parole. Come dettagliato da Lin, il software di base invia una lista di compiti al cluster — in questo caso relativo al conteggio parole — poi ogni nodo prende un task dalla lista, lo esegue, e porta un risultato prima di prendere un nuovo task dalla lista. Allo stesso tempo, i nodi stanno comunicando l'un l'altro per coordinare gli sforzi.

Anche se probabilmente non risolverai i più ardui problemi della fisica con questa architettura cluster, è un'applicazione piuttosto ok per degli hardware non sofisticati che riescono a performare in parallelo, ed è un bel modo per capire come imparano effettivamente i supercomputer senza dover andare in bancarotta.

Questo articolo è apparso originariamente su Motherboard US.