Obviously, this final section is at a considerable risk of "crystal ball gazing" and getting it wrong. However, there is a number of clear directions in which we can see how both hardware and software will develop that make it clear that parallel programming will play an ever more important and increasing role in our computational future. Besides, it has now become critical for us to be able to process vast amounts of information within a short window of time in order to ensure our own individual and collective safety. For example, we are experiencing an increased momentum toward significant climate change and extreme weather events and will, therefore, require increasingly accurate weather prediction to help us deal with this; this will only be possible with highly efficient parallel algorithms.
In order to gaze into the future, we need to look back at the past. The hardware technology available to parallel computing has evolved at a phenomenal pace through the...