Title :
Cloning ADT modules to increase parallelism: rationale and techniques
Author :
Welch, Lonnie R.
Author_Institution :
Dept. of Comput. & Inf. Sci., New Jersey Inst. of Technol., Newark, NJ, USA
Abstract :
This paper presents efficient techniques for identifying opportunities to increase parallelism when the asynchronous remote procedure call model of parallel execution is applied to programs constructed from abstract data type (ADT) modules. Frequently, an ADT module is needed simultaneously by multiple clients, thus causing contention. To decrease queueing delays to execute module operations, cloning of modules is often useful. The main contribution of this work is a heuristic to efficiently determine, for each module used in a program, an upper bound on the number of clones of that module that can be used concurrently. The results include transformation rules for conditionals, so that the clone analysis algorithm avoids considering an exponential number of paths through the program. Additionally, a technique is presented to determine the number of clones required each time a loop is unrolled. Furthermore, analysis is given to consider the effects of intermodule dependence relationships on the sharing of clones
Keywords :
abstract data types; data structures; optimising compilers; parallel programming; program compilers; remote procedure calls; software reusability; asynchronous remote procedure call model; clone analysis algorithm; contention; intermodule dependence relationships; module operations; multiple clients; parallel execution; queueing delays; transformation rules; Algorithm design and analysis; Cloning; Delay; Encapsulation; Information science; Military computing; Parallel processing; Programming profession; Timing; Upper bound;
Conference_Titel :
Parallel and Distributed Processing, 1993. Proceedings of the Fifth IEEE Symposium on
Conference_Location :
Dallas, TX
Print_ISBN :
0-8186-4222-X
DOI :
10.1109/SPDP.1993.395501