next up previous
Next: How this thesis addresses Up: Introduction Previous: Introduction

Programming parallel computers is difficult

Compared to sequential computers, parallel machines offer substantial performance advantages at a relatively low cost increase. Moreover, tools for parallel programming are available and are becoming rapidly more sophisticated: Graphical user interfaces support program construction by interconnecting processes diagrammatically [Lob92]. Compilers and profilers determine potential for parallelism and help with the parallelization of existing code [BFG93,Lev93]. Debuggers use graphical ways to track and display the state of any process or thread [Pan93]. However, despite their appealing performance-to-cost ratio and the increasing availability of tools, parallel computers still fail to have the expected impact on mainstream computing. A close look at the state of the art in parallel computing suggests at least two reasons:

In short, parallel programming to date still is a complex, difficult endeavour that results in efficient, yet very specialized and short-lived programs. A lot of research effort has been invested into addressing this situation and coming up with suitable models for concurrent computation. The research community seems to agree that such a model should feature the following desirable properties [ST95]: Of course, there is a certain amount of tension between these properties and finding the best balance becomes important.



next up previous
Next: How this thesis addresses Up: Introduction Previous: Introduction



Juergen Dingel
Fri Aug 6 12:11:51 EDT 1999