Geheugen is altijd het enige type hardware geweest dat de belofte van enorme snelheden waarmaakte. Er zijn een paar nadelen: het is duur, het heeft een beperkte capaciteit en het is niet persistent (om de gegevens te behouden, moet het geheugen worden ingeschakeld, wat verder problematisch is omdat het geheugen periodiek moet worden vernieuwd). Intel en Micron kondigden ongeveer drie jaar geleden de 3DXPoint-technologie aan die de eerste stap zou zijn naar permanent geheugen. Hoewel deze technologie lang niet zo snel was als geheugen, was ze veel sneller dan flashopslag en veel kosteneffectiever. MemVerge zag het potentieel voor persistent geheugen en werd gelanceerd om dit potentieel te realiseren.
Geheugen is altijd het enige type hardware geweest dat de belofte van enorme snelheden waarmaakte. Er zijn een paar nadelen: het is duur, het heeft een beperkte capaciteit en het is niet persistent (om de gegevens te behouden, moet het geheugen worden ingeschakeld, wat verder problematisch is omdat het geheugen periodiek moet worden vernieuwd). Intel en Micron kondigden ongeveer drie jaar geleden de 3DXPoint-technologie aan die de eerste stap zou zijn naar permanent geheugen. Hoewel deze technologie lang niet zo snel was als geheugen, was ze veel sneller dan flashopslag en veel kosteneffectiever. MemVerge zag het potentieel voor persistent geheugen en werd gelanceerd om dit potentieel te realiseren.
De eerste 3D XPoint-apparaten die we zagen, waren meer gericht op opslag. Naarmate de tijd verstreek, maakte Intel gebruik van 3D XPoint persistent memory (PMem) om een snellere SSD te creëren. Later kondigde Intel een permanente geheugenmodule aan die in het DIMM-slot zat en fungeerde als een uitbreiding op DRAM. Terwijl we in het verleden geheugen zagen voor snelle behoeften en opslag voor grote behoeften, begon PMem de grens te vervagen. MemVerge probeert het beste van twee werelden te combineren door DRAM-prestaties met grote capaciteit en persistentie mogelijk te maken.
MemVerge heeft het landschap van persistent geheugen onderzocht en software ontwikkeld om PMem zijn potentieel te laten benutten in plaats van het te gebruiken als cache, snelheidslaag of geheugenuitbreiding. Het bedrijf gebruikt wat het Big Memory-computing noemt om DRAM-only-omgevingen te transformeren in lagere kosten en, nog belangrijker, geheugenomgevingen met een hogere dichtheid die gebruikmaken van zowel DRAM als PMem. Het doet dit door de twee te virtualiseren tot een pool van softwaregedefinieerd geheugen dat ook softwaregedefinieerde services levert. Bovenop het bovenstaande biedt de software een abstractielaag waarmee alle applicaties in een datacenter kunnen profiteren van nieuwe soorten geheugen, geheugenverbindingen, processors en geheugentoewijzers om moderne en opkomende applicaties en workloads aan te pakken.
In september vorig jaar bracht MemVerge de algemene beschikbaarheid van zijn Memory Machine uit. De software wordt aangeboden in twee smaken: Standaardversie die byte-adresseerbare DRAM en PMem-geheugen virtualiseert, apps versnelt en de kosten verlaagt, maar geen persistentie mogelijk maakt; en AdvancedVersion, dat is alles hierboven met persistentie ingeschakeld, evenals geheugenservices van ondernemingsklasse die zijn gebaseerd op ZeroIO in-memory snapshots.
ZeroIO-snapshots in het geheugen, zoals de naam al aangeeft, maken snapshots van DRAM en PMem met zeroIO naar opslag mogelijk. Dit maakt van DRAM, dat normaal vluchtig is en weinig beschikbaar is, een laag met hoge beschikbaarheid. ZeroIO-snapshots maken ook tijdreizen mogelijk, waardoor terugdraaien naar eerdere snapshots mogelijk is. Er is een AutoSave-functie die apps terugrolt naar de vorige momentopname als er een crash is. De snapshots maken de productie van Thin Clones mogelijk zonder meer geheugenbronnen te gebruiken. En de snapshots kunnen worden gemigreerd naar andere servers en worden gebruikt om een nieuwe app-instantie te maken.
MemVerge geheugenmachinebeheer
MemVerge Memory Machine heeft een redelijk gelikte GUI. Het globale dashboard toont elementen die we gewend zijn in opslag, de verschillen in dit geval dat DRAM en PMem de belangrijkste bewaakte elementen zijn en het gebruik kan hier gemakkelijk worden gezien. Bovenaan staan tabbladen voor hosts, app-instanties, momentopnamen en waarschuwingen.
Als u op de startknop aan de linkerkant klikt, krijgt u basisinformatie over het systeem (IP-adres, besturingssysteem, Kernal-versie, CPU) en een diepe duik in het gebruik en de prestaties van geheugen en PMem.
Gebruikers kunnen verder inzoomen op het geheugen door een geheugenrapport op te halen om het gebruik per uur te zien. Dit benadrukt ook het type, PMem vs. DRAM.
En gebruikers kunnen de RESTful API's van Memory Machine bekijken en configureren.
Snapshots maken een groot deel uit van Memory Machine, maar daar komen we op terug in ons prestatiegedeelte.
Configuratie
In ons lab hebben we gebruik gemaakt van MemVerge Memory Machine op een Supermicro SYS-2029U-TN24R4T met de volgende specificaties:
Hardware-model | Supermicro SYS-2029U-TN24R4T |
CPU | 2x Intel(R) Platinum(R) 8270 CPU @ 2.70 GHz, 26 cores |
DRAM | DDR4 192GB |
Pm | 12x128GB |
Besturingssysteem SSD | SATA-SSD van 1 TB |
OS | 8.2.2004 CentOS |
pit | 4.18.0-193.19.1.el8_2.x86_64 |
Prestaties van MemVerge-geheugenmachine
Onze normale reeks tests zou hier niet logisch zijn, aangezien MemVerge Memory Machine gericht is op workloads en applicaties die in het geheugen moeten worden uitgevoerd. Onze benchmarks worden over het algemeen gezien als normaal tot stressvolle werklasten die in het echte leven tijdens IT-operaties zouden worden gezien. In plaats daarvan zullen we hier een paar verschillende tests bekijken en we zullen specifiek kijken naar zaken als DRAM versus PMem versus DRAM + PMem en hoe elk eruit schudt. Voor deze beoordeling gebruiken we KDB Performance zowel bulkinvoeging als leestest, evenals Redis Quick Recovery met ZeroIO Snapshot en Redis Clone met ZeroIO Snapshot.
KDB-prestatietesten
Kdb+ van Kx is een in-memory database met tijdreeksen. Het staat bekend om zijn snelheid en efficiëntie en is om die reden erg populair bij Financial Service Industry. Een grote beperking voor kdb is de beperking van de DRAM-capaciteit. MemVerge Memory Machine past hier perfect, dus kdb kan ten volle profiteren van PMem voor uitgebreide geheugenruimte met vergelijkbare prestaties als die van DRAM. Voor de bulkwisseltest hebben we gekeken naar een enkele wisselplaat, 10, 100, 1000, 10000, 15000, 20000 en 25000 wisselplaten en gemeten in miljoenen bulkwisselplaten per seconde.
Met de KDB bulkinzet zien we enkele interessante resultaten. Bij een enkel inzetstuk hadden alle drie vergelijkbare resultaten. In kleinere batchgroottes zien we DRAM als de best presterende. Naarmate de batchgroottes groter worden dan 10,000, zien we dat Memory Machine de leiding neemt over DRAM, met PMem achter elke batch.
Vervolgens keken we naar kdb+ met een Read-test. Hier is de testopstelling iets anders. De leestest is overal hetzelfde, maar deze keer keken we alleen naar DRAM, alleen PMem en vervolgens PMem met 20 GB of 40 GB DRAM-cache. DRAM kon slechts 4.2 GB / s halen, PMem slechts 2.9 GB / s, met een 20 GB cache van DRAM, Memory Machine kon bijna hetzelfde van de DRAM halen, alleen met 3.9 GB / s en met 40 GB cache we zagen de hoogste prestaties van 4.8 GB/s. Wat interessanter is om op te merken, is dat de laatste twee nog steeds voldoende DRAM toestaan voor andere taken.
Redis Snapshot-testen
Redis is een open-source in-memory gegevensopslag die wordt gebruikt als database-, cache- en berichtenmakelaar. Het is erg populair en krachtig, dus het is een ideaal programma om MemVerge Memory Machine te benchmarken. Wanneer Redis draait op MemVerge Memory Machine, worden DRAM en PMem toegewezen aan Redis. Vervolgens slaan MemVerge ZeroIO-snapshots de geheugenpagina's van de applicatie op zonder opslag-IO-bewerkingen. Wanneer Redis crasht, is alle momentopname van de gegevens naar PMem persistent. Bij crashherstel hoeft u alleen maar naar de bestaande gegevens in PMem te verwijzen zonder gegevens uit de opslag op te tillen en te verplaatsen.
In deze sectie zullen we de MemVerge ZeroIO-snapshot testen voor snel herstel.
Eerst kijken we naar Redis Quick Recovery met ZeroIO Snapshot. In tegenstelling tot prestatiebenchmarks laten we hier functionaliteit en gebruiksgemak zien. Nadat Redis is geïnstalleerd en een database draait, loggen we in op Memory Machine en zien we dingen zoals hoeveel PMem wordt gebruikt.
Onder het tabblad toepassingen kunnen we zien dat er een Redis-server actief is.
Terwijl het draait, maken we een paar snapshots. Het is duidelijk dat als er geen momentopnamen worden gemaakt, men niet kan herstellen vanaf een momentopname.
Voor de zekerheid kan het nooit kwaad, controleer nogmaals of we enkele snapshots hebben gemaakt.
Nadat we weten dat we ze hebben, activeren we een Redis DB-fout. We kiezen een momentopname en herstellen, na een korte pauze zijn we weer up and running.
Redis-kloon met ZeroIO Snapshot
Hier nemen we een aantal van dezelfde stappen als hierboven. Nadat de momentopname is gemaakt, kunnen we deze herstellen als een kloon met een nieuwe naamruimte en een nieuw IP-adres. We maken verbinding met de kloon van een andere host en zien dat deze ongeveer hetzelfde geheugen in beslag neemt.
Al het bovenstaande kan ook worden gedaan met een CLI-prompt voor degenen die dat verkiezen.
Conclusie
MemVerge Memory Machine is SDS gericht op het combineren van de prestaties van het geheugen met de persistentie van PMem. PMem wordt meestal gebruikt als cache om opslag te versnellen. Hoewel dit in veel gevallen een zegen is voor opslag, hebben in-memory-applicaties geheugenprestaties nodig, geen cache. MemVerge virtualiseert zowel DRAM als PMem in pools van softwaregedefinieerd geheugen met softwaregedefinieerde services. Memory Machine verandert DRAM in een laag met hoge beschikbaarheid met behulp van zeroIO in-memory snapshots. Met ZeroIO kunnen Thin Clones worden gemaakt zonder geheugenbronnen te belasten.
Naarmate we nieuwe categorieën betreden, zullen we nieuwe prestatietests en benchmarks moeten toepassen. Het testen van in-memory SDS met onze normale benchmarks zou niet nuttig zijn, want daar is het niet voor gemaakt. In plaats daarvan hebben we gebruik gemaakt van KDB Performance, zowel bulkinvoeging als leestest, evenals Redis Quick Recovery met ZeroIO Snapshot en Redis Clone met ZeroIO Snapshot. De tests zijn uitgevoerd op een Supermicro SYS-2029U-TN24R4T-server, hoewel het zou moeten werken op gevalideerde servers die Intel Optane PMem-modules ondersteunen.
Met KDM-bulk hebben we meerdere batchgroottes getest door te kijken naar DRAM, PMem en een combinatie van beide via Memory Machine. Omdat de batches klein begonnen, was het geen verrassing dat DRAM de beste prestaties leverde. Wat echt interessant was om te zien, is dat naarmate de test de middelen harder belastte, MemVerge het steeds beter deed. Bij de KDM read zagen we gelijkaardige trends. DRAM presteerde heel goed, geen verrassing daar. PMem deed het goed, maar goed onder DRAM. Met slechts 20 GB cache voor DRAM met Memory Machine presteerde het met 3.9 GB/s in vergelijking met de 4.2 GB/s van alleen DRAM. Door MemVerge 40 GB DRAM voor cache te geven, waren de beste prestaties in het algemeen met 4.8 GB/s, terwijl er nog steeds voldoende DRAM overbleef voor andere taken.
Het tweede deel van de prestatietests was Redis Quick Recovery met ZeroIO Snapshot en Redis Clone met ZeroIO Snapshot. Hier was meer functionaliteit versus meetbare prestaties. In wezen hebben we snel snapshots gemaakt, een storing veroorzaakt en konden we snel weer aan de slag.
Intel's PMem is een buitengewoon interessante technologie die enigszins traag is ingevoerd vanwege de beperkte manieren om de modules gemakkelijk te adopteren en correct te gebruiken. Met MemVerge kunnen organisaties profiteren van wat PMem te bieden heeft, in een oplossing die speciaal met deze technologie in gedachten is gebouwd. Voor degenen met applicaties die kunnen profiteren van de grote en veerkrachtige geheugenvoetafdruk die PMem biedt, is MemVerge zeker de moeite waard om te evalueren.
Neem contact op met StorageReview
Nieuwsbrief | YouTube | Podcast iTunes/Spotify | Instagram | Twitter | Facebook | RSS Feed