What's faster - a supercomputer or EC2?
ianfoster.typepad.com
ianfoster.typepad.com
A load of bricks will be moved faster by truck, even though in an absolute sense the sportscar is faster...
If you are doing vector processing and have a hard-to-parallelize problem then a supercomputer is probably the only way to go.
Otherwise EC2 will possibly be faster (it still depends on lots of subtle factors, such as how compute intensive vs communications intensive your application is).
The only way to know for sure is to do a limited benchmark on the core of your problem in order to figure out which architecture works best.
"Never underestimate the bandwidth of a station wagon full of tapes"
Does a 25 second process on a 32 node cluster really count as a "supercomputer" task? By definition, you can run that on your desktop in 15 minutes. If that's really your task, and these are your numbers, and latency-to-answer is your only metric (as opposed to other stuff, like "cost" that people in the real world worry about) then sure: EC2 makes sense. But these look like some terribly cooked numbers to me. I mean, how much time are you really going to spend optimizing something you can run while you trot to Starbucks for coffee?
I'd be curious what the answers (including cost) are when you scale the problem to days of runtime on hundreds of nodes. I rather suspect the answers would be strongly tilted in favor of the institutional supercomputer facilities, who after all have made a "business" out of optimizing this process. EC2 has other goals.
EC2 comes into its own when you have a compute bound task that would normally run for days or weeks on a single computer or small cluster. You want your answer significantly sooner and you want to pay for that.
15 minutes ? Go for a coffee break. If you run 100's of those every day then it starts to make sense again.
Another (very) valid reason to use EC2 is to avoid going through 'purchasing', if it is just a service you'll probably be able to slip it in under the radar.
Much quicker that way :)
But the result here is that the benchmark will complete with "high probability" within about 6.5 minutes on EC2 for a task that only takes 15 minutes to run on your desktop CPU. That model is wildly overestimating the impact of latency on the computation cost.
Additionally, one has to say that the quantities in the graph Ian is showing have a much bigger uncertainty than pretended.
Jan-Philip Gehrcke
- Seymour Cray (http://en.wikiquote.org/wiki/Seymour_Cray)
There are no "strong oxen" in today's world; both supercomputers and EC2 are clusters using more or less the same processors.
Some problems demand shared-memory architectures. The fact that those who work on such problems lack the funding to support a large market in shared-memory machines does not negate the problems' existence.
I merely object to the modern redefinition of the word "supercomputer" to mean a warehouse full of cheap PCs.
There once were actual supercomputers.
There is a -limited- market for 'real' supercomputers, and with that I mean computers that have been geared towards a special class of problems. They too exist in SMP versions, but it would be a serious mistake to think of the individual machines in those arrays as comparable to a machine in a run-of-the-mill beowulf arrangement:
http://en.wikipedia.org/wiki/SX-9
The reason these machines still have a right to an existence is because not all problems are solvable in a massively parallel fashion. Some parallelization may be possible, but the speed up from such rearranging of the problem has an upper limit. That's where these machines come in to their own.
Especially on commodity ethernet based MPI, it doesn't do broadcast so shipping a Gb common dataset to 64nodes can take a lot longer than actualy doing the calculation.