"However, there are many other tasks fit for computers that do not parallelize well. In addition, writing massively parallelized software is often quite HARD. It is far easier to design software for a single CPU running very quickly, than a whole boatload of CPU's running slower."
Now this is a really good point, but parallel programming techniques have been in existence, at the undergrad level for around 20-25 years. And the problem is still, as sirwired says "HARD". I recently did some algorithm coding for the Cell Processor, for which only C compilers exist that make full use of the 8 cores.
I am wondering if an additional effect that makes the problem even HARDER is the decline of C as a commonly used and taught programming language.
CS is turning out hordes of Java programmers to whom a CPU with N cores looks no different than a singly CORE CPU. Does anyone do parallel programming in Java? Do you rely on the JVM to make your code paralell? How does all that work?
"However, there are many other tasks fit for computers that do not parallelize well. In addition, writing massively parallelized software is often quite HARD. It is far easier to design software for a single CPU running very quickly, than a whole boatload of CPU's running slower."
Now this is a really good point, but parallel programming techniques have been in existence, at the undergrad level for around 20-25 years. And the problem is still, as sirwired says "HARD". I recently did some algorithm coding for the Cell Processor, for which only C compilers exist that make full use of the 8 cores.
I am wondering if an additional effect that makes the problem even HARDER is the decline of C as a commonly used and taught programming language.
CS is turning out hordes of Java programmers to whom a CPU with N cores looks no different than a singly CORE CPU.
Does anyone do parallel programming in Java? Do you rely on the JVM to make your code paralell? How does all that work?
G