next up previous contents
Next: A computing platform Up: Introduction Previous: Introduction   Contents

The need for parallelization

As CPU speeds increase, the size of the problems we wish to solve using those CPUs increase likewise. Therefore, there will never come a time where we do not need more computing power than we have.

There are two ways of getting more power: Buy faster CPUs, or buy more CPUs. From a programming point of view, buying a faster CPU is by far the most feasible choice, because it does not involve re-writing code to take advantage of parallelism in the problem being solved. But from an economical point of view, buying more CPUs is a significantly cheaper way of achieving more raw power, as CPU prices do not correspond linearly with their speed.

I think it is pretty clear, that there will always be a need for exploiting parallelism in computing problems, so that those problems can be executed on parallel architectures. However, there is also a need to free the programmers from thinking about this parallelism.

There are compilers out there, that try to free the programmer from thinking about parallelism. High Performance Fortran is a language that, among other things, tries to make some of this abstraction from parallel programming a reality.

But even if these compilers were perfect (which of course they aren't), they still would not free the user from being bothered with parallel issues. Which CPUs are available for the program to use ? What resources are available ? What combination of CPUs yields the best resource usage ? The list of questions goes on...

What we need, is a computing platform, not just a new language or another compiler. There are too many of those already.


next up previous contents
Next: A computing platform Up: Introduction Previous: Introduction   Contents

1999-08-09