De super-PC

EEN BALLETJE kan soms raar rollen. Computers werden toen ze nog maar nauwelijks bestonden door visionaire geesten aangeprezen als de ideale, onvermoeibare sloof, die de mens van bergen dom en geestdodend werk zou verlossen. Wat later hadden minder bevlogen, zakelijker geesten een ander visioen: de computer was de ideale moderne slaaf, die zonder morren, CAO of vakantiegeld duurbetaalde en lastig te motiveren arbeiders kon vervangen.

Wie nu om zich heen kijkt ziet dat het in werkelijkheid toch weer heel anders gegaan is. Er is wel flink wat werk weggesaneerd, maar dat gat is door de computer maar zeer ten dele opgevuld. Veel werk wordt gewoon niet meer gedaan. Neem nou, als tamelijk willekeurig voorbeeld, het spoor. Vroeger kon je op elk station boven kabouterformaat een kaartje naar elk gewenst gat in Portugal, Griekenland of Noorwegen bestellen. Nu kent de computer zelfs niet meer alle steden in Duitsland die de Geallieerden destijds het bombarderen waard achtten. Wie verder wil, vervoege zich in een van de zestig wel bij de NS-computer bekende Duitse metropolen bij het loket, en kijke daar tijdens het wachten hoe zijn aansluitende trein vertrekt. Vroeger kon je ook op elk station bij elke lokettist met gewoon geld de raarste soorten kaartjes krijgen, zoals rondreizen en kaartjes vanaf een ander station. Nu is een flink aantal van die lokettisten vervangen door vervaarlijk gele computers, die geen papiergeld slikken, en alleen recht-toe-recht-aan kaartsoorten vanaf zijn standplaats uitventen. Zoals het bij het spoor is gegaan, zo ging het op vele plaatsen. Het weggesaneerde werk is voor een flink deel niet op de nek van de computer geschoven, maar op die van de consument.

Daar staat tegenover dat computers vooral gezorgd hebben dat er allerlei nieuw werk gedaan wordt. Ze hebben, als het ware, hun eigen werk gemaakt. Er zijn duizenden dingen die voor de automatisering domweg onmogelijk waren, maar nu wel kunnen. Heel veel treinen heel snel en toch op tijd over één net laten rijden, bijvoorbeeld, al wil dat bij de NS nog niet zo best lukken. Of een olieterminal van binnenuit in de gaten houden, zodat iedereen à la minute kan zien welke leidingen in gebruik zijn, wat er precies doorheen gaat, en welke leiding leeg en al of niet schoon zijn. Spektakeldrukwerk maken in een handomdraai, thuisbankieren, 'just-in-time' productie en voorraadbeheer, te veel om op te noemen.

Tegelijkertijd is er een nieuwe klasse van vrijgestelde lanterfanters ontstaan. Dat zijn diezelfde computers die al die moderne dingen doen. Het grootste deel van hun leven brengen de meeste in ledigheid door, wachtend op werk. Een beetje processor vandaag de dag verveelt zich de hele tijd dood, en dat is toch eigenlijk doodzonde. Zou al die capaciteit die werkeloos stroom staat te verbruiken nou niet benut kunnen worden, bijvoorbeeld door verhuur aan iemand die meer rekencapaciteit nodig heeft dan waarover hij beschikt? Op die manier zouden computers niet alleen efficiënter gebruikt worden, maar ze zouden ook nog wat geld kunnen verdienen voor hun eigenaren, een beetje zoals bezitters van een windmolen hun overproductie aan elektriciteit aan hun elektriciteitsleverancier kunnen terugverkopen. Dat zoiets in principe mogelijk is, is al vaak genoeg bewezen. Een mooi voorbeeld was, zo'n anderhalf jaar geleden, de codering voor beveiligd Internet-dataverkeer die Netscape vol trots presenteerde. Binnen een paar weken was die codering gekraakt door een groep enthousiastelingen met behulp van niet meer dan een batterij her en der opgestelde PC's, ieder voor zich veel te klein om zo'n karwei aan te kunnen. De truc was dat ze die PC's in een netwerk met elkaar verbonden, en een programma schreven dat de klus in hapklare brokken over al die PC's verdeelde.

Met een beetje fantasie is goed te zien hoe je met netwerken en soortgelijke programma's veel verder kunt gaan. Wat je nodig hebt is een programma dat binnen een netwerk zoekt naar vrije capaciteit, naar stationair draaiende processoren, en stukjes van het voorhanden werk aan die processoren uitbesteedt. Doe je dat zo, dat opdrachten van de echte eigenaar van de processor altijd voorrang hebben, dan merkt die eigenaar niets van het extra werk dat zijn computer voor anderen doet. Het is een mooie gedachte, die zelfs al een naam heeft: metacomputing.

Praktische toepassing zijn er te over, ook buiten het domein van de geheimschrijverij. Denk bijvoorbeeld aan een ingenieursbureau dat af te toe een extreem grote rekenklus moet uitvoeren, zoals het doorrekenen van de Erasmusbrug op effecten van regen en wind. Nu zou daarvoor alle extra benodigde rekenruimte in huis gehaald moeten worden, of het werk moet compleet worden uitbesteed. Met metacomputing kan de klus altijd met bestaande apparatuur geklaard worden. En er is nog een voordeel: het opdelen van een klus in stukken die parallel verwerkt worden door verschillende computers, kan aanzienlijke snelheidswinst betekenen. Binnen een lokaal, gesloten netwerk met één besturingssysteem is metacomputing niet zo verschrikkelijk moeilijk te realiseren. Maar pas echt mooi wordt het als je de hele wereld erin betrekt, via het Internet bijvoorbeeld. Dan staat achter zelfs de lulligste PC in feite het hele wereldarsenaal aan rekenkracht. Tot nu toe stond daarbij de veelheid aan verschillende platforms ernstig in de weg, maar op dat stuk gloort er licht: Java is een voorbeeld van een instrument dat met verschillende platforms kan omgaan, en waarmee ook gedistribueerde verwerkingsprocedures gebouwd kunnen worden. Maar er zijn nog heel wat beren op de weg. Drukte op het net, bijvoorbeeld, waardoor filevorming en vertraging optreedt, iets waar parallelle processen vaak slecht tegen kunnen. En beveiligingsvraagstukken. Stel dat uw bank een flink deel van het rekenwerk in geleende rekenruimte doet, wie garandeert dan dat de gegevens niet worden afgekeken? Of erger, veranderd? Hetzelfde geldt voor grootschalig wetenschappelijk en commercieel rekenwerk en voor nog heel veel meer. Metacomputing zal er uiteindelijk wel komen, maar het duurt nog wel even voordat uw PC een goudmijntje wordt.