Abstract
The paper contains precise and structured definitions of the following synchronizing tools: Mutually Excluding Regions, Elementary Critical Regions and Critical Regions. Some applications of these tools are shown on the following examples: the Kung algorithm of finding a zero of a function, ticket booking system, and synchronous and asynchronous Jacobi algorithms of solving a system of linear equations.
Next, the implementations of the above synchronizing tools in the formal languages of parallel programming are given. The semantics of these languages are defined on the ground of the present author’s earlier paper “On the Semantics of Parallel Programs”. The implementations are proved to be correct.
The implementation of a critical region is actually an implementation of Dijkstra P and V operations on binary semaphores.
Get full access to this article
View all access options for this article.
