Original Article

Acta Informatica

, Volume 44, Issue 7, pp 525-569

First online:

Open Access This content is freely available online to anyone, anywhere at any time.

Synchronous cooperation for explicit multi-threading

  • J. A. BergstraAffiliated withProgramming Research Group, University of AmsterdamDepartment of Philosophy, Utrecht University
  • , C. A. MiddelburgAffiliated withProgramming Research Group, University of Amsterdam Email author 

Abstract

We develop an algebraic theory of threads, synchronous cooperation of threads and interaction of threads with Maurer machines, and investigate program parallelization using the resulting theory. Program parallelization underlies techniques for speeding up instruction processing on a computer that make use of the abilities of the computer to process instructions simultaneously in cases where the state changes involved do no influence each other. One of our findings is that a strong induction principle is needed when proving theorems about sufficient conditions for the correctness of program parallelizations. The induction principle introduced has brought us to construct a projective limit model for the theory developed.