The problem is Moore's law, or one of its many variations. For instance, consider computer performance. It doubles every 1.5 years. Or hard drive volume, it increases by 1000 times every 5 years. So right now we have can buy hard drives in the Tera-Byte(Tb) range, but 5 years ago, it was the top of the line was Giga-bytes (Gb), and 10 years ago, we were still in the Mega-byte range(Mb).

The system of SI units gives us prefixes for progressive powers of 1000. That means in 5 years, (baring truly major war, or disaster) we will have Peta-bytes (Pb) hard drives, then in 2018, Exa-byte(Eb), then 2023, Zetta-byte (Zb) and by 2028 Yotta-bytes (Yb). And then.... nothing.

The trouble is that math is a language and the venerable SI system of units, (aka metric), does not have any more pre-fixes, or words if you will, for larger numbers.

Borrowing from Wikipedia, we see that the both in terms of large and small, we are limited.

1000^{m} | 10^{n} | Prefix | Symbol | Since^{[1]} | Short scale | Long scale | Decimal |
---|---|---|---|---|---|---|---|

1000^{8} | 10^{24} | yotta- | Y | 1991 | Septillion | Quadrillion | 1 000 000 000 000 000 000 000 000 |

1000^{7} | 10^{21} | zetta- | Z | 1991 | Sextillion | Trilliard | 1 000 000 000 000 000 000 000 |

1000^{6} | 10^{18} | exa- | E | 1975 | Quintillion | Trillion | 1 000 000 000 000 000 000 |

1000^{5} | 10^{15} | peta- | P | 1975 | Quadrillion | Billiard | 1 000 000 000 000 000 |

1000^{4} | 10^{12} | tera- | T | 1960 | Trillion | Billion | 1 000 000 000 000 |

1000^{3} | 10^{9} | giga- | G | 1960 | Billion | Milliard | 1 000 000 000 |

1000^{2} | 10^{6} | mega- | M | 1960 | Million | 1 000 000 | |

1000^{1} | 10^{3} | kilo- | k | 1795 | Thousand | 1 000 | |

1000^{2/3} | 10^{2} | hecto- | h | 1795 | Hundred | 100 | |

1000^{1/3} | 10^{1} | deca- | da | 1795 | Ten | 10 | |

1000^{0} | 10^{0} | (none) | (none) | NA | One | 1 | |

1000^{−1/3} | 10^{−1} | deci- | d | 1795 | Tenth | 0.1 | |

1000^{−2/3} | 10^{−2} | centi- | c | 1795 | Hundredth | 0.01 | |

1000^{−1} | 10^{−3} | milli- | m | 1795 | Thousandth | 0.001 | |

1000^{−2} | 10^{−6} | micro- | ยต | 1960^{[2]} | Millionth | 0.000 001 | |

1000^{−3} | 10^{−9} | nano- | n | 1960 | Billionth | Milliardth | 0.000 000 001 |

1000^{−4} | 10^{−12} | pico- | p | 1960 | Trillionth | Billionth | 0.000 000 000 001 |

1000^{−5} | 10^{−15} | femto- | f | 1964 | Quadrillionth | Billiardth | 0.000 000 000 000 001 |

1000^{−6} | 10^{−18} | atto- | a | 1964 | Quintillionth | Trillionth | 0.000 000 000 000 000 001 |

1000^{−7} | 10^{−21} | zepto- | z | 1991 | Sextillionth | Trilliardth | 0.000 000 000 000 000 000 001 |

1000^{−8} | 10^{−24} | yocto- | y | 1991 | Septillionth | Quadrillionth | 0.000 000 000 000 000 000 000 001 |

One suggestion would use all the upper and lower case numbers in the English alphabet, but this becomes problematic as the units these prefixes attach to are also English letters. That would lead to confusion (the first sin of any language). For instance, one proposed extension uses all of the English alphabet, starting with xona-, weka-, and vunda- for progressively higher powers of one thousand. So if we have VA, is that Vunda Amperes? or Volts times Amperes? Ambiguity is unacceptable.

Other approaches might be suggested by the mathematics of very large numbers. But this still struggles with the fact that learning more and more names for larger numbers is just putting the problem off. If you disagree, say 10

^{10000000000}is "ten tremilliamilliamilliatrecenttretriginmilliamilliatrecenttretriginmilliatrecentdotrigintillion" ten times fast.

Another solution would be to designate a new unit, like the Tera-Byte, as the BBoT, for lack of a better name. That would run out slower, lasting 4*5*8 = 160 years. That is good, but not perminent. Further, we would have to designate a new unit for every unit used.

If our growth is exponential, then if we should want a system that will scale in the same way. We have that for Earthquakes, for instance. It is called the Richter scale. Similar scales are used in apparent magnitude for astronomy and the decibel scale for sound. These all use base-10 logarithms, so that each time you increase by 1, the magnitude increases by 10 times. For instance, 5.4 on the richter scale is 10 times what 4.4 is. This system would last virtually forever. But implemenation is everything... and that is going to require more work.

Suggestions?

## 2 comments:

A single designator could make our existing prefixes reusable at higher orders of magnitude -- something like "plex", as in "googol plex"? For example, a kiloplex bytes might be 1024 to the 1024 bytes and a gigaplex bytes might be 1048576 to the 1048576 bytes.

The problem with this is that, without a calculator, the units would have no easily recognizable size progression.

The benefit of the current system is that each progressive unit is a set amount larger than the previous one.

The benefit of a logarithmic system is that the amount of change between neighboring integers, is a fixed ratio.

Still, we need something innovative and easy.

We could retrofit engineering notation; eg. 3E8 = 3*10^3 = 300000000, but I don't see that becoming popular, as much as I appreciate it.

One thing we could do is

K kilo = K1

M mega = K2

G giga = K3

T tera = K4

P peta = K5 and so on

It would be regular, and not a difficult notation, even for the common mathephobic man.

Post a Comment