Hè, lekker zo'n vakantie. Even lezen of een beetje mijmerend over de Atlantische Oceaan staren. Totdat de volgende klus zich aandiende natuurlijk: een fort bouwen tegen de razendsnel opkomende vloed.
En dan weer terug op het werk en kijken of ik nog alle cases van vóór de vakantie op kon dissen uit mijn geheugen. Ha! een bruggetje: Geheugen, daar wil ik het nu even over hebben...Of liever gezegd het veranderen over de komende jaren van de manier waarop men gegevens bewaart (geheugen) en het uiteindelijk verwerkt.
Als je vandaag de dag kijkt naar hoe men data verwerkt is dat omslachtig. Kijk, centraal staat daar de processor. Dat is het enige onderdeel dat het alleenrecht heeft op dataverwerking. In recente systemen zijn er wellicht meerdere processoren (multi-core) actief, maar die werken als één als het op dataverwerking aankomt. Vreemd is dat de processor zélf nauwelijks data bevat. Geheugen ín een processor is nl. veel te duur. In Intel's processoren is iets van 24 MB beschikbaar dat over 8 cores verdeeld moet worden. Da's niet veel. Maar het is wel razendsnel omdat het lekker dicht bij het rekenwondertje is geplaatst.
Tweede echelon geheugen is het interne geheugen. Goedkoper maar iets trager omdat de data getransporteerd moet worden van en naar de processor. En dat goedkoper is relatief, want nog steeds is intern geheugen in zware computersystemen aardig aan de prijs. Bovendien heeft intern geheugen de nare eigenschap dat het onder spanning gehouden moet worden om de gegevens vast te houden. Bij stroomuitval zijn alle gegevens weg.
De een-na-laatste plek waar je data opslaat is op harde schijven. Goedkoop maar traag als dikke stroop. Daar waar processoren met verwerkingssnelheden van halve nanoseconden werken, doen harde schijven er milliseconden over om data op te hoesten. Dat is een factor miljoen keer trager! Gelukkig zijn er allerlei buffers en slimme algoritmen die daar op vernuftige wijze mee om gaan, maar zie het probleem. De zogenaamde Solid State Disken (SSD) hebben geen draaiende schijven meer en doen het aanzienlijk sneller, maar ook die zijn weer duurder en nog lang niet gemeengoed.
De laatste en tevens goedkoopste plek waar je gegevens kan bewaren is op tape. Groener en goedkoper kan niet. Trager ook niet. Maar voor veel –oude– data is tape natuurlijk het beste medium.
Om data van het opslagmedium naar de processor te krijgen zijn er veel stapjes nodig die allemaal tijd kosten. Eenmaal in de processor wordt er relatief kort aan gerekend en vervolgens moet de hele bubs weer de lange weg terug waarbij er opgemerkt dient te worden dat er geen tweebaansweg is.
Deze opzet is al oud en zeer beproefd en voor vele toepassingen adequaat. Echter bij zeer grote hoeveelheden vluchtige data is de aanvoer en afvoer van data een bottleneck. In dit domein, wat IBM BigData noemt, is het een beetje rap verwerken van die grote hoeveelheden vluchtige data een must. IBM Research ziet dan ook dan er een andere aanpak gewenst is voor deze omgevingen. Deze aanpak, of beter gezegd architectuur, is dat men de BigData centraal zet in geheugen zoals Phase Changed Memory (zie ook deze column van 8 juli). Daaromheen “cirkelen” allerlei processoren die met die data werken. Dat kunnen traditionele processoren zijn, maar veel meer wordt gedacht aan diegene die speciaal met streaming data om kunnen gaan zoals multicore processen a lá IBM's Cell processor. Ook worden in dit kader FPGA genoemd. Deze Field Programmable Gate Arrays zijn processoren die "in het veld" nog eens geprogrammeerd kunnen worden voor speciale taken.
Een levend en nu al in gebruik zijnde toepassing hiervan is IBM's Netezza Datawarehouse appliance. Deze heeft FPGA's aan boord die razendsnel data kunnen (de)comprimeren en filteren. De processor van een computersysteem heeft er geen weet van, is alleen verbaasd dat de data er al zo snel is. De eindgebruikers ook.
