The Problem with Parallel Computing
As compared with writing a sequential program, writing a parallel program is seen as much harder. This is a big problem in computer science. Once upon a time, we could wait a year, and thanks to Moore's law we would have a processor with twice as many transistors that would have a clock speed twice as fast. Our sequential program would get twice as fast with out us doing anything. These days, however, although transistor density continues to increase, it no longer translates into higher clock speeds-- instead we get multiple procesor cores. Now programs must be written in parallel to take advantage of new hardware (there is no more free ride).
Since writing them is hard, people have investigated how technology can help in constructing parallel programs. One idea is that the compiler can automatically detect parallelism, and transform the code. So far, this has not worked out very well. The problem is that the compiler needs to understand way to much to effectively do this.
Most likely, the compiler would need something on the level of human intelligence to be effective. However, once the compiler achieves sentience, it won't want to write parallel programs-- it will begin constructing another compiler to do it. Of course, this new compiler also will not work until it achieves sentience, at which point it won't want to, and will begin constructing another compiler....
There in lies the true problem: No being capable of writing parallel programs wants to.
(Read comments)
|