HPE heeft een nieuwe demonstrator voor zijn geheugencentrische computerarchitectuur gebouwd met maar liefst 160 terabyte aan gedeeld geheugen. Dat vervult een dubbele rol vervult als zowel werkgeheugen als opslag. De veertig processor-socs zien dit als een platte geheugenstructuur waar ze naar believen uit kunnen tappen. Met fpga’s en fotonische interconnects wordt de fysieke architectuur geabstraheerd voor de processoren.
Het werk is onderdeel van het langlopende The Machine-project bij HPE, dat in 2015 afgesplitst werd uit HP. Binnen dit project wil het bedrijf de fundamentele architectuur van computers op de schop nemen. De klassieke, cpu-centrische aanpak is volgens het bedrijf niet langer houdbaar na zestig jaar technolgieontwikkeling, en bovendien niet geschikt voor de huidige datavraagstukken. Ze zijn het merendeel van de tijd kwijt aan het uitwisselen van data met het relatief trage geheugen, zeker in systemen met meerdere processoren die elk hun eigen geheugenarchitectuur hebben.
The Machine gaat daarom uit van een enkel, universeel geheugen dat snel genoeg is om dienst te doen als werkgeheugen maar capabel genoeg als opslag. Hierop kunnen allerhande processoren worden aangesloten – cpu’s, maar ook gpu’s en andere types – en die kunnen dit direct, per byte lezen en beschrijven. Mechanismes zoals dma zijn niet nodig.

Modulaire aanpak
Dit type geheugen bestaat nog niet – het liefst zou HPE hier zijn eigen memristor voor inzetten – maar is al wel in ontwikkeling. Om verder te kunnen met het The Machine gebruikt HPE als tussenoplossing gewoon dram, dat simpelweg altijd onder stroom wordt gehouden om data te behouden als de machine uitstaat.
Met het geheugen als uitgangspunt zijn modules ontwikkeld. Elke module beschikt over 4 TB aan dram en een interconnect om data via een glasvezel met naburige modules uit te wisselen. Daarbij gebruikt het systeem het opkomende Gen-Z-protocol, waarvoor HPE een controller heeft geïmplementeerd in een fpga. Ten slotte heeft elke module een processor – een Arm-gebaseerde soc van Cavium, maar dat kan in principe elk soort processor zijn.
In het huidige prototype zijn veertig van deze modules met elkaar verbonden. HPE zegt echter te verwachten dat de aanpak makkelijk schaalbaar is naar exa- of zelfs yottabytes aan gedeeld geheugen.
Software
Het grote struikelpunt bij de ontwikkeling van nieuwe computerarchitecturen is altijd de softwareontwikkeling. Zo hadden ontwikkelaars grote moeite om de beloftes van de befaamde Cell-processor in de Playstation 3 waar te maken vanwege de niet-traditionele geheugenarchitectuur.
HPE zet dan ook sterk in op de softwareontwikkeling – de exercitie van het bouwen van een prototype is gedeeltelijk bedoeld om de softwareproblemen boven water te krijgen.
Het probeert daarbij in eerste instantie zo veel mogelijk aan te sluiten bij de bestaande methodes. Zo heeft het een Linux-versie ontwikkeld die draait op de Cavium-cpu’s in The Machine en daar via standaard mechanismes de hardware kan benaderen. Daarnaast werkt HPE aan C++- en Java-biblitheken die bestaande primitieven upgraden naar geheugencentrische varianten. Ook zijn er emulators beschikbaar zodat ontwikkelaars de ideeën ook kunnen uitproberen zonder over echte hardware te beschikken.