I have a dystopian view of parallel processing. This great talk by by Art Unger is titled “Everything You Know About Parallel Programming is Wrong”. I think it is worse than that. I think that Everything You Know About Parallel Programming is right, for some selected applications. More accurately each of the many proposed parallel paradigms dominate the field for some set of real applications. Further the paradigms typically have little in common. The art of harnessing many computers is still centrifugal and that is probably good. Some degree of bringing some commonality between these paradigms will be necessary for lack of researchers and implementers.
The first step in this direction, in the IBM lineage, was the 709’s ability to overlap computing and I/O, but only if the software logic was so adapted. Long running production programs were usually able to exploit this. Multiprogramming was able to exploit this parallelism without impinging on the design of most programs.
First came the vector machines and a few applications saw immediate speedup. Other applications were eventually profitably adapted.
The von Neumann computer drove several generations of computer languages with largely the same expressive power. The art of computer programming is largely devoted to single thread algorithms.