Detection of Sequential Modules in Parallel Programs
M. Korsloot, E. Tick
Committee:
Technical Report(Dec 1969)
Keywords:

A compile-time technique is presented for determining if a set of procedures within a parallel program can be executed sequentially without causing deadlock. The analysis and methods are described for committed-choice parallel logic programming languages; however, the concepts are general enough for any concurrent languages with fine-grain communicating processes. We derive methods for ensuring that sequential evaluation of a program module cannot result in producer-consumer suspension within the module itself, thereby resulting in deadlock. The advantages of sequentializing fine-grain languages include the use of all "traditional" compiler optimizations, such as global register allocation, and continuation-stacking procedure invocation.