Distributing a class of sequential programs

0Citations
Citations of this article
1Readers
Mendeley users who have this article in their library.
Get full text

Abstract

A class of sequential programs is distributed through a series of program transformations. To construct a concurrent solution, a sequential solution is given first. A decision is made about the distribution of the variables and the sequential solution is transformed so that guards at the outermost level can be evaluated using variables that will be allocated to one process only. Next we introduce processes and communication. The resulting distributed algorithm does not terminate, but it will become quiescent, and in this state the original postcondition will hold. The distributed algorithm is highly nondeterministic and not network specific. A synchronization primitive, the nonblocking channel, is introduced, and used to generalize the first distributed solution to a larger class of networks. We give two examples of problems that can be solved with this approach. First we show how a more general version of the load-balancing algorithm of [7] can be derived as an instance of this class. Next we instantiate our solution to arrive at an algorithm for distributed sorting. Finally we refine this solution to arrive at a terminating distributed sorting algorithm.

Cite

CITATION STYLE

APA

Hofstee, H. P. (1993). Distributing a class of sequential programs. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 669 LNCS, pp. 139–162). Springer Verlag. https://doi.org/10.1007/3-540-56625-2_12

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free