TeraGrid Gets an Upgrade
The Fun Guy writes to tell us The NSF has awarded $48 million to the University of Chicago to operate and expand TeraGrid over the next five years. TeraGrid is 'a national-scale system of interconnected computers that scientists and engineers are using to solve some of their most challenging problems. TeraGrid is the world's largest open computer, storage and networking system. Only the U.S. Department of Energy's weapons laboratories have larger systems, which are dedicated to classified research.' Currently, the TeraGrid's power is just over 60 teraflops.
As a user of teragrid, as well as other huge machines, There are some embarassingly parallel tasks like SETI at home which can be easily run on distributed systems. There are other problems where this is just out of the question. The Teragrid clusters will be much better for these types of problems.
Tightly coupled problems just cannot be run efficiently even on clusters of workstations(COWs). It is the age old topic of using the right tool for the right job.
42424242 is there, 242423 digits in. check it if you so desire.
Guy asked me for a quarter for a cup of coffee. So I bit him.
One paper which might help point in the right direction is "Isoefficiency: Measuring the Scalability of Parallel Algorithms and Architectures" by Grama, Gupta, Kumar. You pose a very interesting question. Any application where you have a large number of steps, each step relying upon the result from the previous step, and each step independently not parallelizable would probably fit your description. I don't know of anything off the top of my head where you couldn't parallelize some portion of it, but it is much easier to think of applications which cannot scale to large levels of parallelism. The trivial examples of good scalability like rendering frames of movies or SETI@home will scale to any cluster or set of PC's you put them on. Other things like large matrix multiplications or FFTs or N-body problems do not scale as well. In these cases as you subdivide the problem into smaller pieces for your larger number of machines, the computation on each processor will quickly become small while the communication between processors will become more significant. I guess the Alpha-Beta searches will probably not benefit by parallelization as one might imagine. You could do some proof that although you can evaluate more nodes in the game-tree, you cannot prune, and thus your search will degrade towards a parallelized MinMax search.