Che diavolo è un Kibibyte?

Oltre ad essere un po ‘ penoso, il nostro fondatore Steve ha un noto debole per essere pedante. Se irrompe nell’area di sviluppo e inizia a grigliare le persone, anche gli ingegneri esperti sono spesso confusi quando hanno posto per la prima volta la domanda: “Kilobyte o kibibyte?”.

kibibytes

Anche se non hai sentito il termine, probabilmente hai almeno familiarità con il concetto. Un” kibibyte ” è uguale a 1024, o 2^10, byte. Abbastanza semplice, ma non è un” kilobyte ” anche 1024 byte? Beh, a volte lo e’. Come definito dal Sistema Internazionale di unità, il prefisso “chilo” si riferisce a 1000 o 10^3. La maggior parte dei produttori di storage misura e etichetta la capacità in base 10 (1 kilobyte = 1000 byte; 1 megabyte = 1000 kilobyte; 1 gigabyte = 1000 megabyte; 1 terabyte = 1000 gigabyte). I fornitori di RAM e la maggior parte dei sistemi operativi, tuttavia, utilizzano base 2 (1 kilobyte = 1024 byte; 1 megabyte = 1024 kilobyte; 1 gigabyte = 1024 megabyte; 1 terabyte = 1024 gigabyte). (Una notevole eccezione a questo è macOS, che ha utilizzato base 10 da OS X 10.6.) Quindi, per sapere cosa si intende esattamente per “gigabyte”, è necessario conoscere il contesto in cui viene utilizzata la parola. Se stai parlando di capacità del disco rigido raw, un gigabyte è di 1000000000 byte. Se stai parlando del file system su quel disco rigido, gigabyte significa 1073741824 byte.

Ancora confuso? Questo è il motivo per cui il” kibibyte “è importante;” kilo “(e” giga”, ecc.) è ambiguo quando è usato per significare sia 1000 che 1024, quindi un nuovo set di prefissi binari è stato stabilito dall’IEC nel 1998 per ridurre la confusione. Altri prefissi includono “mebi”, “gibi”, “tebi” e “pebi” per sostituire rispettivamente “mega”, “giga”, “tera” e “peta”. (Ci sono più prefissi per quantità maggiori, ma se pensi davvero di averne bisogno puoi andare a cercarli da solo.)

Quindi, va tutto bene e dandy, ma è davvero un grosso problema? Una differenza di 24 byte per kilobyte è davvero importante? Consideriamo un’unità pubblicizzata come avente 2 terabyte (2 x 10 ^ 12 byte) di capacità. Ne ho uno formattato come volume VMFS nel mio VMware lab. Dopo la formattazione, VMware riporta 2000112582656 byte di capacità (curiosamente più di 2 terabyte, ma non mi lamenterò di ottenere più byte di quanto pubblicizzato). Vediamo come questo differisce quando viene visualizzato da LogicMonitor come terabyte (poiché il termine è usato dai fornitori di storage) e tebibytes:

2000112582656 / 1000 / 1000 / 1000 / 1000 = 2.00 terabyte

grafico

2000112582656 / 1024 / 1024 / 1024 / 1024 = 1.82 tebibytes
schermata-2017-01-20-a-10-57-44-am

Il lettore astuto potrebbe osservare che in realtà non c’è differenza tra 2.000 terabyte e 1.819 tebibyte, e sarebbero corretti. Tuttavia, a meno che tu non sia su un Mac, è probabile che il sistema operativo e il file manager riportino capacità e dimensioni del file in tebibytes. La notazione non lo renderà necessariamente ovvio. Ad esempio, il comando df su Linux segnalerebbe 1.8 T, mentre Windows Explorer segnalerebbe 1.82 TB. Windows utilizza lo standard JEDEC invece di IEC, quindi mentre il valore è uguale a tebibytes, sarebbe comunque etichettato come”terabytes”. Lo standard JEDEC considera 1 kilobyte pari a 1024 byte. In questo caso, c’è una discrepanza di ~180 gigabyte o gibibyte. Se si collega il nuovo lucido 2 unità terabyte, si può essere delusi quando il sistema operativo segnala come solo 1,8 terabyte. Stessa parola, ma significato diverso nei diversi contesti.

Cosa c’entra tutto questo con LogicMonitor? Bene, se definisci un grafico in LogicMonitor, per impostazione predefinita ridimensionerà i tuoi valori grafici usando 10 kilobyte di base. Se si grafici 2000112582656 byte, il grafico in LogicMonitor visualizzerà 2.00 T quando si passa il mouse sulla linea. Questo non è l’ideale, poiché vuoi che il tuo strumento di monitoraggio lo visualizzi allo stesso modo del tuo sistema operativo, usando base 2 kibibytes (1.82 T). Fortunatamente per voi (e noi), che è un’opzione! Ogni definizione di grafico in LogicMonitor ha la possibilità di scalare per unità di 1024; tutto ciò che devi fare è selezionare la casella e assicurarti di convertire i tuoi valori in byte. LogicMonitor gestirà il resto.

Un ultimo problema potrebbe infastidirti; perché LogicMonitor è predefinito per il ridimensionamento di unità di 1000 se la maggior parte dei sistemi operativi ridimensiona le unità di archiviazione di 1024? La risposta è che, nonostante ciò che il tuo amministratore di storage potrebbe dirti, il monitoraggio non è solo il monitoraggio dello storage e del server. Quasi tutto il resto – bit di rete al secondo, richieste HTTP al secondo, latenza, la profondità delle code SQS, il numero di oggetti in una cache – scale utilizzando base 10. È solo per i file system e la memoria che dovresti controllare l’opzione” scala per 1024″.

Se tutti i sistemi operativi adottassero lo standard di reporting in tebibytes e gibibytes, rimuoverebbe la confusione. Ma fino ad allora, ricorda che il prefisso “giga” significa una cosa quando si parla di memoria e file system, e un’altra cosa quando si parla di tutto il resto.

Pensi di avere uno sguardo strano dai tuoi colleghi amministratori di sistema quando menzioni “kibibyte”? Prova a chiedere al tuo team di rete “gibibits”.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.