10 Gigabytes per Second in Perspective: A Moving Story

In het eerste deel van deze vierdelige blogpost beschreven we een hypothetische robot die video’s met 10 GB/s kan bekijken. Om volledig te begrijpen wat deze 10 GB/s betekent, hebben we nog drie delen aan de post toegevoegd. Het tweede deel definieerde bits en bytes, de basiseenheden van data, en enkele van de veelvouden van deze eenheden. Het derde deel introduceerde verschillende definities van meervoudige voorvoegsels zoals mega- en giga-. Deze vierde, en laatste, aflevering kijkt naar metingen die worden gebruikt in overdrachtssnelheden en hoe ze verschillend van toepassing zijn op netwerken en opslagmedia.

Op het moment van dit schrijven begin 2017, was Adelaide, Australië, bezig met plannen om een 10 Gb / s breedbandnetwerk uit te rollen. De beoogde snelheid is indrukwekkend, en hoewel het vergelijkbaar klinkt met de 10 GB / s doorvoersnelheid van de real-world Seagate SSD in onze hypothetische filmverslaafde robot, zijn ze zeker niet hetzelfde. Beide voorbeelden hebben het over gegevensoverdrachtsnelheden, dus ze lijken op elkaar, maar ze zijn ook heel verschillend. Dit laatste deel van de vierdelige blog zal niet alleen de overeenkomsten en verschillen tussen de twee laten zien, maar ook waarom verschillende eenheden worden gebruikt om ze in de eerste plaats te meten.

Alles behalve de gootsteen

Voordat we ons verdiepen in de moeren en schroeven van gegevensoverdracht als het gaat om opslag en netwerken, laten we eens kijken naar hoe water stroomt in uw keuken. Uw waterkraan heeft een capaciteit van, zeg, 2 g/m. Dit betekent dat de kraan is ontworpen om water door de sproeikop te laten stromen met een theoretische maximale snelheid van ongeveer 2 gallon per minuut die voorbij gaat. Het kan echter zijn dat u die hoeveelheid niet krijgt, omdat de waterstroom op een bepaald moment kan worden belemmerd door factoren zoals mineraalafzetting in de kop van uw kraan, lage waterdruk in uw flat of verstopte leidingen. Een loodgieter die uw probleem diagnosticeert, zou kunnen zeggen dat uw water met meer dan 1 g/m uit de kraan stroomt.

Hoe verhoudt zich dit tot gegevens?

De stroomsnelheden worden altijd gemeten als een hoeveelheid over een bepaalde tijdsperiode. Bij gegevens worden deze stroomsnelheden uitgedrukt in bandbreedte of doorvoer, die beide de hoeveelheid informatie meten die in een bepaalde periode kan worden verplaatst. Hoewel deze twee termen vaak door elkaar worden gebruikt, zijn ze eigenlijk heel verschillend.

Bandbreedte beschrijft de theoretische maximale snelheid van gegevensoverdracht die een verbinding kan verwerken, zoals de waterstroomsnelheid van uw kraan. Maar net zoals externe factoren zoals doorspoelende toiletten of lekken in uw leidingen uw kraan ervan kunnen weerhouden water te leveren tegen de maximale snelheid, kunnen in de wereld van datanetwerken en computers factoren zoals protocoloverhead, netwerklatentie en betrouwbaarheid er vaak voor zorgen dat uw gegevensverbinding nooit zijn potentieel kan waarmaken. Een andere term, doorvoer, wordt gebruikt om de werkelijke hoeveelheid gegevens te beschrijven die door de verbinding beweegt, zoals de meting van de waterstroom die uw loodgieter in zijn test kreeg.

De grootte doet ertoe

Zowel bandbreedte als doorvoer worden gewoonlijk gemeten in een of andere vorm van bits per seconde (b/s) of bytes per seconde (B/s)-Mb/s, MB/s, Gb/s, GB/s, enz. Let op het verschil in hoofdletters: kleine b staat voor bits; grote B staat voor bytes. U komt vaak gegevensoverdrachtsnelheden tegen die in beide meeteenheden worden uitgedrukt.

De meeteenheden die zowel in het Adelaide-netwerk als in de SSD-voorbeelden van Seagate worden gebruikt, beschrijven gegevensoverdrachtsnelheden, maar de een gebruikt gigabits als meeteenheid en de ander gigabytes. Zoals u zich wellicht herinnert uit deel 2, wordt een byte tegenwoordig meestal gedefinieerd als 8 bits. Dus om van bits naar bytes te gaan, deelt u het aantal bits door 8; om van bytes naar bits te gaan, vermenigvuldigt u het aantal bytes met 8. Onthoud, dat is een zeer algemene regel, en we zullen later kijken naar een opmerkelijke uitzondering als het gaat om data transfer rates.

Nu je weet hoe je deze meeteenheden omrekent, laten we eens kijken waarom ze verschillend worden gemeten in de eerste plaats.

Een algemene vuistregel: Bij geheugen en opslag worden gegevensoverdrachtsnelheden meestal uitgedrukt in bytes per seconde; bij netwerken en interfaces worden gegevensoverdrachtsnelheden meestal uitgedrukt in bits per seconde.

Een veel voorkomende misvatting is dat de bedrijven op netwerk- of internetgerelateerde gebieden bits per seconde gebruiken om klanten voor de gek te houden door te denken dat de netwerksnelheden eigenlijk veel sneller zijn dan ze in werkelijkheid zijn. Omdat 8 Gb/s veel beter klinkt dan 1 GB/s, zullen klanten denken dat hun verbinding sneller is dan in werkelijkheid het geval is. Het is echter geen marketingtruc. Als dat wel zo zou zijn, dan zouden dezelfde mensen die dat denken zich moeten afvragen waarom de marketinggroepen in de geheugen- en opslagbedrijven niet ook alles in bits omzetten. De redenen voor de verschillen zijn elementair, zoals we hieronder zullen zien.

