Art-o-Matic
Op weg naar uniform geheugen en andere ICT systemen

Sinds 2008 is er voor een computersysteem een nieuwe keuze: harde schijf of solid state drive (SSD). En alhoewel deze laatste nog wat kinderziektes en beperkingen vertonen vormen ze niet minder dan de opmaat voor een revolutie. Ze knagen aan paradigma's die decennia lang de wijze waarop we informatiesystemen bouwen hebben bepaald.

Bij de bouw van informatiesystemen verbeelden we ons graag dat we op een 'logisch' niveau ontwerpen. Wat we bouwen wordt bepaald door de gewenste functionaliteit en de interactie met de gebruiker en niet door de mogelijkheden van de onderliggende technologie. Dit is tegelijkertijd een nobel streven, een waardevol uitgangspunt voor goed ontwerp en toch bepaald onwaar.

Want we zijn tot over onze oren ondergedompeld in de fysieke werkelijkheid. Ronddraaiende schijven met over het oppervlak flitsende magneetkoppen. Tape die heen en weer gespoeld wordt. Media die slechts eenmalig kan worden beschreven. Maar ook werkgeheugen dat moet worden beschermd tegen de kleinste storing in de elektriciteitsdoorvoer op straffe van totaal gegevensverlies. Ons denken is erdoor gevormd.

Een van de meest impliciet gehanteerde paradigma's is die van het onderscheid tussen werkgeheugen en opslaggeheugen. En daarvan afgeleid van het onderscheid tussen programma en data. Weliswaar zijn deze twee paradigma's ook functioneel een nuttige scheiding gebleken in de bouw van informatiesystemen maar de wortels liggen toch vooral in de fysieke eigenschappen van de verschillende soorten geheugen. Ze zijn impliciet: er is geen project waarbij ze ter discussie zullen worden gesteld.

Werkgeheugen is erg snel maar stikduur en verliest haar data wanneer de spanning wordt uitgeschakeld of verloren gaat. Opslaggeheugen is goedkoop, behoudt haar data bij afwezigheid van spanning maar is tergend traag. Vanuit dit vertrekpunt hebben we in decennia het nodige verzonnen. Relationele databases, die het mogelijk maken om snel je weg te vinden in grote hoeveelheden data op een harde schijf. Swapping van data van het werkgeheugen naar de harde schijf. Bestandsstructuren om data op een harde schijf efficiƫnt en snel benaderbaar op te slaan.

Het grote nieuws: binnenkort is het allemaal niet meer nodig. Er is alleen nog maar 'geheugen': uniform geheugen. Geheugen dat snel is, altijd beschikbaar, direct adresseerbaar en niet lijdt aan vergeetachtigheid bij stroomverlies. Het onderscheid tussen werk- en opslaggeheugen verdwijnt.

In het verlengde daarvan is het interessant om na te denken over een volgend paradigma: het onderscheid tussen data en programma. Raar? Voor zover wij weten kent ons eigen brein dit onderscheid niet echt. En in moderne programmeertalen zie je stapjes die die kant op gaan. In navolging van pioniertalen als LISP en Smalltalk mag er ook in de meer gevestigde talen steeds meer tijdens de uitvoering van een programma dat vroeger toch echt was voorbehouden aan het codeerstadium. Variabelen declareren, functies toekennen en doorgeven bijvoorbeeld. Zelfs Javascript biedt mogelijkheden die ver gaan.

De implicaties van dit alles zijn immens. Lange tijd hebben we geworsteld om objecten op redelijke wijze in een database onder te brengen. Veel codeerwerk, uitgebreide frameworks en bibliotheken. Straks blijven ze gewoon waar ze zijn. Een bestandssysteem hebben we evenmin nog nodig. Er resteert slechts een lijst van onafhankelijke objecten die in de computer aanwezig zijn. Objecten die gebruik maken van andere objecten, rechtstreeks gekoppeld of in een losser verband via een interface.

We zullen behoefte hebben aan nieuwe faciliteiten om objecten te kunnen exporteren over een netwerk of een geheugenstick. Er zal zoekgereedschap moeten zijn om binnen de grote collectie van objecten te vinden wat we nodig hebben. Maar daar staat tegenover dat we heel veel kunnen missen. Geen database meer, geen traditioneel bestandssysteem en een ingrijpend anders besturingssysteem.

Deze ontwikkeling heeft tijd nodig. De huidige SSD-schijven worden geleverd met een SATA interface, ze komen fysiek op de plaats van de traditionele harde schijf. Dat beperkt hun toepassingsmogelijkheden en dat is maar goed ook, want ze zijn nog verre van uitontwikkeld.

De nieuwe spannende ontwikkelingen zijn dan ook niet als eerste te verwachten in de traditionele desktop computer maar veel eerder in kleinere apparaten zoals bijvoorbeeld in slimme telefoons waar al die oude hardware en fysieke interfaces toch al niet langer vanzelfsprekend aanwezig zijn. Waar gewoekerd moet worden met de beperkte batterijcapaciteit en veel kleinere rekenkracht.

Het idee is even wennen. Maar dit nieuwe bouwen in het luchtledige kan nu al. Op een device met non volatile geheugen - bijvoorbeeld een telefoon - of binnen een bestaande runtime omgeving zoals Java. Niet de machine uitschakelen vooralsnog.

 
T
06 47896785
E
jw@delarte.nl