Instructional footprinting: a basis for exploiting concurrency through instructional decomposition and code motion

TR Number



Journal Title

Journal ISSN

Volume Title


Virginia Tech


In many languages, the programmer is provided the capability of communicating through the use of function calls with other, separate, independent processes. This capability can be as simple as a service request made to the operating system or as advanced as Tuple Space operations specific to a Linda programming system. The problem with such calls, however, is that they block while waiting for data or information to be returned. This synchronous nature and lack of concurrency can be avoided by initiating a non-blocking request for data earlier in the code and retrieving the returned data later when it is needed. To facilitate a better understanding of how this type of concurrency can be exploited, we introduce an instructional footprint model and application framework that formally describes instructional decomposition and code motion activities. To demonstrate the effectiveness of such an approach, we apply instructional footprinting to programs using the Linda coordination language. Linda Primitive Transposition (LPT) and Instruction Piggybacking are discussed as techniques to increase the size of instructional footprints, and thereby improve the performance of Linda programs. We also present the concept of Lexical Proximity to demonstrate how the overlapping of footprints contributes to the speedup of Linda programs.