Bouw voor 80 euro een mini-supercomputer die in een Tupperware-bakje past

Ontwikkelaar Wei Lin plakte wat chips van zes euro aan elkaar.
19.4.18
Afbeelding: Wei Lin/Github

Overheden en onderzoeksinstellingen over de hele wereld gebruiken supercomputers om complexe wetenschappelijke problemen op te lossen. Denk aan het voorspellen van orkanen en het modelleren van atoomwapens. In de meeste gevallen is een supercomputer een computercluster die uit honderden of duizenden individuele computers bestaat die allemaal met elkaar verbonden zijn en worden aangestuurd door centrale software. Elke afzonderlijke computer runt soortgelijke parallelle processen, maar wanneer je al die rekenkracht combineert, krijg je een systeem dat veel krachtiger is dan elke afzonderlijke computer.

Supercomputers nemen vaak net zoveel ruimte in als een basketbalveld en kosten honderden miljoenen euro’s, maar Github-gebruiker Wei Lin heeft laten zien dat je een huisgemaakt computercluster kunt bouwen zonder je spaarvarken een paar miljoen keer stuk te hoeven slaan.

In de Github-repository van Wei Lin staat gedetailleerd beschreven hoe hij de computercluster met zes ESP32-chips bouwde. Dit zijn microcontrollers – een computer met een minimaal geheugen en processors – die vergelijkbaar zijn met een Raspberry Pi. Maar dan nog veel goedkoper.

Een losse Raspberry Pi kost ongeveer 25 euro, tegenover een ESP32 van 6 euro (dit komt omdat ze in China worden gefabriceerd, terwijl Arduino’s en Raspberry Pi’s in Europa worden gemaakt.) Handige mensen hebben in het verleden al clustercomputers van Raspberry Pi’s gemaakt; het Los Alamos National Lab heeft al een Pi-cluster in elkaar geknutseld met 750 computers. Alleen voor de hobbyist is dat niet echt te betalen. De huis-tuin-en-keuken-supercomputer van Lin is wat vriendelijker voor de beurs en heeft ook nog eens drie keer zoveel processors als een losse Pi die evenveel kost.

De belangrijkste uitdaging was volgens Lin om uit te vinden hoe alle losse processen met elkaar gecoördineerd konden worden. Hiervoor gebruikte hij het programma Celery, dat is geoptimaliseerd is voor het synchroniseren van computertaken over meerdere kernen.

In een video laat Lin zien hoe een cluster met drie nodes een woordtelprogramma uitvoert. Zoals Lin gedetailleerd verteld, verzendt de software een lijst met taken naar het cluster – in dit geval dat telprogramma – en vervolgens kiezen de nodes een taak uit de lijst, voeren ze die uit en koppelen ze hun resultaat weer terug naar de software. Vervolgens vragen ze of ze weer een nieuw taakje mogen doen. Tegelijkertijd communiceren de nodes met elkaar over welke taken ze gaan doen, zodat alles gecoördineerd blijft en er geen dubbel werk wordt verricht.

Je gaat met dit leuke apparaatje natuurlijk niet de grootste vraagstukken uit de natuurkunde oplossen – ook niet als er nog een paar duizend ESP32’s aan vastplakt – maar het is wel een fijne, goedkope manier om iets te leren over parallelle processors en supercomputers. Ook top dat je niet je hele spaarrekening hoeft te plunderen voor een paar onderdelen.

Volg Motherboard op Facebook en Twitter.