Down with “Mbps,” long live “gpm”
Warning: My geekiest blog post ever to follow. Involves arithmetic and computers.
A common industry metric for transfer rates (i.e., how quickly something downloads) is Mbps, which is defined as Megabits per second.
This measurement is confusing and outdated for several reasons.
- Most people don’t understand what a “megabit” is. It’s very easy to confuse with a megabyte. (There are eight bits to a byte, so you can easily go from one to the other if you like dividing or multiplying by eight.)
- When talking about megabytes per second, people use either “mbps” (with a lower-case m) or “MBps” (with an upper-case M and B). If you’re not paying attention, you can easily confuse “mbps” or “MBps” with “Mbps.”
- There’s further confusion about whether the “mega” part means 1,000 or 1,024. Most people’s intuition is wrong.
- Unless you’re used to these numbers, it’s difficult to understand them in practical, real-world terms. Suppose you have DSL and you’re downloading a movie. How long is it going to take? You’ll need to know the size of the movie in megabits, and you’ll need to know the speed of your DSL connection in Mbps. Then grab the calculator to get a number of seconds, then do more arithmetic to translate that into minutes.
It’s time for a change. Before I get to that, though, first some boring personal history.
The first modem I ever used was in 1980, on an Apple II+, and it was 300 baud. That meant (more or less) that it could handle 300 bits per second — about a sentence of text each second. In college, 10 years later, I used a 3200 baud modem (”Modem 28.8″) which could handle 28,800 bits per second — almost 100 times faster, about a page of text a second.
As modems got faster, instead of bits per second, we started talking about kilobits per second (”kbps”), and the confusion began. In the real world, “kilo” means 1,000 (e.g., a kilometer is 1,000 meters). Usually in computers, a kilo means 1,024 — a kilobyte is 1,024 bytes, for example. Except for kbps, where the k now means 1,000 again. (I think marketing people are to blame.) So, that 300 baud modem was 0.3 kbps, and the 3200 baud modem was 28.8 kbps.
Now eighteen years later, I have a cable modem at home. It can usually handle around 40,000 kbps — more than 1,300 times faster than that modem from college — a big fat novel of text every second. Since things have got faster again, instead of talking about kbps, we divide by 1,000 (not 1,024) and that’s where Mbps came from. Instead of saying my cable modem is 40,000 kbps, we say it’s 40 Mbps.
If you have broadband at home, you have somewhere between 8 Mbps (low end DSL) and 622 Mbps (high end fiber optic service).
But Mbps is such a silly way to measure things. As I explained above, it’s quite difficult to take a number like 40 Mbps and know how that translates into how long it takes to download a movie. If you know the movie is 2.5 gigabytes, you first have to translate that into Megabits. Multiply 2.5 by 1,024 to get megabytes, then by 1,024 again to get kilobytes, then by 1,024 again to get bytes, then multiply by 8 to get bits. Your movie is 21,474,836,480 bits. Now divide by 1,000 to get kilobits and divide by 1,000 again to get Megabits. Now you know your movie is 21,474.8 Megabits. Now divide by 40 to learn how many seconds it’ll take to download on your connection. 536. Divide by 60 to learn how many minutes: About 9. Your movie’s done downloading in the time it took you to do the arithmetic.
A much more practical measurement for consumers is Gigabytes per minute. Most people know that a gigabyte is 1,024 megabytes, and that an online movie is about 2 gigs or so. If we started rating speed in terms of gigs per minute (and tell the marketing people who want to use round numbers to go jump in a lake), that should hold us for the next few years.
I do expect to update this post about 5 years from now to advocate for terabytes per minute instead…
If you agree, start using gpm as a measurement in your organization and push for a transition.
(As a rule of thumb, every 100 Mbps is about 0.7 gpm. My 40 Mbps cable model can handle a gig about every three-and-a-half minutes.)
February 26th, 2008 at 3:08 pm
You think the definition of gigabyte is well defined? Ha! Is it 1024^3 or 1000^3? Most hard drive manufacturers are now defining “gigabyte” as 1000^3, and actually had to pay out in a class action lawsuit.
See http://news.zdnet.co.uk/hardware/0,1000000091,39290393,00.htm?r=1
By the way, the other problem here is how they rate network cards and connections. For what I’m working on, I need to make sure that I don’t max out these links, and that means using terminology thats easy understandable. In other words, I need to be able to easily decide if I’m going to max out a 10Gbps connection or not.
Are you a fan of the ‘gibibyte” style terminology? Check out the wikipedia article on it…
Unfortunately, I think “bps” is here to stay…
February 27th, 2008 at 3:36 pm
If you weren’t worried about absolute accuracy you could make an even more consumer friendly rating by turning those gigabytes into “media minutes.” So a connection rated as a 2.5 would provide ~ 2.5 minutes of media for every minute spent downloading. Of course, image resolution and other factors influence the media minute/megabyte ratio, so this would only be useful for a very standardized system of direct media download. For more general internet use gpm would definitely be the way to go.
Since any advertised rate is only a theoretical maximum anyway, maybe we should just use images of various kinds of organisms to represent speed. That way your original modem would have clocked in at paramecium (400 µm/s), while you current modem is all the way up to tiger beetle (.5 m/s). ** warning: comment author is in law school and therefore inherently bad at math ** Then again, the diving speed of a peregrine falcon is only 90 m/s, which probably won’t buy us all that many more years under such a system.
February 27th, 2008 at 8:06 pm
I wanted to thank you and Kimi for the pictures. They are really good and the babies are just too cute. Thanks again.
March 1st, 2008 at 9:29 pm
Slacy: “gigibyte” is alien to me, but I could see getting used to it. (I also see myself having to explain it every time I use it…)
The problem is, if “gigabyte” now means two different things, then you need two different replacement terms, otherwise you can never tell what gigabyte means. I’d rather have everyone who uses “gigabyte” to mean 1000^3 get 24 lashes with an ethernet cable.
March 1st, 2008 at 9:30 pm
I take Barbara’s comment to mean, “stop posting about computer terminology and post more baby pics…”
Yeah, I’ve been slacking — more pics this weekend, and glad you like ‘em!
March 1st, 2008 at 9:32 pm
Akos, Kevin F. suggested something similar on the accompanying FriendFeed discussion. I’m sympathetic, but I do want ratings of networking equipment speed to have a solid definition, otherwise marketing weasels will take advantage of it: “When we said this adapter can handle 400 songs a second, um, we meant songs that are only a few notes long.”