|There's more than one way to do things|
Re^5: Parrot, threads & fears for the future.by tilly (Archbishop)
|on Oct 24, 2006 at 01:11 UTC||Need Help??|
How about we have a bet on whether clusters are going away?
I'll bet you that in 2010, people will still be building websites on clusters of commodity hardware, and there will still be a healthy market in load balancers. Furthermore I'll bet you that over 10% of the top 500 supercomputers are clusters. And finally I'll bet you that most Perl programmers won't be writing multi-threaded code. If any of those statements are wrong, you win the bet.
Now it is true that several trends point to commodity PCs having many CPUs. However it is also true that commodity PCs tend to have many programs running on them at any given time. It is further true that for most programming problems there is an embarrassment of excess when it comes to CPU power.
Furthermore there are lots of business problems where commodity hardware won't cut it. And nobody is about to change the fact that in that case, the cheapest way to scale is to a cluster of commodity machines.
And another big argument against multi-threading is that it is hard to do. We have enough trouble finding people who can program semi-competently. Competently programming a multi-threaded program is harder than competently programming a single-threaded one. So even if there is a desire for more multi-threaded programming, we're not going to succeed at it until we find far better approaches.
A final note. Computing did not begin or end with the PC. We have many kinds of computers around us, and we're going to have more. While PCs evolve into something more like a supercomputer, people are programming their cell phones, PDAs, and a host of other mobile devices. These devices have far more modest performance requirements than PCs do.
In summary, the future holds every kind of computing we know about, and a lot of kinds that we don't.