Blog

Access Connectivity

Verkeerstechniek voor data: maximaal rendement met NVMe

12 nov 2018

Max Verstappen racet toch ook niet in een Formule 1-auto over zandpaden? Ook voor solid state-technologie geldt dat maximaal rendement van haar snelheid optimale datapaden vereist. Het is dan ook frappant dat bedrijven wel investeren in solid state, maar nog niet in ‘geasfalteerde’ datapaden zonder ‘verkeersdrempels en stoplichten’. NVMe biedt uitkomst.

Frank Teegelbeckers door Frank Teegelbeckers

Waarom moet data sneller beschikbaar komen?

Digitaal darwinisme vereist, meer dan ooit, bedrijfseconomisch rendement van IT-investeringen. Maximaal rendement vereist op zijn beurt optimale prestaties van nieuwe technologieën, bijvoorbeeld solid state drives (SSD). Ter illustratie: wanneer de processor een instructie krijgt om bewerkingen uit te voeren op een reeks data, dan zijn die data op niet zonder meer meteen beschikbaar in register- of systeemgeheugen. Ze moeten dan vanaf tertiair geheugen, ofwel roterende, hybride en steeds vaker puur electronische solid state media komen. Het conventionele datapad, en met name disk access time, zijn vijftig keer sneller bij SSD dan bij roterende media (HDD). Echter, het sinds 2012 leverbare, optimale datapad is maar liefst duizend keer sneller.

grafiek blog frank disk acces time

(Bron: SNIA 2018)

Van zo’n snel circuit kan Max alleen maar dromen. Jammer voor hem en de autosport. Voor het bedrijfsleven is het gelukkig geen droom maar een keuze om met NVMe maximaal rendement te halen uit investeringen in SSD. NVMe versnelt bedrijfsapplicaties en processen significant en maakt ook medewerkers productiever.

Hoe komen data lokaal sneller beschikbaar?

Kort door de bocht gezegd realiseert het NVMe-protocol in vergelijking met het conventionele SCSI-protocol op twee innovatieve en complementaire manieren een efficiëntere connectie tussen SSD en processor. Dit gebeurt in de eerste plaats door meer instructies te gebruiken dan SCSI, maar tegelijkertijd ook door minder instructies te gebruiken. Dit vraagt natuurlijk om een blik onder de motorkap van NVMe.

Om bij het begin te beginnen en NVMe in historisch perspectief te plaatsen: lineaire media zoals tape worden weliswaar nog steeds gebruikt voor sequentiële workloads zoals backups, maar zijn ongeschikt voor praktisch alle bedrijfsapplicaties met random workloads. Roterende media, zoals disks, hoeven zelfs in theorie nooit helemaal afgespeeld te worden om specifieke data aan de processor te leveren. Ze zijn alleen al daarom geschikter voor random workloads. Om te concurreren met SSD, in met name high performance computing (HPC), online transaction processing (OLTP) en deep neural networks (DNN) zijn ze echter te traag. De primaire oorzaak is hun mechanica. Die is sowieso al trager dan electronica en ook nog eens gevoeliger voor slijtage en omgevingsfactoren, zoals vibraties.

Verder is data op roterende media vaak gefragmenteerd. Eén processor-instructie om een reeks data vanaf roterende media aan te leveren, vereist daarom meerdere SCSI-instructies voor juiste positionering van de leeskop boven de roterende cilinders met data. Een derde bottleneck bij roterende media is eerder fysisch dan mechanisch. Hoewel op grotere schaal veel instructies parallel worden uitgevoerd, kan een horizontaal bewegende leeskop niet tegelijkertijd op twee verschillende plekken zijn om data synchroon vanaf meerdere disk-sectoren en cilinders te laden voor de processor. De ontwikkeling van grote buffers voor instructies om continu veel data te laden is binnen het SCSI-protocol dan ook altijd in de kinderschoenen blijven staan. Waarom een grotere benzinetank, als korte sprintjes gevolgd door pitstops en tankbeurten door wedstrijdregels onvermijdelijk zijn?

