TY - GEN
T1 - A scratch-pad memory aware dynamic loop scheduling algorithm
AU - Ozturk, Ozcan
AU - Kandemir, Mahmut
AU - Narayanan, Sri Hari Krishna
N1 - Copyright:
Copyright 2008 Elsevier B.V., All rights reserved.
PY - 2008
Y1 - 2008
N2 - Executing array based applications on a chip multiprocessor requires effective loop parallelization techniques. One of the critical issues that need to be tackled by an optimizing compiler in this context is loop scheduling, which distributes the iterations of a loop to be executed in parallel across the available processors. Most of the existing work in this area targets cache based execution platforms. In comparison, this paper proposes the first dynamic loop scheduler, to our knowledge, that targets scratch-pad memory (SPM) based chip multiprocessors, and presents an experimental evaluation of it. The main idea behind our approach is to identify the set of loop iterations that access the SPM and those that do not. This information is exploited at runtime to balance the loads of the processors involved in executing the loop nest at hand. Therefore, the proposed dynamic scheduler takes advantage of the SPM in performing the loop iteration-to-processor mapping. Our experimental evaluation with eight array/loop intensive applications reveals that the proposed scheduler is very effective in practice and brings between 13.7% and 41.7% performance savings over a static loop scheduling scheme, which is also tested in our experiments.
AB - Executing array based applications on a chip multiprocessor requires effective loop parallelization techniques. One of the critical issues that need to be tackled by an optimizing compiler in this context is loop scheduling, which distributes the iterations of a loop to be executed in parallel across the available processors. Most of the existing work in this area targets cache based execution platforms. In comparison, this paper proposes the first dynamic loop scheduler, to our knowledge, that targets scratch-pad memory (SPM) based chip multiprocessors, and presents an experimental evaluation of it. The main idea behind our approach is to identify the set of loop iterations that access the SPM and those that do not. This information is exploited at runtime to balance the loads of the processors involved in executing the loop nest at hand. Therefore, the proposed dynamic scheduler takes advantage of the SPM in performing the loop iteration-to-processor mapping. Our experimental evaluation with eight array/loop intensive applications reveals that the proposed scheduler is very effective in practice and brings between 13.7% and 41.7% performance savings over a static loop scheduling scheme, which is also tested in our experiments.
UR - http://www.scopus.com/inward/record.url?scp=49749084020&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=49749084020&partnerID=8YFLogxK
U2 - 10.1109/ISQED.2008.4479830
DO - 10.1109/ISQED.2008.4479830
M3 - Conference contribution
AN - SCOPUS:49749084020
SN - 0769531172
SN - 9780769531175
T3 - Proceedings of the 9th International Symposium on Quality Electronic Design, ISQED 2008
SP - 738
EP - 743
BT - Proceedings of the 9th International Symposium on Quality Electronic Design, ISQED 2008
T2 - 9th International Symposium on Quality Electronic Design, ISQED 2008
Y2 - 17 March 2008 through 19 March 2008
ER -