Why was it taken so long for software to take advantage of parallelism?
We started taking advantage of parallelism in the early 1960s, perhaps earlier.
The effort to take advantage of parallelism led into at least three parallel directions of research later in that decade, instruction set parallelism, processor parallelism, and input/output parallelism, with significant development done in each of those areas in the period from 1980–2000. As we progressed in those areas we also learned how to write software to use that parallelism.
Parallelism is hard and not every application benefits from it. It has taken so long for parallelism to become widely used because of that, and because it’s hardware that uses parallelism is expensive and we had to wait for it to become affordable before the benefits trickled down from supercomputing to the desktop, and now the mobile device.
0 Comments