Onbewogen, oftewel solid state media zoals flash elimineren deze mechanische en fysische beperkingen omdat ze puur electronisch werken zonder bewegende onderdelen. Er is geen leeskop die gepositioneerd moet worden en vervolgens moet wachten op rotaties om data te vinden. Alle data is meteen vindbaar en kan met meer throughput aangeleverd worden voor de processor, zonder de fysieke beperking dat een leeskop maar één positie tegelijkertijd kan innemen. Deze eigenschappen hebben de ontwikkeling van een nieuw protocol voor SSD met meer en grotere buffers voor instructies gestimuleerd. En niet zonder resultaat. Waar vendor-specifieke implementaties van SCSI zelden of nooit met buffers groter dan enkele tientallen of honderden instructies werken, specificeert het vendor-neutrale NVMe-protocol maar liefst tienduizenden buffers voor tienduizenden instructies elk. Om een understatement te gebruiken: het risico dat bedrijfsapplicaties nog langer struikelen over queue full errors wordt zo wel heel erg klein. Verder transformeert NVMe het stapsgewijze, inefficiënte proces van instructie, uitvoering, instructie, uitvoering ad infinitum bij SCSI, tot een gestroomlijnd proces. Hierbij worden, mede door grotere buffers, meerdere instructies gelijktijdig uitgevoerd zonder mechanische onderbrekingen en wachttijden op nieuwe instructies.

De andere manier waarop NVMe meer efficiëntie tussen SSD en processor realiseert is, zoals gezegd, door een significant kleinere instructieset te gebruiken voor dezelfde of zelfs meer throughput. Terwijl SCSI ruim honderd instructies nodig kan hebben om data op mechanische media te vinden en aan te leveren voor de processor, volstaan voor NVMe vanwege de electronische eigenschappen van SSD maximaal dertien instructies.

afbeelding blog frank seagate 2016(Bron: Seagate 2016)

Hoe reizen data sneller over lange afstanden?

Om de analogie met Max door te trekken naar een andere Limburger… André Kuiper reist toch ook niet in een F1-auto over een razendsnel circuit naar het International Space Station? Krijgt de processor een instructie om data te bewerken die lokaal niet beschikbaar zijn in register-, systeem- of tertiair geheugen, dan zijn SSD-media, NVMe protocol en PCIe interface alleen ontoereikend. Er is een netwerkconnectie nodig naar het systeem waar de data wel beschikbaar is. Is dat een All Flash systeem met SSD voor storage en NVMe voor IO, dan is conventioneel ethernet ontoereikend. Er is een rDMA-protocol nodig, bijvoorbeeld RoCE met hoog geprioriteerde lossless connecties, of iWARP met Direct Data Placement voor zero-copy data transfers. Dit realiseert niet alleen betere systeemprestaties en meer throughput door reductie van processor overhead, maar ook door reductie van latency sec, en van fluctuaties in latency.

Wilt u advies op maat over optimaal rendement van SSD, aarzel niet en neem vandaag nog contact op. Onze consultants helpen u graag verder.

Geïnteresseerd?

Frank Teegelbeckers
Neem contact op met onze specialist Frank Teegelbeckers

Frank Teegelbeckers is tien jaar Datacenter Engineer bij Telindus Technical Operations. Daarvoor was hij drie jaar werkzaam als Storage Engineer bij NetApp en vijf jaar als Server en Netwerk Engineer bij HP. Frank kenmerkt zich door zijn pragmatische benadering van acute verstoringen en door zijn systematische aanpak van terugkerende technisch-operationele problemen. Hij heeft zich de laatste jaren gespecialiseerd in performance optimalisatie, virtualisatie en software defined storage. Frank is geboren en getogen in een Limburgs dorpje, getrouwd met een Moskovita, vader van een puberende dochter, en houdt verder van reizen, tuinieren en barbecueën met vrienden en familie.

geen reacties
Plaats een reactie