Re: GiB vs GB

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This unfortunately is a bit more confusing than considering 1kB =
1024, but rather per the man page, 1KiB = 1000 (emphasis mine):

       int    SI  integer:  a whole number, possibly containing a suffix
denoting the base unit of the value.  Accepted suffixes are ‘k’, ’M’, ’G’,
’T’, and ’P’, denoting kilo (1024), mega (1024^2), giga (1024^3), tera
(1024^4), and peta (1024^5) respectively. If prefixed with ’0x’, the value
is assumed to be base 16 (hexadecimal). A suffix may include a trailing
’b’, for instance ’kb’ is identical to ’k’....

***
You can  specify  a  base  10 value by using ’KiB’, ’MiB’,’GiB’, etc.
This is useful for disk drives where values are often given in base 10
values. Specifying ’30GiB’ will get you 30*1000^3 *bytes.
***

Adding a 'B' to specify base-10 certainly can be a point of confusion if
you didn't read through the manual or aren't paying attention.

Example:

# fio --name=test --bs=4k --size=*4GiB* --rw=read --ioengine=libaio
test: (g=0): rw=read, bs=4K-4K/4K-4K/4K-4K, ioengine=libaio, iodepth=1
fio-2.2.10
Starting 1 process
test: Laying out IO file(s) (1 file(s) / *3814MB*)

# fio --name=test --bs=4k --size=*4GB* --rw=read --ioengine=libaio
test: (g=0): rw=read, bs=4K-4K/4K-4K/4K-4K, ioengine=libaio, iodepth=1
fio-2.2.10
Starting 1 process
test: Laying out IO file(s) (1 file(s) / *4096MB*)

I don't know if there is a good fix for this now, as if Fio is made
compliant everyone's jobfiles will also have to be changed as well.
Maybe as a buffer add a "--si=bool" flag to use the correct units,
eventually switching the default from 0 to 1.

Daniel

On Thu, Dec 10, 2015 at 8:50 AM, Wolford, Jeff (HP Servers - Web Scale
performance) <jeff.wolford@xxxxxxx> wrote:
> 1) As the premiere storage performance testing tool, fio should make sure it is correct and consistent in its use of GB vs GiB
>         NET: In general all of the kB, MB, MB/s, etc fio usage needs to be displayed as KiB, MiB and MiB/s, etc
>                 (yes, notice the case difference between kB and KiB.. that is how it is defined by the IEC in 1998
>                 So it would be good to bring fio forward 17 years
>
> 2) There is no conspiracy... the memory guys got it WRONG when they used a SI term and REDEFINED it as KB = 1024
>         The Metric / SI system, Hz, Volt, Ohm... existed 100 years before the memory guys.
>                 How many Hz are in a Mega Hertz ?  How many ohms in a Mega Ohm ? etc, etc
>                 All the rest of the pieces of the computer system that use SI / Metric use 10 based definitions
>         Are IOPs in 1024 second groups ? Does the CPU use 1024^3 GHz clock ?
>
> So now this "redefinition" is known as KiB.
>
> Jeff
>
>
> | -----Original Message-----
> | From: fio-owner@xxxxxxxxxxxxxxx [mailto:fio-owner@xxxxxxxxxxxxxxx] On Behalf Of
> | Boissier, Martin
> | Sent: Thursday, December 10, 2015 2:00 AM
> | To: fio@xxxxxxxxxxxxxxx
> | Subject: GiB vs GB
> |
> | Hey Aaron,
> |
> | I was just stumpling over the page for FIO and was totally surprised how GiB and
> | GB are used even denoting "Storage manufacturers like to use 10^3 or 1000 as a
> | base ten unit instead, for obvious reasons.”.
> | As FIO is a great tool to get into the whole game of block IO it’s sad that beginners
> | are confused by a wrong usage of SI standards and such (almost) "conspiracy
> | theories”. Or did I get something wrong here?
> |
> | Best,
> | Martin
--
To unsubscribe from this list: send the line "unsubscribe fio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel]     [Linux SCSI]     [Linux IDE]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux