MIT dringt energieverbruik datacenter terug met flash-gebaseerde cache server

4 september 2017

Nieuwe cache servers op basis van flash geheugen kunnen het ener­gie­ver­bruik van data­cen­ters terug­dringen. Niet alleen verbruikt het flash geheugen zelf minder energie, ook kan dankzij de hogere opslag­dicht­heid van flash­ge­heugen de hoeveel­heid cache servers in data­cen­ters worden teruggedrongen.

Het nieuwe systeem is ontwik­keld door onder­zoe­kers van het Computer Science and Arti­fi­cial Intel­li­gence Labo­ra­tory (CSAIL) van de het Massa­chu­setts Institute of Tech­no­logy (MIT). Veel moderne websites slaan data op in database. Aangezien database queries relatief langzaam zijn, maken veel websites gebruik van cache servers waarin de resul­taten van de meest voor­ko­mende opdrachten worden opge­slagen om pagina’s sneller toegan­ke­lijk te maken.

RAM vs flash

Cache servers maken over het algemeen gebruik van random-access geheugen (RAM). Dit geheugen is snel, maar heeft echter ook een relatief hoog prijs­kaartje en een relatief hoog ener­gie­ver­bruik. Onder­zoe­kers van het CSAIL hebben daarom een nieuw systeem ontwik­keld waarin het RAM-geheugen is vervangen door flash geheugen, dat ook wordt gebruikt in veel smartphones.

Per gigabyte aan geheugen verbruikt flash slechts zo’n 5% van de energie die RAM-geheugen verbruikt. Daarnaast is de opslag­dicht­heid van flash ongeveer 100 keer groter, waardoor meer data in een kleinere ruimte kan worden opge­slagen. Hierdoor kan het aantal caching servers in data­cen­ters worden terug­ge­drongen. De onder­zoe­kers van het MIT stellen dan ook dat hun nieuwe caching servers het ener­gie­ver­bruik van data­cen­ters flink kunnen terug­dringen. Zo zijn in grote data­cen­ters van bijvoor­beeld Google en Facebook al snel 1.000 servers toegewijd aan caching. In derge­lijke grote data­cen­ters kan de ener­gie­be­spa­ring – en daarmee kosten­be­spa­ring – dan ook fors oplopen.

Lagere prestaties

Flash heeft echter ook een nadeel ten opzichte van RAM. Zo is flash naar schatting 10.000 keer langzamer dan dynamisch RAM (DRAM). De onder­zoe­kers van MIT wijzen erop dat flash echter nog steeds veel sneller is dan de mense­lijke reac­tie­snel­heid. Een verzoek via RAM wordt gemiddeld in 0,0002 seconde verwerkt, terwijl het verwerken van een verzoek via flash gemiddeld 0,0004 seconde in beslag neemt. Het MIT benadrukt dat een gebruiker dit tijds­ver­lies in de praktijk niet zal merken.

De snelheid waarmee verzoeken wordt verwerkt heeft echter ook invloed op de hoeveel­heid verzoeken die een caching server kan verwerken. In het systeem van het CSAIL, dat BlueCache wordt genoemd, wordt dit probleem aangepakt door ‘pipe­li­ning’ toe te passen. Dankzij deze techniek kan een cache server voordat het resultaat van de eerste query wordt verstuurd, al beginnen met de volgende 10.000 queries. De onder­zoe­kers stellen dat het verwerken van de eerste query in dit geval wellicht 200 micro­se­conden in beslag neemt, maar de reac­tie­tijd voor de hierop volgende verzoeken zal terug­lopen tot .02-micro­se­conde.

DRAM combineren met flash

Daarnaast hebben de onder­zoe­kers een tweetal ‘trucjes’ toegepast om de snelheid van BlueCache te verhogen. Zo hebben zij een klein beetje DRAM toege­voegd aan iedere BlueCache flash cache. Het gaat hierbij om enkele megabytes aan RAM per miljoenen megabytes aan flash. De DRAM slaat een tabel op die een database query koppelt aan het flash memory geheugen van het bijbe­ho­rende resultaat. Dit maakt cache lookups niet zo zeer sneller, maar versnelt wel de detectie van ontbre­kende data die nog niet in de cache is geïmporteerd.

Een cache systeem voert doorgaans slechts drie soorten operaties uit: het lezen van een waarde uit de cache, het schrijven van een nieuwe waarde naar de cache en het verwij­deren van eenwaarde uit de cache. Deze operaties worden doorgaans uitge­voerd door software. De tweede ‘truc’ die het team van MIT heeft toegepast is het gebruik van speciaal ontwik­kelde hardware circuit ontwik­keld voor ieder van deze drie operaties. Dit verhoogt de snelheid waarmee deze operaties worden uitge­voerd en verlaagt tege­lij­ker­tijd het energieverbruik.

4,2 keer sneller

Deze trucjes leveren tijdwinst op. Om deze tijdwinst inzich­te­lijk te maken hebben de onder­zoe­kers BlueCache verge­leken met wat de onder­zoe­kers noemen ‘een standaard imple­men­tatie van een flash-geba­seerde cache server’. Dit is een database server is die gecon­fi­gu­reerd is voor caching. BlueCache was 4,2 keer sneller dan deze standaard implementatie.

Pin It on Pinterest

Share This