This paper studies the runtime behaviour of various parallel divide-and-conquer algorithms written in a non-strict functional language, when three common granularity control mechanisms are used: a simple cut-off, a priority thread creation and a priority scheduling mechanism. These mechanisms use granularity information that is currently provided via annotations to improve the performance of the parallel programs. The programs we examine are several variants of a generic divide-and-conquer program, an unbalanced divide-and-conquer algorithm and a parallel determinant computation. Our results indicate that for balanced computation trees a simple, low-overhead mechanism performs well whereas the more complex mechanisms offer further improvements for unbalanced computation trees.
Content
Author and article information
Contributors
Hans-Wolfgang Loidl
Kevin Hammond
Conference
Publication date:
July
1995
Publication date
(Print):
July
1995
Pages: 1-10
Affiliations
[0001]Department of Computing Science, University of Glasgow
Glasgow, Scotland, U.K.
[0002]Division of Computer Science, University of St. Andrews
St. Andrews, Scotland, U.K.