Four other quotes come to mind. (4) is an example of an embarassingly parallel problem. (1) is an example of the opposite.
1. "If one man can dig a post-hole in 60 seconds, how long will it take 60 men working together to dig a post-hole?" (Ambrose Bierce)
2. Definition of "peak performance": a guarantee that your parallel computer will not run any faster than this. (I don't remember source)
3. "Never take advice on parallel computing from a hardware guy." (I forget the source and exact wording.)
4. Famous example of the difficulty of French spelling: "Si six scies scient six cyprès, six cent scies scient six cent cyprès", which means "if six saws saw six cypress trees, 600 saws saw 600 cypress trees". In French, the words "si", "six", "scies", and "scient" are all pronounced the same, creating a nasty dictation exercise.
If you do not understand your application then it just does not matter how many processors you through at it.
Parallel processing is no different from multi-tasking. You need to know what you are doing and when you need to do it.
This is the reality. "My hypothesis is that we can solve [the software crisis in parallel computing], but only if we work from the algorithm down to the hardware -- not the traditional hardware first mentality."
But this reality is opposite to the regular standardization process which need top-down then finally bottom-up process to characterize the chip architectures and features, [especially for multi-player markets].
I like this: - "I decided long ago to stick to what I know best. Other people understand parallel machines much better than I do; programmers should listen to them, not me, for guidance on how to deal with simultaneity." Donald Knuth, professor emeritus at Stanford. -