Bouw zelf voor weinig een supercomputer op basis van parallel processing. De techniek zit nog niet in de 'veelbelovende' fase, maar werkt wel en de hardware is letterlijk gratis.
Smart computing als relatief jonge 'discipline' is volgens mij het gebied van slimmere mobieltjes, steeds economischer en milieuvriendelijker inzet van servers en stations, noem maar op. Het is geen scherp omschreven gebied. Met een beetje fantasie is smart-it alleen maar de hedendaagse term voor technische vooruitgang in de ict. En daar is weinig mis mee.
Waar gaan de ontwikkelingen snel vooruit? Meer rekenkracht per moederbord, minder energieverbruik, virtualisatie. In feite betekent het, tegen zo min mogelijk energie zo veel mogelijk prestaties tevoorschijn toveren. En dat is prima.
Kosten en rekenkracht
Ik wil ook wat verdiende aandacht schenken aan een andere vorm van smart-it: Tegen zo laag mogelijke kosten, zoveel mogelijk rekenkracht bijeen brengen. Hoewel ik een voorstander ben van energiezuinige pc's, moet je er wel rekening mee houden dat de productie van pc's op zichzelf meer energie kost dan ze in hun leven verbruiken. Vooral het verwerken van ruwe silicium tot de ultrazuivere kwaliteit die voor cpu's en geheugens nodig is, kost zeer veel energie. Dat betekent dat het afgezien van de stroomrekening toch zinvol kan zijn, om je pc een langer leven te gunnen. En als je als hobbyist de technische uitdaging aangaat, of als professional voor je baas of opdrachtgever snel een astronomische hoeveelheid rekenkracht moet concentreren, dan is daar een zeer boeiend, uitdagend technisch vraagstuk.
Dat is op te lossen door snel veel nieuwe snelle pc's en servers te koppelen en een datacenter te openen. Het kan echter ook anders. Sommigen hebben misschien van het Beowulf-project gehoord. Hoewel ik er geen expert in ben, verdient het volgens mij wel wat meer bekendheid.
Al die oude pc's, kan je aan elkaar koppelen. Technisch zou dat het snelste kunnen via een handmatig gemodificeerde ide-verbinding (we hebben het over werkende, maar afgedankte pc's die dat nog hebben) maar veel gemakkelijker is het gebruik van netwerkkaarten. Het verdelen van taken in een client/server verbinding is al bekend, maar nu kun je pc's ook over het netwerk samenvoegen tot één grote pc. Dat is leuk, want oude pc's zijn gratis. Voor de helderheid, elektriciteit is dat nog steeds niet. Dit project is bekend als Beowulf en heeft al diverse wetenschappelijke publicaties opgeleverd, zoals deze: 'The Do-It-Yourself Supercomputer: Scientists have found a cheaper way to solve tremendously difficult computational problems: connect ordinary PCs so that they can work together"'
CNN haalt IDG aan met het volgende bericht: 'How cheap? By supercomputing standards very cheap indeed. The team at the Los Alamos National Laboratory built Avalon, the 256th fastest supercomputer in the world for 152.000 dollar. By their estimate, a conventional supercomputer with equivalent performance would cost about one million dollar today. Or, if 152.000 dollar is too much for you, you can always do what the researchers at the University of Tennessee and Oak Ridge National Laboratories did, and build a Linux supercomputer for free from old 486 boxes that some government facilities were throwing away.'
Google wat op Beowulf en je vindt meer berichten dan ik hier kan en wil noemen. Fascinerend is het zeker. Het grote vraagstuk is er één dat ik nog uit de jaren '80 ken: Zie er maar eens software voor te krijgen. Dat is nu nog specialistenwerk. Gewone platform- en software leveranciers zien er nog geen brood in. Wie thuis geen slaapkamer vol pc's heeft met een aangepaste koeling, zal inderdaad niet snel klant worden. Misschien biedt een open raam in de winter nog uitkomst.
Voor bedrijven, zeker als ze een tijdelijke 'piek' in rekenkracht moeten trekken, is het in theorie echter een optie. In theorie, want nogmaals: De besparingen op hardware moeten opwegen tegen de kosten van maatwerk en inzet van specialisten. Echter, hoe meer hier mee gewerkt wordt, hoe meer kennis er gedeeld wordt en hoe gemakkelijker standaardisatie en 'werkbaarheid' van de opzet tot stand komt. En dat drukt de prijs alweer.
Binnen bereik
Als het voorradig houden van zo'n 'supercomputer' eigenlijk gewoon in een ongebruikte ruimte zou kunnen, dan komt supercomputing wat hardware betreft, gewoon binnen bereik van iedereen. Het is inspirerend om hier meteen weer de grenzen mee te verleggen. Door met de kasten te doen wat Brin en Page al ontdekten kun je ruimte besparen. Gebruik je moederborden met standaard stroomaansluitingen, dan kan het technisch niet ingewikkeld zijn om ook de (laagspannings) stroomvoorziening op te schalen. Ook dat spaart energie.
Het koppelen van pc's (moederborden, processors) tot grote parallelle units is een tamelijk onbekende vorm van virtualisatie. Niettemin kunnen er specifieke oplossingen in schuilen. De langere gebruiksduur van oude pc's helpt om grondstoffen te sparen en afval te verminderen. De lage hardwarekosten kunnen voor scholen en incidentele opleidingen aantrekkelijk zijn. Dat supercomputing op een afgeschreven 'serverpark' mogelijk is, dat is meegenomen, maar de kosten van maatwerk en energie moeten daar desondanks tegenop wegen. Afgezien daarvan is het een geweldig idee om zo alsnog te innoveren met parallel processing van complexe rekenvraagstukken.
Blijft dit het terrein van briljante en wellicht excentrieke technici? Dat hoeft niet per se: 'gewone' pc's hebben lang geleden ook die 'fase' gekend dat alleen hogepriesters er mee mochten werken. Is een nuttige toepassing wel echt vergezocht? Hoeveel – moderne – pc's staan er bij grote concerns dagelijks met de screensaver aan, te wachten op werk? Veel bedrijven hebben immers al een uptodate, modern en aangesloten park van pc's. Zulke bedrijven zouden misschien wel stroom en koeling in hun rekencentra kunnen uitsparen, door in daluren de rekenopdrachten over de 'idle' pc's te verdelen. Het is dus best denkbaar, dat er specifieke nuttige toepassingen voor in de markt komen. Wellicht niet eens alleen in de grotere organisaties met eigen rekencentra, maar ook in kleinere bedrijven die af en toe een piek in rekenkracht moeten trekken zoals kleine ingenieursbureaus of onderzoeksinstituten. Maar alleen software standaardisatie kan het ècht binnen hun bereik brengen.
Voorlopig spreekt het vooral tot de verbeelding. Ik kijk reikhalzend uit naar toepassingen hiervan, die werkelijk zowel economisch als milieutechnisch innoverend zijn. Zolang het vrijblijvend is, moeten we zeker doorgaan met experimenteren. Als de grondstoffen echt opraken, kan het wel eens dringende noodzaak worden.
Een soort van SETI@Home, maar dan op het bedrijfsnetwerk. Trek dit idee eens door naar internetaanbieders als Ziggo e.d.? Korting op uw internetrekening naar gelang de door ons gebruikte processortijd – en die processortijd verhuren aan bedrijven/instellingen die grote rekencapaciteit nodig hebben.
Google ook eens op hadoop
Grappig, die tweedehands supercomputers. Het is sowieso al heel nuttig in educatieve zin. Laat technische hogeschool studenten met behulp van gedoneerde oude hardware zelf supercomputers bouwen en het resultaat vervolgens gebruiken in practica rond bijvoorbeeld reken-intensieve computer simulaties. Dan sla je diverse vliegen in één klap en doen de studenten uitstekende en relevante vakkennis op.
Of maak je computers Dual bootable en laat ze ’s nachts en in het weekend wetenschappelijke klussen doen en overdag gewoon voor de kantoormuizen klaarstaan. Ideaal voor overheidssystemen.