On the Supercomputer Technology Crisis
scoobrs writes "Experts claim America has been eating our 'supercomputer feed corn' by developing clusters rather than new supercomputer processors and interconnects. Forbes says America is playing catch-up and that the new federal budget items are too little too late. Cray is laying people off due to decreased federal spending and claims lower margin products have forced them to create products based on commodity parts. Red Storm, one of their new Linux-based products, is being delayed to next year."
when you can build a top 5 supercomputer for under 6 million dollars, using off the shelf parts. Why spend the hundreds of millions of dollars?
This is an expected and predicted fallout from the recent rise in popularity of beowulf clusters. Slowly but surely managers are realizing, yes, it is possible to have a supercomputer on mass-market hardware, running a free OS.
Don't see this as bad news... it's a sign that we're winning.
+ Donald Gunth
+ Email: dgunth@quicktek.net
"Caffeine is the greatest lubricant ever created." -ESR
What most people don't seem to understand is that you don't need a supercomputer when a mesh of nodes on a network will do just as well. Just like most people don't understand that a 386 running Linux and Word Perfect 5.1 is just as good of a word processor as a 2.5Ghz Itanium running Windows and Word. Computer power has *usefull* limits as well as technological limits.
SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
Of course people are going to cry that companies like Cray are falling by the wayside, but the truth is that their services simply aren't as needed as they were in years past.
If you have to ask, you'll never know.
I think that should have been "Seed Corn."
Free market sucess might lead to us actually having to pay for our own supercomputer research that we use in profit making ventures.
Random Array of Inexpensive Servers.
If the 'supercomputers' of today are increasing performance, does it really matter the design?
Maybe that is a signal that monolithic computer tasks are best handled in a hive mentality - have the Queen issue the big orders, have the warriors performing security, have the workers transporting the goodies (data), and have the requisite extra daughters and suitors to grow the hive and assure its viability (redundancy).
The fact that it is cost-effective is even better.
Don't see this as bad news... it's a sign that we're winning.
Right. The Cray folks have just realized that they are about to go the way of buggy whip and the slide rule. They don't like it one bit. They can only complain by making a lot of noise. But it won't work. When you're extinct, there is no coming back.
It's seed corn. Seed, as in, what you don't eat, but save to plant next year.
Kids these days.
With reasonable men I will reason; with humane men I will plead; but to tyrants I will give no quarter. -- William Lloyd
Either way you get to see it twice.
Clusters are not good for very chattery parallel processes, a shared memory supercomputer can still do much better for computational fluid dynamics.
Yes - feed corn being what you (or the cows) DO eat.
And that is what it says in TFA, the slashdot story has it quoted wrong.
Its the fact that clusters require higher skill to program efficiently for than do single processor systems. Plus you have all of the wasted processing power used for communication between the nodes. Granted, many problems lend themselves well to distributed computing (essentially what a cluster is, but the nodes are closer and communicate faster), but there are also problems that are handled better by a smaller amount of specialized hardware. The other point is that by using off the shelf parts, we are not really innovating in this space like we should be. We are allowing the commodity computer market determine the direction of the supercomputer market.
...and in many cases, even if they *don't* need them. If you want to ensure the economic health of a nation, investing in basic, long-term research would be a good start. This gives a head start in the area industry is weakest in.
Trying to create some sort of supercomputing subsidy out of a misplaced fear that the U.S. will miss out is silly -- if the demand is there, the companies will be as well.
One of my professors (everybody has one of these it seems) is working on cluster computing research, extensions of MOSIX. He's a guy with networking and operating systems expertise. I wouldn't hire him to build a new generation of super computing interconnects or processors. As the Republicans have taught us, federal budgets are not a zero sum game. Why divert focus from one to the other when we could have both?
We have to be careful about measuring these things however. One of the goals of cluster computing was to lower the cost of computing. If the government is spending less and still meeting needs, thats not nessecarily an indicator of a problem. If that means that we aren't writing code to fit into a vector platform, so be it!
I Browse at +4 Flamebait
Open Source Sysadmin
Cray has been engaging in scare tactics about "America being dominated by overseas competitors" for a while, because they're terrified of losing the lucrative business contracts from government and big business, they'll pull out all the stops. They've come up in the IT press recently a couple of times.
Screw 'em. If there's a need, the market will provide. If it turns out that the important tasks can be parallelized and run on much less expensive clusters, then all that means is that we have a more efficient solution to the problem.
May we never see th
Poor little babies, now where will their executives and boardmembers get free money? Will they actually have to do something useful for a living, and for a change? It seems we are only a Darwinian capitalist economy when the little guy gets fucked. When the professional bullshitters at the top get it, it becomes some sort of strategic crisis that requires immediate injections of billions of dollars. Screw them. May Cray rest in peace.
La Supercomputadora is Dead! Viva la Supercomputadora!
If you really want a vector-processor supercomputer you can program in Fortran, get yourself a G5 and gcc. The PPC64 supports SIMD vector processing. For that matter, any problem which benefits from vector processing is trivial to parallelize with threads.
In the age of IP and patents it seems like it is very hard for companies to make major advances [in any field] without some other company cry foul and taking that company to court over patent/IP rights, especially if the alleged infringer is a smaller company (i.e. less lawyers). IBM and MS, among others, are filing dozen if not hundreds of patents a day. What we are seeing as an affect is that innovation is being stifled by litigation.
(pat pending)
"Look Lois, the two symbols of the Republican Party: an elephant, and a fat white guy who is threatened by change."
Technology first developed on the high end slowly works it's way down into the low end. What happens when the high end is no longer there.
Not that many people really need a race care, but advances in fuels, materials, engineering in race cars eventually leads to bette passenger car. And for raw performsnce, strapping together a bunch of Festivas will not get you the same as an Indy racer.
Quit complaining. At least they didn't use this color scheme. :)
And if you really dislike the color scheme that much, there are simple instructions in my journal about how to use Firfox to change the colors displayed on here.
There seems to be some historical revisionism going on regarding the demise of the "supercomputer industry". People are coming out of the woodwork now saying that lack of government support caused the great supercomputer die off.
As Eugene Brooks predicted in his paper Attack of the Killer Micros, the supercomputer dieoff was caused by the increasing performance of microprocessor based systems. Many of us now own what used to be called supercomputers (e.g., 3GHz Pentinum processors, capable of hundreds of megaFLOPs).
The problem with supercomputers is that high performance codes must be specially designed for the supercomputer. This is very expensive. As people were able to fill their needs with high performance microprocessors they quit buying supercomputers.
Many people who need supercomputer levels of performance for specialized applications (e.g., rendering Finding Nemo or The Lord of the Rings) are able to use walls of processors or clusters.
There are, of course, groups where putting together off-the-shelf supercomputers will not suffice. But these groups are few and far between. As far as I can tell they consist of the government and a few corporations doing complex simulations. The problem is that this is not much of a market. Even if the government funds computer and interconnect architectural research, there does not seem to be a market to sustain the fruits of this research.
In the heyday of supercomputers there were those who argued that when cheap supercomptuers were available the market would develop. The problem is, again, programming. High performance supercomputer codes tend to be specialized for the architecture. Also, no supercomputer architecture is equally efficient for all applications. It is difficult to build a supercompter that is good at doing fluid flow calculations for Boeing and VLSI netlist simulation for Intel (the first applications tends to be SIMD, the second, MIMD). The end result of these problems tends to suppress any emerging supercomptuer market.
The reality right now seems to be that those who are doing massive computation must build specialized systems and throw a lot of talent into developing specialized codes.
If there truly is a demand for those kind of processors, then somebody will likely meet that demand. Right now, it seems that actual demand is so low that they have to drum up this legislation a as a sort of wellfare for vector processor manufacturers.
It's a simple cost tradeoff. If you can save millions in purchasing computers, it means more money to pay for people to run those computers and do the real work.
This sig has been temporarily disconnected or is no longer in service
So, what tasks still require a high-speed shared data memory? Answer that, and you'll understand where you can still sell a supercomputer.
Bruce
Bruce Perens.
America isn't going to be the best in everything, its just not possible. So what the fastest supercomputer in the world is a Japanese creation, other then some hurt pride among builders of these things, it doesn't mean anything. The reaction, "Oh my God someone else made something better, we better dump money on the problem for no reason,' doesn't do anything so give up already.
"I use a Mac because I'm just better than you are."
And do interesting things. And try to keep in touch.
For things like weather forecasting, maybe big vector machines still have an edge, but I suspect that's changing as the weather guys get more experience in using machines with large numbers of micros. This seems to have already occurred, in fact; NCAR appears to have mostly IBM RS6000 and SGI computers these days, with nary a Cray in sight.
The most common term I used to hear in the early 90's was Killer Micros; I think the term dates back David Bailey in the 80's sometime. If you want more evidence that the death of the supercomputer has been going on for a long time, check out The Dead Supercomputer Society, which lists dozens of failed companies and projects over the years; this page was apparently last updated 6 years ago!
Have you read my blog lately?
These are actually the only main advantages I can see nowadays about a supercomputer versus some cheaper cluster with an equivalent computation power. I think it's also reasonable to say that a cluster is likely to be more reliable, even if a supercomputer actually includes some distributed and redundant architecture, internally.
... in next-coming sci-fi movies, the supa-dupa-computer of the supa-dupa-mothership is likely to remain indeed some big entity rather than a beowulf cluster for the next coming years, right? I guess the part of 'dream' associated to a very big and very powerful computer is not negligible. I guess that's true for both sci-fi and real life
Still
The problem with Slashdot memes is that YOU INSENSITIVE CLOD!
My inner metaphor nazi here: the metaphor would only make sense if every time you planted your seed corn your next crop grew 10% taller.
I guess it sounds better than, "if we don't get more budget, the terrorists will win!"
Isn't this the M.O. of contemporary American domestic policy? The sleazebag politicians are leading us to this grand era of the service economy where the U.S. will be producing nothing of significance, and magically we all* get rich.
*Everyone's who's already rich.
Steve Magruder, Metro Foodist
It's seed corn. Seed, as in, what you don't eat, but save to plant next year.
Kids these days.
Maybee they did mean feed corn. As in corn that's harvested specifically to be fed to cattle.
Geezers these days.
I'm out of my mind right now, but feel free to leave a message.....
Granted, it is more difficult to program something (from the ground up) that runs distributed, than it is to program something that runs on a giant 2048-way box.
Just like it's more difficult to write multithreaded code than it is to write single-threaded code.
That's where software, and platforms come in. There is a TON of research being done, which uses technologies like Infiniband and Myrinet as interconnects, and can make a cluster "look" like a big monolithic machine. If you as an end user write code that goes down into the TCP stack itself, you're working too hard, and you're going about it the wrong way.
Put it this way: In 5 years the odds are overwhelming that there will be a good software platform that can let you pick 5000 servers and run your app 10,000 threaded, with everything appearing just like a single process, and running "as it would on a Cray." It's easier to solve this stuff with software -- take your problem (distributed computing) and solve the problem with a different set of technologies (high performance/low latency interconnects, shared address space/DMA across machines, etc).
Apple's Xgrid is a step in this direction. It's missing a ton of "Supercomputer" functionality right now, but it's a nice cross-machine GUI scheduler. Right now this type of app can address maybe 20% of what supercomputer apps need... in the future maybe more like 98%.
I will third that comment, but also add that the slashdot team updates the slashcode on the live system on a weekly basis, so just because they haven't been fixed it yet doesn't necisarrily mean that they are not listening.
Afterall, 640K of RAM is more than enough for anybody... ;)
Since IBM is adding Dual Cores to the G5 CPU, and when Apple pops 2 or more of those CPUs in one box, well you'll have a 4-way CPU system from the start.
Imagine a cluster of those!
Isn't it about time we started working on
Positronic CPUs now?
How do you define better? Sure an uber powerful supercomputer might be better in terms of raw efficiency, but if you can have twice the computer for half the price by going with something a little less efficient, who really cares?
This sig has been temporarily disconnected or is no longer in service
...because they can't compete in a market where computer hardware has become a commodity? Oh, BOO HOO!!!
And in other news today, buggy whip manufacturers demand increased government subsidies.
Jesus was all right but his disciples were thick and ordinary. -John Lennon
AAAAAhhhhhhhhhh
My eyes!!!!
Forbes has been complaining that federal support of advanced computing is too little? If the government over-stimulates an industry that has too small of a market, it wil just delay the failure.
Of course the governent should continue in its current policy of funding a few leading-edge machines that are too costly to sell into the general market, but will test new technology. The governemnt itself is a customer will energy testing, weather modeling, medicine development, etc.
The problem with Cray more than anything is that it cant compete with IBM. Things like Bluegene and Virtual Vector Architecture have nothing to do with commodity hardware, IBM is still putting big money in more exotic supercomputer architectures.
... better to spend the money on new compiler technology so poorly written fortran code written by mere mortals can run better on clusters.
Vector computers arent difficult to build anyway, no knowledge is being lost by not following down that path. This is just about pork and nothing else, and poorly allocated pork at that
I read some articles about using standard GPUs for matrix and mathematical operations. Does anyone know if this is being coupled with clustering? Seems that this would give you some of the power of vector processors, but thats just my $0.02.
I've discovered a remarkable proof, but this margin is too small to contain it...
Makes more sense this way. You eat feed corn (or rather, livestock does); you save your seed corn to plant next year's crop. Eating your seed corn is thus a very bad, short-sighted thing.
Money spent researching beowulf type systems advances the start of the art of Linux, communication systems and other stuff related to what I do. Supercomputer research only benefits me peripherally.
Sorry, I'm selfish, but I like the previous status quo.
Bryan
Um, no, read the article. The analogy used in the article was that of "eating one's own seed corn." As in, doing something stupid and short-sighted that will cost you in the long run.
Idiots these days.
I've been in this field over 25 years, been in public position at a major lab now for 8.
If this was a simple issue, the HPC community would already have completely moved to clusters and never looked back 3 or 4 years ago. But it's not kiddies.
Want to run a physics projection for more than 1 microsecond? Takes real horsepower that clusters cannot provide even distributed. Just too much damn data. Chem codes that include REAL data for useable time slices? too slow for clustered memory. Every auto maker in the world (almost) has been whining about the lack of BIG horsepower for a few years now.(crash codes and FEA) I could go on forever. Sure, some problems work awesome on clusters, which is why we have them. But definately not all of them.
The problem is partly diminishing returns, partly the pathetic ammount of useable memory on a cluster and its joke for memory throughput, partly the growth in power of the low end and clustered networking, partly the ridiculously long development cycles invloved in High Performance Computing and the low $ returns,
One of the biggest things congress sees is that this country will more than likely NEVER again lead the world in computing power for defense and research.
And thats something we ought to do as the last real Superpower.
The national labs TRIED clusters, they don't get all the jobs done they wanted. (see testimony before congress, writings in HPC jounals, and the last couple RFPs from US gov. labs,heck every auto maker in the world) People in HPC _know_ it now, but having let what little there was of the supercomputer industry die out, there isn't mcuh of an industry left to turn to now. It just may be too darned late. HPC hasn't been a money making industry since the early 80s.
Heck, even Intel abandoned their clustered machine they custom built for the government.
Most folks in HPC will readily admit the Top500 is kind of a joke. The HPC-challenge #s are a little more realistic for the tests, but we really do need something that approximately real world applications, not just a 70s cpu benchmark.
For those that think this is a 'Linux wins' issue,
consider that mostly it was fast interconnect networks that allowed clustering, not the OS. Examine the history of clusters and you'll see this is true. Btw, the last few SC companies are already mostly moving to linux anyway.(nec,fujitsu,cray;ibm dabbles in hpc)
Hopefully the industry will survive long enough to allow for even better mergers of supercomputing power with low end cost, but at this point I doubt it. Cray has been on the ropes since 96, fujitsu's sc division is a loss leader, and NEC has been trying to get out of it for a while for something with a margin.
Ed -gov labs HPC research punk
-former Cray-on
-former CDC type
I've seen a lot of naive comments suggesting that supercomputers are being replaced by clusters. The truth is, anyone who can replace their supercomputer with a cluster didn't need a supercomputer in the first place:
- (compared to a supercomputer):
- The prime advantage of an x86-based server is that it is cheap, and it has a fast processor. It is only fast for applications in which the whole dataset resides in memory - and even then, it is still the slowest of the group.
- Clusters are a little better, but suffer from severe scalability problems when driving IO-bound processes. As with the x86 server, if you can't put the full dataset into memory, you might as well forget using a cluster. The node to node throughput is several orders of magnitude slower than the processor bus in multiple CPU systems. (6.4GB/s vs 17MB/s for regular ethernet, or 170MB/s for Gigabit)
- Multiple CPU servers do better, but still lack the massive storage capacity of the mainframe. They work better than clusters for parallel algorithms requiring frequent syncronization, but still suffer from a lack of overall data storage capacity and throughput.
- Mainframes, OTOH, possess relatively modest processors, but the combined effect of having several of them, and the massive IO capability makes them very good for data processing. However, their processors aren't fast at anything, and often run at 1/2 or 1/3 the speed of their desktop counterparts.
- Supercomputers combine the IO throughput of a mainframe with the fast processors typically associated with RISC architectures (if you can still consider anything RISC or CISC nowadays). They have faster processors, more memory, and much greater IO throughput than any other category.
It used to be that the prime reason for faster computers came from the scientific and business communities. But now that the internet has turned computers into glorified televisions, the challenges have gone from that of crunching numbers to serving content:As our economy has shifted away from a technological base to an entertainment one, the need for supercomputers has begun to evaporate. We outsource innovation overseas so that we can lounge around on the couch watching tv and drinking beer (or surfing the net and drinking beer). The primary purpose of technological innovation has shifted from that of discovering the universe to merely bringing us better entertainment.
The society for a thought-free internet welcomes you.
One technology that I work with is called Artificial Life and is basically large evolutionary software simulations. (This is not exactly the same thing as genetic programming, but it's close.) This is an example of something that just plain doesn't cluster well. Try to cluster one of these, and you will max out a gigabit switched LAN in less than a second (I've done it!). I've even maxed out a gigabit "star configuration" LAN with this stuff. It just doesn't cluster.
The problem is that these simulations involve many cells that must interact with each other in real-time. The cluster spends 90% of it's time waiting on other nodes no matter how you build the architecture.
There are lots of other problems like this that just don't cluster well.
Clustering only works for problems like protein folding or SETI that divide up into neat "work units" that can be shipped out and then returned. Millions has been spent, along with massive amounts of time by people like myself, and we're still no closer to being able to really cluster applications like this efficiently.
and close to being ready to go into production. But I got sidetracked digging these tunnels out from my basement.
Sorry.
Seymour
---anactofgod---
"Equal opportunity swindling - *that* is the true test of a sustainable democracy."
The Cray-something (2? YMP?) I visited at Livermore Labs back in the late 80s was really cool, for a now 17-year-old machine. It had a ~$2000 AT&T 80286 PC on top as a console controller, and the terabyte of data storage was an 8-foot cube tape robot from StorageTek. Today you could put the $2000 PC on top as the main CPU, including a terabyte of disk drive.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
Vector computers require extremely regular code, which is almost trivial to parallelize ... yes they tend to have a bit more bandwith too, for twizzling, but they are not suited for hard to parallelize irregular problems either.
... and the Americans who were more into MIMD. These people dont want things to go back to how they were, they just want pork and they will say anything to get it.
Besides, it has always been the Asians which were mad about SIMD
The PCC and Pentium4 do have "single instructions multiple data", but "multiple" == 4. That's not a remarkably large multiple. One possible research topic would be increasing the number of data elements that could be processed by the same instruction in the CPU. But note that to get a real gain from that, one would also need parallel access to memory, in order to load those data into the CPU, another good goal for a research project.
There is no super computer technology crisis, there is however a paradigm shift happening in the supercomputer market. Twenty years ago building your own supercomputer, even a loosely coupled cluster, was not a very viable option for most research institutions. Today this option is not only viable but often exercised.
Obviously the big SC vendors and designers seeing less business roll their way, why pay them tons of money when you can have grad students assemble your cluster for the price of some pizzas? That isn't to say SC clusters are the end-all be-all of computing but they're very useful and relatively inexpensive. Realistically they're simply an extension of what Cray started with their T3D supercomputer. The T3D was very impressive in its days but now the technology to build such systems is in the hands of just about everyone.
Taco: What the hell is up with the IT color scheme? This is even worse than the scheme for the Games section. I know the Slashdot editors don't actually read the site but other people try to and we're not all colorblind or reading from grayscale monitors.
I'm a loner Dottie, a Rebel.
Several engineering issues making this Ludicrously LSI operation possible have not been solved. One type of logic found in computers is called CMOS, the other called TTL. TTL has another special implementation that allows it to achieve high clock rates.
This special TTL that is used today has reached its peak at .09 nanometers in width. The semiconductors used today do not have enough "gas" (voltage) to power such a large system. Every transistor has a voltage drop within it, and adding more and more transistors only increases heat, power consumption, and probability of failure. If a single part of a huge new chip were to fail, the entire chip would have to be replaced.
Ever wonder why CPU's run hot? They dissipate voltage (and with it current, which is the True Power). At some point, the input voltage on the processor will be so close to the output that measuring HIGH or LOW (1's and 0's) becomes impossible. Until some scientist discovers a brand new material that can overcome current and voltage barriers, clustering will be the norm. Said scientist would be a billionare if they could patent a material like that.
Researchers are out looking for these new substances, mind you. Until they find one and build a semiconductor company, single computers with low clock speeds and high bandwidth will not be able to tackle what the human imagination has instore for them. There is also a limit involving physics and microwaves that I could get into, but i'm not a physicist. I'll leave that up to them :)
Two...I have two words for you!
Seriously, I don't see the problem, so long as companies like IBM and (dare I say it) Microsoft continue to do research in this area. That is the real value of companies that are committed to *real* research in revolutionary sciences and technology.
Of course, US companies don't have a hammerlock on this research. There is a lot of work being done internationally in the area, by corporations, and by educational/research institutions.
---anactofgod---
---anactofgod---
"Equal opportunity swindling - *that* is the true test of a sustainable democracy."
The use of commodity hardware for interconnects is indeed the real problem ... what the government should promote is faster interconnect architectures. Fund people like Virginia-Tech who are applying InfiniBand to clusters ... and promote the development of even faster interconnects for inside systems, and between nodes. That would be a good use of money, not giving out pork to have full custom extremely simple vector computers build. That doesnt promote innovation, vector computers are a step backwards.
:) NUMA scales poorly, you have to throw a lot of hardware at it ... it is a good architecture for lazy programmers. Real parallel programming is still done with MPI and its descendants.
Earth Simulator is an example of what not to do, a quarter billion spend just to get on the top of the list and getting the ability to run a very limited set of applications very fast. If they had given Virginia-Tech 50 million last year then it wouldnt have had to top spot on the supercomputer list today.
BTW the one thing I think would be a worse idea than promoting vector computers is promoting NUMA BTW
In particular, he wants a 2000s-version of an 1980s architecture running a 1960s language. For $1M, he could train his technology guys to use newer programming techniques. Yes, I realize that Fortran 90 is newer than Fortran 77 which is newer than Fortran IV which is newer than Fortran 1, and that the biggest CPU job these guys do is usually crunching big matrices of floating point numbers. That's a job for a subroutine you write once and feed with data and user interfaces that are written in languages that are more efficient for prototyping and user interface design.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
Is it because there is a perceived zero-sum game being played between Linux-based clusters and supercomputers? Hey, let's take a reality check here, a lot of research is not directly applicable. In fact, I've read numerous discussions on /. railing against the MBAs and the Bush regime for not funding anything that doesn't turn a profit within about 18 months or have something to do with killing brown people.
/.'rs that the country as a whole subsidizes advanced computing? Isn't computer science all about seeing what can be computed? Letting supercomputing die because it's expensive seems like an extraordinarily short-sighted thing to do.
Letting supercomputing die may be harmless, after all, the US doesn't have to be the best at everything in the world and some other country will fund the research. But from some of the more coherent posts I've read, it seems like supercomputing has a definite niche in the natural sciences, something we should be pushing for a better society - learning for learning's sake - and paying for out of public coffers. My taxes go to a lot of shitty things I'd rather them not go to, like subsidizing Haliburton with no-bid contracts. Why is it so offensive to
Oh, and yes, I'm a Linux fanboy, but I was also reading comp.arch (remember Usenet?) back in the days when the Attack of The Killer Micros was starting to kill the minicomputer and mainframe industry ("careful with that Vax, Eugene!") and RISC vs. CISC was still a design issue, so I do have some perspective on the game.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
It might just be my Powerbook monitor, but I see the games section colorscheme as a very nice-looking blue gradient on white.
"They redundantly repeated themselves over and over again incessantly without end ad infinitum" -- ibid.
...must have never heard of FPGAs. That's where supercomputing is REALLY headed. Vector processing is a specific application in that sense... as is "a bunch of FFTs" or maybe a dedicated MPEG2 block encoder.
That's the beauty. You architect the local hardware to better implement a large task.
THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
Call me a lunatic, but I've grown to be skeptical of large parallel computing, mainly because the economics driving the "research" detracts from useful applications.
o optimiizing the shape of a potato chip (maybe that was tongue-in-cheek in the article?)
o optimizing the wind profiles of our heaveier, bulkier vehicles, which is IMO a round-about way to attempt to reduce our dependence on fossil fuels.
o predicting the weather at the level of 1 km so that you can make a weather forecast product to sell. Severe weather monitoring in the upper midwest always seems to err on the side of over-protectionism (or is that cover your a**?).
Give me a reason to want to support supercomputers.
You really think a heavily subsidized high end market with revenues a couple of orders of magnitude lower than the mainstream can develop technology better? It is just a nice justification to give boys on top leeway to spend money on toys.
The next big step in computer architecture will be Cell, and you know what is funding that step? Consoles and consumer electronics.
THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
Not just no, but hell no. One of THE major points of having shared memory is that such systems have an order of magnitude (or two) lower memory latency. Seeing as how memory latency defines the performance bound for most apps that just happen to run well on shared memory systems, there is no way you can reasonably use gigabit network fabrics as a substitute. Unless you can afford greatly reduced performance to save a few bucks.
When gigabit networks have typical latencies like that of a ccNUMA system, this will be worth considering. But we are still pretty far from that today, and it isn't a trivial engineering problem to get there.
Are they supposed to be immune to the risks associated with technological changes? I am not a citizen of the US, but if I was I woudn't want to be paying for a supercomputer when a cluster is good enough.
One big paradigm shift is that computers that used to cost enough money that they'd take dozens of people to manage and hundreds to feed them data and years to design database applications for are now commodities that sit in your pocket or on your desktop and can be used for problems that you'd never have applied that level of resource to back in the 80s or the 60s. That means we need to relearn how to interact with users so they can take advantage of the speed, and we're only starting to crack into applications that can use some of the CPU speed, like video processing.
Another big paradigm shift is the connectivity of the Internet - you've got more data bandwidth on that cheap cable modem than the first N years of the Arpanet, and basic communication is basically free. That links the world together, for good and bad - it creates opportunities for Nigerians to sit in cybercafes near their homes and scame untold wealth from suckers around the world, and lets people have freedom of speech in ways that their governments have serious difficulty controlling or preventing.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
"We're in need of a paradigm shift. Where's the next Seymour Cray?"
Right here? :-)
Seriously, doesn't biocomputing seem like the next quantum leap in computational power? More than just storing data in cows, of course. Actual computational systems implemented in wetware. Why bother retreading the same old tired silicon, and instead focus research on the stuff that can leap us ahead an order of magnitude or so.
Ok, on the one hand, "real" supercomputers cost a bunch and go obsolete on you periodically. So you could spend tens to hundreds of millions of dollars, build out a location to receive the supercomputer, hire a staff and security to babysit and control it, hire company consultants to come in and set it up, and then repeat the whole thing in a few years when it becomes obsolete. Or you could use a cluster, which you can upgrade gradually over time with additional units (or faster units), assemble and staff with "mere mortal" graduate students (in CS), and stash pretty much anywhere you've got a spare storeroom (I'm exaggerating, but only slightly). "They" say there are things you can't do with a cluster, but every problem has a solution (provided you're not driven by the profit motive, ha ha).
On the other hand, what if they're right and there are some tasks that can't be easily done by a cluster? Then it might make sense to subsidize at least one or two supercomputer companies to maintain that skill set.
Here's a thought: Let's say it's determined that most tasks work just fine with clusters. Supercomputer companies find that there isn't enough business to support them anymore. They start to fade.
What would stop the Federal government from coming in and hiring their staffs to work in a nationally-owned and operated supercomputer center? Pick a location, set up a prototyping factory, and build a research center whose sole purpose is putting out the fastest computer ever made. Sort of a comp-sci NASA. They could aim at creating a new system every five or ten years. Each current system is maintained and run by one team while another team works on the next one, and the feds lease the systems out to researchers able to pony up a few bucks to help support the setup. Old supercomputers put out to pasture can be rented out for more mundane tasks.
Isn't that kinda interesting? It gainfully employs all the supercomputer related computer scientists so they don't move to some other country out of frustration, it preserves their knowledge for our future use, and it lets everyone get back to working with their clusters, except in those cases where you don't want to use a cluster.
Farewell! It's been a fine buncha years!
You can defeat latency with extremely small packet size and by minimizing the network layer envelope. A supercomputer only runs one process- even if that process is multithreaded. To mimic the supercomputer's memory, your cluster should only use the network for a single process- the virtual shared memory driver. Don't bother with TCP/IP, it's way too wraper intensive, to send a single byte you need to wrap it up in 300 bytes of envelope info. No, go down to the hardware packet level instead, with a "Queen Bee" that only does memory managment serving cache-sized (and no larger) packets to individual CPUs. Then your network latency would be VERY low- because you're simply not using all of the bandwidth available. True, it'd still be slightly higher than pure memory- but the increased number of nodes will cover that up in a hurry, especially if you code for specialized machine processes rather than a single general processs.
SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
I'd agree that we need supercomputers, but that's not quite the same way the "industry" does. Let's face it, there are very few everyday uses for supercomputers anymore. It would be fun to see a new round of "supercomputers" but frankly all of them put together don't have the technology resources to beat companies like Intel & AMD...let's not forget that both companies have recently built 2 BILLION dollar fabrication plants that are only slated to be state-of-the-art for 3-5 years tops... The dollar expenditure to build top end chips is large it's not profitable unless you can sell millions to get back your money. I'd like to see makers like AMD release "cell" motherboards that unchain the chips from arbitrary restrictions of chipsets and allow end users to connect chips like Opterons in more "novel" maners...considering an "average" Opteron server board can support 4 processors and 16+ GB of ram, the issue isn't a technology lead, but rather getting "lego-like" processing components into the hands of truely creative people again...
The novelty of structure is what made Cray so fast, not necessarily the individual components...the "supercomputer" industry lost touch with that ideal segment a long time ago.
"less" is used with continuous quantities ("less flour"); "fewer" is used with discrete quantities ("fewer marbles").
So "less lawyers" implies that lawyers are continuously divisible. I'll have 2.7223 lawyers, please. Hmm, maybe you have an idea here...
What does it matter if we don't develop single unit supercomputers. Clearly in a free market if these thing had value they would be persued. There is not predetory tax laws on supercomputer, or any other regulations on domestic use. The only reason development has slowed is there is not much market for the beasts.
There are many reasons for that too, for one other then in stealer, neculear, mathematic, and bio research feilds few industries need more computing power then can be had off the shelf any day of the week. That was not true yesterday it took all sorts of custom hardware to make CGI happen in films that can be done now in my basement in resonable time frames. So no more super computer market there the ROI is gone I am sure this plays out in all sorts of other engineering feilds as well.
Many places where you do need super computing power can be done with clusterd systems that are cheap to build and cheap to maintain.
At least people in the pure science and research fields have learned to be better thinkers and programers, they found ways to do things in parallel that were traditionally serial. Things that still are serial can be made to work on a cluster, sure it might take longer then a single computer considered to be equal FLOPSwise but considering I could either spend all the money I saved makeing my cluster bigger and more powerful so I can get back to equal time or on other profitable efforts while I wait there is again no ROI.
It so happens that may of the most interestin questions in math, physics and computer science such as quatum theory need massive amounts of parallel work, rather then serial so that works better on a cluster anyway.
If there is a real reason to do it people will build supercomputer, because there is nothing stopping them other then economics. No need to fear Supercomputers are not going away. Everyone else that needs that kinda proc-ing power will settle for clusters, as well they should. This is just another largly obsolete industry wanting someone to bail them out because they have failed to adapt to a changing market. If they are going to die we should let them, just like we should let the Universitys adapt or die, and the RIAA needs to adapt or die, we need to stop proping up obsolete undustries so new ones can replace them!
Repeal the 17th Amendment TODAY! Also Please Read http://www.gnu.org/philosophy/right-to-read.html
Most of what passes for state-of-the-art desktop CPU design are techniques first implemented on high-end mainframes and supercomputers of the 60s, 70s, and early 80s. That fact that my sub $500 office PC performs so well is due to the improvements of the semiconductor process engineers over the decades. (And here's to the process guys! Great job!)
So what happens if the process guys can't keep delivering better performance for the same old CPU designs? Where are the new, high performance CPU architectures going to come from if not the supercomputer and big-iron mainframe folks?
I lament the US government spending itself farther and farther into debt. I would lament more the last US supercomputer company dying off, leaving Intel to have to hope for new architectural ideas from NEC. I mean, sure Itaniunm is junk, but at least Intel didn't blow a decade learning that you can't write an OS in Prolog.
Its the fact that clusters require higher skill to program efficiently for than do single processor systems.
...vs This year's topology from Cray or SGI
or the like. Yeah, whatever.
If I know MPI (which I do), I can code on any cluster out there, and it will perform similarly, with a linear time dependance on network speed. Including most supercomputing architectures. By comparison, if I know HPF, well, I can write code that will at least run on most supercomputer topologies, but run efficiently? All at the whim of the manufacturer, and whether or not they had my particular problem (or a similar variant) in mind when optimizing their compilers.
The other point is that by using off the shelf parts, we are not really innovating in this space like we should be.
Define "should"...
Customer X wants a supercomputer to perform a few set tasks. He can pay you to "innovate", or he can pay your competitor 3% of your costs for a setup that will wildly outperform your top-of-the-line machine. And you see a problem with using commodity parts?
An important part of "innovation" involves making the best use of what you have available today. Sure, tomorrow that may mean quantum coprocessors, and at the absolute limit, it may well mean coming scarily close to breaking the laws of physics.
For the present, however, it means using a cluster of Opterons.
The entire story is contained in this line:
"The U.S. House of Representatives this month passed two supercomputing-related bills: HR 4218, the High-Performance Computing Revitalization Act of 2004, and HR 4516, which seeks about $200 million in funding for supercomputer development at the U.S. Department of Energy."
It's just people wanting more government handouts for their pet projects.
All of the $Billions the FedGov has invested in this effort have not produced successful commercial products. The only possible exception has been Cray Computer, which started failing after Seymour Cray left.
The FedGov's funding has, however, prevented the success of clusters based upon cheaper systems.
Lew
"The Constitution, the WHOLE Constitution, and nothing but the CONSTITUTION."
Hmmm...I believe the term is SEED corn.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Beware the politics behind all this talk. Some of this MAY have to do with cluster vs. big iron, but I'm not entirely sure that's the only thing about this. There's politics involved. I'm not talking about Democrat vs. Republican here. I'm talking intra-super-computer center politics.
The Ohio supercomputer Center and the Pittsburg center are not currently part of the NSF Supercomputer program. NCSA (in Illinois) and SDSC (San Diego) are. The other two WERE part of the program, and they're still pissed about getting cut from the original program.
You'll notice a few of things in the article:
First, NSF funds the current supercomputer program, not DOE. DOE will get the funding (and make the award) for this program, if it goes throught.
Second, a Illinois rep is gunning for this. Presumably that rep wants to give NCSA a good shot at the big iron. (Pork barrel poltics, the old fashioned way). Presumably this is to keep NCSA going in case NSF ever decides to cut funding. Whether they actually get a DOE program remains to be seen.
Third, the other supercomputer center mentioned in the article is Ohio. Again, currently not funded under the NSF program. I'm SURE they're gonna gun for the new stuff, so I'm not surprised they're complaining about clusters. Whether they believe it's the wrong way to go or not, I'm not sure. I think this is purely to get the money going so they have a shot at it.
It'll be interesting to see whether this actually gets through the funding stage or not. It'll be a LOOONG time before this money is awarded. If they passed it TODAY, it would take a year and a half, maybe two, to actually award the money.
What bother's me here is it seems like the Government is trying to pick technological winners using corporate welfare instead of fostering real competition among US companies. As far as national security goes, I think there is a lot bigger fish to fry than the loss of the supercomputer business. The entire US technological sector is a mess-and much sensitive data is now completely outside the regulation and protection of the US government(either outsourced or under control of guest workers).
It is sort of silly to compare what Google or the Bank of America needs and do to what scientists do though there is some overlap. In science there is a need for both FLOPS and throughput
For example we use a Linux cluster for protein simulations to try to figure out how proteins fold (or as you would say - test out our ideas about how proteins fold...). We are very aware of the bandwidth and memory limitations. That's why the software is written so that it fits into memory and so that there is as little IO betwen nodes as possible and thus things pretty much scale linearly with the number of processors. None of the work would be feasible without the CPU horsepower.
Another example is the particle physics lab that my brother used to work in also which used a cluster to process their events. An old mainframe then handled and stored the huge amount of data fed to it by the workstations (this was a few years ago). There they needed both the computational power to evaluate the data and the throughput to store it
In both cases, I suspect that in a business environment, buying a supercomputer would have been referable to noodling with the algorithms. I'm sure some consultant would have been hired to deem it necessary. And indeed we could use the extra IO but it's just not worth the cost - I'd rather use the limited resources we have on more processors and work around the IO limitations.
BTW, the last calculator I used had LEDs though I do like to work out equations on paper still...
Oh really. Don't blame me for not trusting a guy with that kind of potential bias.
Time makes more converts than reason
That sound byte is the only remarkable pro-mainframe thing anyone's said.. and while it is a nice quote its not really an accurate metaphor.. like when arnold calls his opposition 'girlie men', just draws the ear from the fact its completely nonsensical. its clear that in reality NO BODY'S CONSUMING 'the seed corn' - it has nothing to do with anyone 'squandering the future of supercomputing' .. it doesnt even make any sence. compare the ammount of research done on single vs parallel systems.. there is MUCH more potential growth for one of them, while one has 60 years under its belt... not that mainframes dont have their purpose... in a parallel system.. for the individual processes that require their power.
the simple fact is most of the supercomputing users are tied to the gov't, and its now seeing all its support go away for its legacy systems, and all the govt can really do is make laws and tax people.. its doing what it always does to maintain its status quo
When you have a data set that doesn't fit in the machine's cache, it doesn't matter how fast the CPU is.
Mea navis aericumbens anguillis abundat
It would still be a lot slower than memory. Typical memory latencies are on the order of 100ns. Going to the network would still be a lot slower. Suppose network latencies where about a tenth of what it is typically. That puts the latency at about .1 ms (a ping to a system on my network takes about 1.5ms) which is still about a 1,000 times slower than memory. Even with an improvment to .01ms in the network latency, we're talking 100 time difference in latency.
That essential puts a lot of stuff in the difficult to work with area. So no, I don't think a network can effectively replace a shared memory machine on latency dependent work.
"When you sit with a nice girl for two hours, it seems like two minutes. When you sit on a hot stove for two minutes, it
How about a compromise like SGI's NUMA systems? Seems like a reasonable compromise between fast memory & lots of CPUs when memory access is important.
my sig's at the bottom of the page.
Since with MPI cache coherency is not an issue it will work fine on clusters, the only problem is interconnect.
... that gives you bandwith pretty close to a Cray RapidArray link (1.6 vs 2 GB/s ... close nuff).
Nowadays you can get PCI-E Infiniband controllers if you want to spend the money
Granted most things these days can be done on commodity hardware. The issue is what comes next. Many hardware advances over the last couple of decades have been made in supercomputers, these way out techniques become tomorrows commodity parts.
If you start with commodity parts then where is the technology drive for tomorrow?
It may be that there is no market for them. Does that mean that computing has reached its limits? If no one pays for 'supercomputers' then how does the research into things like quantum computing become a commercial reality?
in their market share. True enough, some problems can be parallelized, some can't, but before clusters were feasable they all had to be solved with supercomputers.
Now, the problems that CAN be solved by a cluster will surely be solved be one (it's cheaper).
So perhaps they won't desapear... they will just loose some market share.
What about FPGA based supercomputers? Like these: http://www.starbridgesystems.com/
One AC to another: All the simulations you are talking about will have to be re-run a lot of times with different combinations of input parameters anyhow. Therefore, these are trivially parallelizable on a cluster (just run one combination of input data on each of the CPUs).
- non-punk who actually saw how Chem simulations are run
- old enough to see CDC run
This reminds of a Quote from Cray. It goes something like, "Would you rather have 1024 chickens pulling a wagon or a big Ox."
I don't think people eat feed corn-- doesn't it have low sugar content, high protein content, and taste like cardboard?
They'll remind you that you DO NOT save seed corn, lest you be sued into oblivion.
New supercomputing advances on the way will radically redefine the industry.
I refer to a DARPA funded project created to fill in the performance gap between today's inadequate SC technology and tomorrow's (quantum, bio) still far in the future stages.
The project is called HPCS, which does not stand for High Performance Computing System, but rather High Productivity Computing System. The point is not to increase flops but increase value. The earth simulator, for example, is down for maintenance about 2/3 of the time and can only be reliably run in 8 hour chunks. The ASCII series may have high peak performance but averages only 5-10% of that. DARPA knows that if this is the state of the art, then there is work the do.
Three companies are currently doing research on proposals and are DARPA-funded through 2006. The three are Sun, IBM, and Cray. Two companies will continue from 2006. A working product will be delivered in 2010.
Many radical new technologies are in place, but as you can understand most of it is tightly under wraps. But do some reading on the DARPA page and you will find some interesting things.
Here is the link
- employee at one of the three aforementioned companies
We'd all rather watch Brittany and Bomb arabs...cmon science??? yuh
I agree with the comments in the article. Commodity clustering is NOT the answer. It consumes tons of energy also. Everything in the article seems dead on correct. Parallel processing is not the big nirvana everyone thinks. Some jobs can't be done that way. It's ironic that this was posted today because i was looking up info on google about superconducting supercomputer.
It easier to make pyramids (clusters) using lots of people and well understood principles than it is to make art (new processor / architecture). Just a reflection of our whole socity - don't take chances. Thants how you end up with rocky 4.
"It's so convenient to have a system where everyone is a criminal" - A. Hitler
There never really was a supercomputer market. There was a cold war, that subsidized the supercomputer market.
Then there is the cost. Companies stopped making SC because they were too expensive. If the guy from Ford wants to pay 1 billion for a supercomputer I am sure someone will build him one. The cost build a FAB is over 4 billion. Why do you think HP teamed with Intel. Why do you think there are so few processor families? You have to make a living in the commodity market where you can sell things in the millions because supercomputers even in their heyday were sold in the hundreds.
Then there is the problem that many problems are solvable on clusters. So those specialized problems can not depend on other parts of the HPC market to help subsidized their corner of the market. i.e. clusters make the really hard problems more expensive.
It is question of how much you want to pay to solve your problem? Simple economics actually. If the numbers don't work, the problem doesn't get solved. If the Gov. wants to solve some problems (and during the cold war they did) then they can step in and subsidize the market.
And don't cry about Japan and the Top500. When the top500 has price column then it will start to be meaningful.
HPC for Primates. Read Cluster Monkey
...the terrorists win??
The fact of the matter is, Compaq is the one that killed the supercomputer.
They were #1 in a BIG WAY after they bought DEC and sold Alpha-based mainframes. Alphas were something like 7 of the top 10 in the Top500 a year or so ago... Mainly because Alpha processors were great, and outperformed everything else by leaps and bounds.
Unfortunately, under Compaq, Alpha development stalled, and stalled, and stalled... Their latest processor wasn't a big step above x86 processors of the time, and since they only release a new processor once in a while (unlike the PC market where faster processors are released almost weekly) current PC processors are faster than Alphas for many operations. With Alphas being far more expensive than PC processors, is it any wonder they aren't posing much competition to clusters? It seems to be a common problem...
IBM's newest PowerPC processors looked like they might revitalize the supercomputer market, but it really just wasn't that much faster than everything PC processors either.
Is it possible that conventional processors just can't get much faster with better design? Is it possible that the sheer volume of processors AMD/Intel sell, allows them to stay ahead of the giants of computing?
Well, in any case, it's quite possible that the giants are just stuck in their ways... Each one wants to hang-on to it's propritary architecture, instead of buying-in to commodity computing. There's really nothing stopping IBM, Sun, SGI, et al., from building a supercomputer around Opteron processors, but they just don't want to... They want something that fits in with their market strategy of propritary lock-in.
Wonder if the up-take of Microsoft Windows ever got the federal government to subsidize propritary Unix OS development... Doubtful, but it's really the same thing.
Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
... a beowulf cluster of these...
I know folks who did their PhD thesis on a Cray (~100MIP +15 years ago) who now get much more computing done on a Pentium III desktop workstation. It has more megaflops and more RAM. The point - most of the research poured into "supercomputers" has been a complete waste of time. The SIMD technology of vector machines is virtually useless for general computing, but the enormous fiancial engine behind commercial CPUs has driven their R&D to pass up the performance of former "super" computers typically within 5 years. The best advice would be to just shut down the useless waste of money that is supercomputing R&D, and wait for the commercial sector to do it.
"Sic Semper Path of Least Resistance"
Can you imagine not imagining a Beowulf cluster?
I hear this type of FUD all the time from some of the older folks I work with -- all the hype about Cray systems, shared memory capabilities. There are several problems with the 'supercomputing' market though. First off if you go to any local University, they teach fortran as a basic intro course, but most professors will footnote their comments by saying things like "Fortran is no longer considered a marketable language"... so students think -- why waste time learning it (other than the basic programming capability?); this erodes the base support for vectorized programming support (putting aside arguements that fortran is not vector programming for now please). More importantly (and secondly), Cray architectures are MASSIVELY expensive in relation to where the standard desktop CPU is without enough benefit to make them worth it. People talk about the need to play "catch up" as if there is a real crisis at hand. The reality is that clusters are gaining in popularity because they're cheap, and per CPU tend to be more 'powerful'. Institutions that purchase Crays end up with a number of folks trying to run software and inevitably you run into time bottlenecks. What folks at these institutions realized is that by purchasing a 'state-of-the-art' 32/64 bit system with dual processors and a couple gig of memory, that by the time their jobs were starting on the Crays, they could already be running on their new desktops.... In the end I say why rent time on a big Cray when you can purchase your own system and run it into the ground with jobs? Despite some of the FUD I've seen splashed around by folks who are proponents of Cray systems, Clusters are relatively simple to setup, do not require multi-million dollar yearly contracts, and can generally be maintained by the purchaser without much effort. Most of the cost of clusters anymore is the cost of the system administration -- which you don't need a "staff" of SA's to administer. IMHO, you don't even need an SA anymore for designing, building, and running a cluster; with only a baseline of knowledge of computers, and a little reading just about anyone could build their own. When all is said and done, you end up with more compute power in a cluster at a much lower cost. Some folks would say that throughput is an issue; that's problem dependent, and can be rectified with a little problem solving. Some folks indicated that clusters aren't optimized for peak performance... WHO CARES?? If it takes me two minutes longer for a 5 week job to finish, I've still made out better for not purchasing a Cray. I've heard folks complain about not enough memory, or programming problems -- generally these tend to be older folks (what I like to call the obsolete-engineers; aka -- old fogies) These are generally the folks that complain about the 'new fangled' software they have to use, and simply don't want to have to reinvent their "marvelous software" in a new environment. I've run 64 gig memory jobs on clusters without a problem; again my problems allow for parallelization optimization... Eventually I end up telling folks who are steadfast supporters of the Cray to wake up, this is a brand new era about you. The days of the single supercomputer vendor filling all your needs are over. You now have choices, and with those choices you have to take the responsibility of defining how your new parallel supercomputer will function. Either learn and adapt, or become obsolete.
Free market success might actually have lead to DARPA not funding any research in this thing called the Internet in the 60s or to more libertarians tooting their own revisionist history horns. Then again, the free market can do anything you say it did after the fact. That's why it's so free.
-Those who would give up essential liberty to purchase temporary safety deserve neither. -Ben Franklin
I'll pretend someone will read this late post, but most of the arguments people are presenting against supercomputers are business arguments. Why do we need a business model to want to build supercomputers? Governments build a lot of stuff that makes horrible business sense. For example, particle accelerators. These things are damn expensive and I doubt profitable. But they do enable fundamental scientific research. The same can be said about supercomputers. It's going to be less than 20 years before we could start thinking about almost science-fiction type problems --- for example, molecular dynamics simulations of whole human cells. However, we're not going to get there by strapping all of our 2025 cell phones together and making a conference call (the 2025 idea of a cluster). Supercomputers are designed for fundamentally different scalability, reliability, compute performance, and bandwidth than consumer systems. While they might not be a good business idea, it hard to argue against the benfits to material science, physics, medicine, etc. that supercomputers could provide to society. In that light, $200M of government spending isn't about holding onto ideas of the past, it's about preparing for the future.
I work for a CPU startup (ootbcomp.com) that is exploring how our high-end chips would fit in a supercomputer. Our Mill architecture is a general-purpose CPU (yes, Linux) that looks like nothing you've ever seen when you get the hood up. Supercomputers are multinode machines, which does *not* imply that they are loosely coupled clusters in the VATech model. A node is one CPU chip, a local memory, and an interconnect to other nodes to provide system-wide global shared memory; node counts from 100 to 10,000 are common. Per node, our proposed system has up to 100Gflops, up to 960GB/s memory bandwidth (to any mix of local or remote memory), up to 4 GB of local memory, and burns under a kilowatt. With reasonable packing densities you can get 3 Earth Simulators worth of flops and up to 7TB memory per rack, using around 600kWatts. That's with global shared memory and a maximum memory latency from any CPU to any byte of under 100 clocks. We just do chips, but would be quite interested in someone who wanted to put our chips in their boxes and sell them in this market. Please don't kick the tires to satisfy your individual curiosity - if you don't know why those numbers are significant then we won't tell you, and if you are not with a present or potential market player then you'd be wasting time we need to spend getting it working :-)
Ivan
In the worst case (very large messages) ...
The WORST case in the latency-limited problem are very *small* messages: "The value @0x67564987 has changed to 0xDEADMEAT, which value to look at next?" (note the implied waiting for the answer).
You do not gain anything when you pump up bandwidth while exchanging small messages (it helps for large, sure!), you are still limited by the latency.
Paul B.
It's an impressive machine. 640 nodes, each of which is an 8-CPU shared memory multiprocessor. The unusual feature is that the machines are interconnected not by a network, but by a brute-force 640 x 640 crossbar switch. Each data path has 12.3GB/s, and 640x2 paths can be going at once. 83,000 separate cables. Aggregate bandwidth about 8TB/s.
It's a reasonable way to make a one-off machine, but a dead end as a commercial product.
This isn't about clusters vs single memory architectures. The main issue as mentioned elsewhere in comments is that the market for high end computing is being partly filled by cheap clusters so *US* manufacturers are not focusing on those kinds of systems as it's less commercially viable.
Non-US copanies like NEC are still focusing on and winning the non-cluster high end market race. Notice how the US govt was so protectionistic a few years back (97 I think) when NEC won a major contract over a US supplier (SGI) because the NEC was cheaper. The US govt overturned the sale saying NEC unfairly discounted.
Well in this battle the US companies are slipping behind so now the US govt is injecting funds to help prop up these less competitive US companies. I'm sure this money will be spent on purchasing "classified" systems that non-US manufacturers wont be allowed to compete for "security reasons".
At the end of the day it's just another form of protectionism.
pithy comment
Isn't that illegal?
Real Daleks don't climb stairs - they level the building.
"Hey, these Cray computers are really expensive; but I figured out, that we could just use personal computers instead, if we emulate the load balancing hardware, so let's just put together some 50,000 x-boxes. Ooooh! These x-boxes are even cheaper! We just have to emulate the PC software in order to be able to emulate the load balancing hardware on the X-box. LOOK AT THIS!!! We can even use Excel instead of our expensive mathematics software, we just need to put in some Visual Basic Script, connect it with some DOS-based C++-Code to the NT-based Java-Code, and send the results to the Linux-based Emulator, and everything should work!! This is even CHEAPER!!!11!!!111"
.. oh no .. can I borrow your screwdriver? We should also exchange node #43091, I think, something's wrong with the memory.."
2 Weeks later
"Uhmm.. now what's that? It can't be zero!? Shouldn't it be something like 68 Billions and 45 Millions or something?
First, they exchange all the professional, mature and robust parts with the cheapest consumer-class devices available on the market, and then they start wondering and complaining, why nothing works reliably anymore...
If you read the papers at the recent OLS (Ottawa linux simposium) you'll see that SGI is running linux images (specially tuned) on 64, 128, 256, and in 2 cases 512 cpus. Reading the paper is an interesting view into the problems of running kernels and OS's on such huge NUMA machines.
http://www.finux.org/proceedings/
"Well I don't want Fop, dammit! I'm a Dapper Dan man!"
I can't remember for the life of me the name of that movie. Can you tell me what it is?
I sing the doggie electric!
Perhaps the communication is limited only to adjacent cells?
Typically a Finite Element Analysis in parallel, analyses a problem by breaking it down into millions of elements. These can be an element of air/water (CFD), an element of metal (stress analysis), an element of soil (my own speciality), or combinations. At it's core FEA is basically the solution of a massive array of simultaneous equations
Taking the Weather analogy. Say you are processing a global model on 16 processors. Each would take charge of thousands of elements and would calculate all the flows of air/heat/moisture/water/etc within and between those elements. Communication between the processors is required at the edges of each processors domain, to know what is going on in the next domain.
As you can imagine this requires a lot of communication between processors for a solution to be converged upon. Remember back in high school when you had an array of 4 simultaneous equations to solve and how each time you eliminate a variable from one row you had to change all the others, well the communication involved in solving a billion equations gets quite large.
Organising the decomposition of the domain to optimise the inter processor communication is a field on it's own, needless to say though that a beowolf cluster of linux boxes, does a good (and very cheap) job of running the calculation, but is always limited by the speed of the communication between boxes. Whereas a custom machine can be built to reduce the latency of communication greatly. If you know pretty much what you are going to be processing then you can even set up the communication so it is much faster to 'local' processors to speed up communication more.
Anyway in short the answer to your question is, Yes (more or less)
My spelling isn't bad, I'm evolving the language
"..DARPA not funding any research in this thing called the Internet.." ...talk about revisionist history...bah
Yes, because only big govt projects can do anything...riiight?
"Govt is like a guy that breaks your legs, takes your wallet and buys you crutches, saying 'see, without me you couldn't walk'"
Gee the article says "But they have proven "exceptionally difficult to program" and problematic at certain performance levels," (quote from a 2004 study by the President's High-End Computing Revitalization Task Force.)
Now you come up with some MPI theory negating a study by HPC experts.. WTF?
Anyway, your MPI coding skills are not a relevant to the main issue raised in the article.
>If I know MPI (which I do), I can code on any cluster out there, and it will perform similarly, with a linear time dependance on network speed.
Exactly - with a linear time dependEnce on network speed. Which means that for some tasks, as explained in the article, MPI-type clusters are not the right solution. They are the cheapest solution - or merely a "workaround".
And finally, any task with huge data sets that cannot be split in subsets doesn't lend itself to MPI-type processing.
The article's point is that instead of evolutionary progress (replacing Myrinet with Infiniband or Xeons with Opterons), the government should spend more to create revolutionary improvement.
And they changed it! :)
Casual Games/Downloads
It's Formula 1 which race prototype machines.
It's quite an apt analogy actually, on any given track (except maybe those boring boring boring ovals) the F1 cars are seconds per lap faster than Indy cars. The problem is than even the cheapest F1 cars are ten times the price of an Indy car.
If you want the ultimate in performance you just bloody well have to pay for it. If average performance is acceptable then you can save a bundle.
Government of the people, by corporate executives, for corporate profits.
If US can't keep up with the rest of the world, don't complain, just leave. Only through attrition will Americans be forced to decide whether they want the good stuff or they want to move aside.
Do the star players of the world all want to play for the worst team in the league? Do you watch a superbowl for the 2 worst teams in the league? So why keep rooting for the world's smallest economy? Thanks to globalization there are many countries with more to offer than US, yet opinions of what should be are hard to change.
You should sprint to the next Korean startup to develop terrahertz microprocessors. Sprint to the next Indian startup to develop back office suites. Run to the next Chinese startup to develop nanotechnology rockets.
someone had to say it!
Even if U.S. Congress were to allocate
$200 million or $800 million to the
supercomputer work, the companies
would outsource the work overseas and
pocket the savings among the CEOs,
shareholders, etc....
DisClaimer: My comments do not reflect nor represent anyone else nor my current employer's views or attitudes.
"American supercomputer users, such as Procter & Gamble and Ford Motor, like legislation that bolsters high-end computing research and development because it will help them design better cars and potato chips."
I can understand designing better cars, but potato chip? lol, just think "I need a beowulf, no a cray to make better potato chips", we'll sell one of these to every idaho potato farmer.