| Preface | |
| Background | 2 |
| Parallelism today | 3 |
| Desirable properties of parallel models | 6 |
| Overview of models and
languages | 9 |
| Synchronization
Algorithms for Shared-Memory Multiprocessors | 26 |
| Orca: A Language for Parallel Programming of Distributed Systems | 36 |
| How to Write Parallel Programs: A
Guide to the Perplexed | 52 |
| Communicating Process Architecture: Transputers and Occam | 92 |
| High Performance Fortran | 106 |
| Data-Parallel Programming on
Multicomputers | 124 |
| Visualization and Debugging in a Heterogeneous Environment | 132 |
| Abstraction and Modularity Mechanisms for
Concurrent Computing | 146 |
| Object-Oriented Concurrent Programming in ABCL/1 | 158 |
| Experience with Concurrent Aggregates (CA): Implementation and
Programming | 169 |
| Easy-to-Use
Object-Oriented Parallel Processing with Mentat | 179 |
| Parallel Symbolic Computing | 196 |
| A Report on the Sisal Language Project | 205 |
| Para-Functional Programming | 223 |
| High-Performance Parallel Graph
Reduction | 234 |
| PARLOG and Its
Applications | 255 |
| Guarded Horn
Clauses | 268 |
| Semantic
Foundations of Concurrent Constraint Programming | 283 |
| Architecture-Independent Parallel Computation | 306 |
| A Methodology for the Development and the
Support of Massively Parallel Programs | 319 |
| Bulk Synchronous Parallel Computing | 335 |
| Productive Parallel Programming: The PCN Approach | 358 |
| The Derivation of Compositional
Programs | 374 |
| Bibliography | 391 |
| Subject Index | 394 |
| Author Index | 397 |
| About the Authors | 399 |