Mobile Phones vs. Supercomputers of the Past
An anonymous reader writes "The recently published Top 500 list of the world's fastest supercomputers is based on the Linpack benchmark developed decades ago by Jack Dongarra. This same test has been ported to Android mobile phones, which means that we can compare the performance of our phones against that of the supercomputers of the past. For example, a tweaked Motorola Droid can hit 52 Mflop/s, which is more than 15 times faster than the CPUs used in the 1979 Cray-1." But even today's most powerful cellphones don't come with an integrated bench.
...make me kinda sad. On the one hand, I LOVE when I was born (1984). I'm old enough to remember a time without the Internet, without a PC in every home, and when cell phones were the size of briefcases...yet I'm still young enough to take advantage of technological innovations, keep up with advances, and appreciate the impact it has on our lives.
On the other hand, I wonder how much amazing stuff I would see had I been born even just 20 years later. In my lifetime I have already watched (for example) the NES as a state of the art system turn into the average gaming PC having a video card capable of over 1 teraflop worth of processing power. How much extra innovation and advancement would I see if I had STARTED with those 1+ teraflop cards?
"Fifteen hundred years ago everybody knew the Earth was the center of the universe. Five hundred years ago, everybody knew the Earth was flat, and fifteen minutes ago, you knew that humans were alone on this planet. Imagine what you'll know tomorrow." -Kay
Living With a Nerd
...by our time machines and shaved privates.
For example, a tweaked Motorola Droid can hit 52 Mflop/s, which is more than 15 times faster than the CPUs used in the 1979 Cray-1.
"The Cray-1 had 12 pipelined functional units" and had "floating point performance generally about 136 MFLOPS. However, by using vector instructiosn carefully and building useful chains, the system could peak at 250 MFLOPS."
http://en.wikipedia.org/wiki/Cray-1
I thought it was strange that the article author was reporting that a cray 1 only produced 3.4 mflops on linpack, which had a peak performance around 130 mflops. Looks like the author doesn't understand the benchmark very well.
If you look at the data quoted in the article, the n=100 result gives the Cray1 a score of either 3 or 12 mflops, depending on which entry you look at. There is no n=1000 result listed for the Cray 1, but one can expect, looking at the Cray XMP results, that it would be around 100, given the peak performance. The ETA10 would likely get a couple thousand mflops on linpack with n=1000.
The Cray 1 is more than a little dated. That said, if you look at supers from the early 90's, they still can do things that modern commodity hardware can't. As fast as a xeon or opteron is, it doesn't have 300Gbytes/second of memory bandwidth. Even late-80's supercomputers exceed desktops in some metrics, though probably not in raw ALU performance if the data all fits into L1 cache. The cost to run a desktop, however, is pretty compelling, and they don't leak freon when they run.
If there's "brownian motion" it's really more of a shart.
If you don't know where you are going, you will wind up somewhere else.
Cray's approach to supercomputing wasn't just to make the CPU fast. Indeed, he outcompeted faster CPUs by making all of his computers fast, so no power in the machine was wasted waiting for something else. Especially IO and memory were his focus for throughput. A Droid's CPU is bottlenecked by the rest of the device.
This unfair comparison isn't just whining about missing Cray's point. There's a lot of power in that Droid that the SW can't exploit, because its bottlenecks leave the fast parts waiting. Not only does that slow them down, but it wastes electrical energy. Which is the biggest problem in mobile devices.
LINPACK isn't the best way to measure supercomputers, and "nanocomputers" like mobile phones could be better if they learned something from Cray's research 40 years ago.
--
make install -not war
Not rendering bitty little colour screens or scanning for viruses. Plus the code was written to extract every last drop of power out of the architecture. So when you compare the amount of WORK a machine from the 70s or 80s did (my university's mainframe had a FORTRAN complier that needed less that 131kWord of memory - today the GRUB bootloader is bigger than that) with a more modern box, with all its overheads and inefficiencies, the balance isn't as great as the scoffers might think.
Does that make it any less impressive that a cell phone is putting up these kinds of numbers? Does it make it less impressive that you can code up an Linpack in Java, throw it at a JVM and rely on JIT compiler to optimize the DAXPY for the hardware on the fly? I think it both of those things are pretty damn impressive.
Today, the games you can play on your iPhone/Android or even the aging Nintendo DS have better graphics!! Resolution is a lot lower (not 3000x5000!) but at the screen size it certainly looks much better - and rendered in real time!