TY - JOUR
T1 - An adaptive granularity control algorithm for the parallel execution of functional programs
AU - Aharoni, Gad
AU - Barak, Amnon
AU - Farber, Yaron
PY - 1993/9
Y1 - 1993/9
N2 - An on-line (run time), adaptive algorithm for granularity control of the parallel execution of functional programs is presented. This algorithm utilizes the inherent parallelism of functional programs, yet it endeavours to limit excessive parallelism. It can be applied to programs without any prior knowledge of their behaviour, and it does not require the programmer to add explicit parallel annotations. The algorithm takes advantage of the ability to expose, at run time, the shape of the underlying computation graph of the program. It also balances between the amount of local computation and the costs of remote execution. Based on these considerations, the algorithm allocates tasks to processing elements in a way that tries to minimize the overall execution time of the program. Continuous sampling of the computation graph allows self-tuning of the algorithm, when the underlying graph changes gradually.
AB - An on-line (run time), adaptive algorithm for granularity control of the parallel execution of functional programs is presented. This algorithm utilizes the inherent parallelism of functional programs, yet it endeavours to limit excessive parallelism. It can be applied to programs without any prior knowledge of their behaviour, and it does not require the programmer to add explicit parallel annotations. The algorithm takes advantage of the ability to expose, at run time, the shape of the underlying computation graph of the program. It also balances between the amount of local computation and the costs of remote execution. Based on these considerations, the algorithm allocates tasks to processing elements in a way that tries to minimize the overall execution time of the program. Continuous sampling of the computation graph allows self-tuning of the algorithm, when the underlying graph changes gradually.
KW - competitive algorithms
KW - fine-grained computation
KW - functional programming
KW - Granularity
KW - on-line
KW - parallel processing
UR - http://www.scopus.com/inward/record.url?scp=0027668153&partnerID=8YFLogxK
U2 - 10.1016/0167-739X(93)90010-M
DO - 10.1016/0167-739X(93)90010-M
M3 - ???researchoutput.researchoutputtypes.contributiontojournal.article???
AN - SCOPUS:0027668153
SN - 0167-739X
VL - 9
SP - 163
EP - 174
JO - Future Generation Computer Systems
JF - Future Generation Computer Systems
IS - 3
ER -