Bytes voor Computers

Wanneer we het hebben over gegevensoverdracht tussen een computer en zijn geheugen of opslag, worden overdrachten meestal uitgedrukt in bytes per seconde. We zagen in deel 2 dat de byte de meest fundamentele adresseerbare eenheid van gegevens is voor computergeheugen en opslagapparaten, dus computers zijn voornamelijk geïnteresseerd in bytes. En zoals we zagen in deel 3, wanneer computers gegevens in het geheugen benaderen, doen ze dat op byte-niveau. Dus als u uw computer opdraagt een individuele bit te identificeren of te manipuleren, moet hij eerst de byte openen waartoe die bit behoort, en vervolgens een extra bewerking uitvoeren om die bit te isoleren. Omdat bestanden ook worden gemeten aan de hand van het aantal bytes dat zij bevatten, is het uitdrukken van overdrachtssnelheden in bytes per seconde handig om te bepalen hoe lang het naar verwachting zal duren om een bestand van het ene deel van uw computersysteem naar het andere te kopiëren. Dit wordt meestal uitgedrukt als doorvoer.

De standaard werkt prima voor bestandsoverdrachten binnen een enkel systeem, omdat een computer over het algemeen dezelfde taal spreekt als al zijn randapparatuur. Maar er doen zich andere problemen voor wanneer wordt bekeken hoe gegevens worden overgebracht tussen totaal verschillende computersystemen of via een netwerk.

Bits for Networks

Bij netwerkverbindingen – of elke situatie waarin twee of meer computers via draden of door de lucht met elkaar zijn verbonden om gegevens te delen – wordt de overdrachtssnelheid traditioneel beschreven in termen van bits per seconde. Dit komt omdat, anders dan in computersystemen zelf, gegevens die door een netwerk bewegen serieel worden overgedragen, of één bit per keer-niet in brokken bits, of één of meer bytes per keer.

Zoals we ook in deel 2 hebben gezien, was de grootte van een byte historisch gezien afhankelijk van het hardware-platform. Sommige computers hadden 4 bits nodig om hun byte te maken, andere 6 bits, en weer andere 8 bits. Dus wanneer gegevens van de ene computer naar de andere werden overgebracht, was het niet praktisch om de overdracht te meten in termen van het aantal bytes dat werd verplaatst, omdat de byte van de verzendende computer redelijkerwijs een andere grootte kon hebben dan de byte van de ontvangende computer!

Zelfs nadat 8 bits de de facto standaarddefinitie van de byte werd, had het nog steeds weinig zin om gegevensoverdrachten uit te drukken in termen van bytes. Netwerkingenieurs meten overdrachtssnelheden in bits per seconde omdat dit het meest accuraat de werkelijke capaciteit van een netwerkverbinding weergeeft om alle noodzakelijke gegevens over te dragen, niet alleen de gegevens in het bestand (de bestanden). Bij de meeste netwerkcommunicaties maken niet alle bits die via de verbinding worden verzonden, deel uit van de bestanden die worden overgedragen. Het netwerk maakt vaak gebruik van coderingsschema’s, waarbij extra bits worden toegevoegd aan elke byte die wordt verzonden. Deze extra bits bevatten informatie die het netwerk nodig heeft om ervoor te zorgen dat de gegevens naar de juiste ontvanger worden verzonden en om te bevestigen dat de gegevens zonder fouten zijn verzonden en zonder incidenten zijn ontvangen, onder andere.

Een veel voorkomend codeerschema heet 8b/10b, dat zijn naam krijgt omdat voor elke 8 bits die over een link worden verzonden, 2 bits als metadata worden toegevoegd – met andere woorden, voor elke 8-bits byte worden 10 bits aan gegevens verzonden. Met dit coderingsschema brengt alleen al de betrouwbare overdracht van gegevens over een netwerk een overhead van 20% met zich mee. Hoewel Adelaide’s breedbandwens van een 10 Gb/s-netwerk in theorie, gemeten in bytes, ongeveer 1,25 GB/s zou moeten zijn (10 Gb gedeeld door 8), zou het, wanneer rekening wordt gehouden met de 20 procent overhead, eerder overeenkomen met 1 GB/s. Andere schema’s worden steeds prominenter, met name het schema dat door de PCIe 3.0 standaard wordt gebruikt, die een 128b/130b gebruikt. U raadt het al: dit betekent dat voor elke 128 bits aan gegevens 2 bits aan overhead wordt toegevoegd. Het nieuwe schema is efficiënter dan de 8b/10b standaard, omdat de upgrade resulteert in een overhead van slechts ongeveer 1,5 procent, vergeleken met de vorige 20 procent.

End of the Line

Het begrijpen van technologieën en de terminologie die ze beschrijft kan erg verwarrend zijn als je niet oplet. Dit is vooral het geval wanneer het gaat om gegevens in doorvoer. Helaas, hoewel een gigabyte en gigabit zeer verschillende eenheden zijn voor het meten van vergelijkbare maar verschillende dingen, korten mensen in de echte wereld 10 GB/s en 10 Gb/s vaak op dezelfde manier af: als “10 gig.”

Hopelijk heb je nu echter een heel duidelijk idee dat de robot die verkondigt dat hij zijn Netflix-films heeft bekeken met 10 gig doorvoer iets heel anders zegt dan de Aussies die binnenkort zullen opscheppen dat ze op een netwerk van 10 gig zitten, mate.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.