Exploiting variable grain parallelism at runtime

Currently, almost all parallel implementations of programs fix the granularity at which parallelism is exploited at design time. Depending on the application structure and the parallel hardware structure, the programmer decides to exploit parallelism at a fine granularity or coarse granularity or some intermediate granularity, but this granularity is not changed at runtime. In this paper we argue that for many applications fixing the granularity in advance is not a good strategy. Instead it is advantageous to decide the granularity at which parallelism is exploited at runtime, as a function of the available hardware resources and as a function of the overheads associated with going to a finer granularity. We present experimental results from a parallel implementation of a geometric constraint satisfaction system to support our thesis. Our results show a significant advantage in using adaptive parallelism.

[1]  R B Altman,et al.  New strategies for the determination of macromolecular structure in solution. , 1986, Journal of biochemistry.

[2]  Russ B. Altman,et al.  PROTEAN: Deriving Protein Structure from Constraints , 1986, AAAI.

[3]  Herbert A. Simon,et al.  The Sciences of the Artificial , 1970 .

[4]  Anoop Gupta Parallelism in production systems , 1987 .

[5]  Constantine D. Polychronopoulos,et al.  Processor Allocation for Horizontal and Vertical Parallelism and Related Speedup Bounds , 1987, IEEE Transactions on Computers.

[6]  Rob A. Rutenbar,et al.  Placement by Simulated Annealing on a Multiprocessor , 1987, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[7]  Chung-Ta King,et al.  Parallel Algorithm Design Considerations for Hypercube Multiprocessors , 1987, ICPP.

[8]  Koichiro Tamura,et al.  A parallel execution model of logic programs , 1983, ISCA '83.

[9]  Jean-Luc Gaudiot,et al.  Multi-Level Execution In Data-Flow Architectures , 1987, ICPP.

[10]  Michael Leon Kazar Automatic distribution of programs and data in a distributed environment , 1985 .

[11]  Zarka Cvetanovic,et al.  The Effects of Problem Partitioning, Allocation, and Granularity on the Performance of Multiple-Processor Systems , 1987, IEEE Transactions on Computers.

[12]  Allen Newell,et al.  Parallel algorithms and architectures for rule-based systems , 1986, ISCA '86.

[13]  Alan K. Mackworth Consistency in Networks of Relations , 1977, Artif. Intell..

[14]  Charles L. Seitz,et al.  The cosmic cube , 1985, CACM.

[15]  John McCarthy,et al.  Queue-based multi-processing LISP , 1984, LFP '84.

[16]  C. G. Bell Multis: A New Class of Multiprocessor Computers , 1985, Science.

[17]  Hiroshi G. Okuno,et al.  Parallel execution of OPS5 in QLISP , 1988, [1988] Proceedings. The Fourth Conference on Artificial Intelligence Applications.

[18]  Jonathan Rose LocusRoute: a parallel global router for standard cells , 1988, 25th ACM/IEEE, Design Automation Conference.Proceedings 1988..