Re: Re: Re: Re: Re: Re: The Next Supercomputer?
Originally posted by Wombatronic
You can rest assured that nearly all super computer tasks are designed to distribute well over a large cluster of nodes. Adding in more nodes should get you basically a linear speed-up until you start clogging up the network.
People are not building 2000 node clusters to shave a few seconds off of the time it took the 1000 node cluster. They are doing it because nearly all linear algebra, discretized differential equations, and particle simulations can be nicely partitioned and effectively distributed over a gazillion [sp?] odd nodes.
The main tricky thing is to get the system to properly use the network, partitioning nodes and communication up so that folks aren't tromping all over each other. Properly laid out, the nodes spend very little time waiting for one another, and most of the time computing and sending/receiving.
Although I agree with you that getting these system up to speed means proper use of the network. The VT cluster is highly dependent on the interconnects, the topology of the network, the software that does the clustering, the task at hand, etc.
However I disagree that all supercomputing tasks are designed well to distribute, at least not in the sense of a traditional distributed computer models like Seti@Home and Folding, which was the comment I originally responded to.
Different types of problems (read code threads) require different computing needs. For example, if you have a problem that requires a great deal of memory, you may have to pool memory over different nodes. Then, bandwidth and speed of your networking play a much greater role in the speed of your supercomputer. In a distributed model, you wouldn't even have the ability to pool memory efficiently and thus, the speed type of computing is best accomplished on a supercomputer like Big Mac, Earth Simulator, etc. edit: or low latency (traditional) supercomputers computers as suggested above.
There are computing problems where multiple, numerous, nodes are fairly efficient. But these type of tasks require that you allocate data to a node infrequently. These types of computing tasks will scale with the number of processors but for those that require more frequent allocation between the nodes, it isn't a linear scaling.
To state the obvious, The tools that you use depend on the problem and in reality, neither one of us knows what VT is planning to use their computer for anyway.
