TY - JOUR
T1 - Enhancing the performance of decoupled software pipeline through backward slicing
AU - Alwan, Esraa
AU - Fitch, John
AU - Padget, Julian
PY - 2016
Y1 - 2016
N2 - The rapidly increasing number of cores available in multicore processors does not necessarily lead directly to a commensurate increase in performance: programs written in conventional languages such as C, need careful restructuring, preferably automatically, before the benefits can be observed in improved run-times. Even then, much depends upon the intrinsic capacity of the original program for concurrent execution. The subject of this study is the performance gains from the combined effect of the complementary techniques of the Decoupled Software Pipeline (DSWP) and (backward) slicing. DSWP extracts thread level parallelism from the body of a loop by breaking it into stages which are then executed pipeline style: in effect cutting across the control chain. Slicing, on the other hand, cuts the program along the control chain, teasing out finer threads that depend on different variables (or locations). parts that depend on different variables. The main contribution of this paper is to demonstrate that the application of DSWP, followed by slicing offers notable improvements over DSWP alone, especially when there is a loop-carried dependence that prevents the application of the simpler DOALL optimization. Experimental results show an improvement of a factor of ~1.6 for DSWP +slicing over DSWP alone and a factor of ~2.4 for DSWP + slicing over the original sequential code.
AB - The rapidly increasing number of cores available in multicore processors does not necessarily lead directly to a commensurate increase in performance: programs written in conventional languages such as C, need careful restructuring, preferably automatically, before the benefits can be observed in improved run-times. Even then, much depends upon the intrinsic capacity of the original program for concurrent execution. The subject of this study is the performance gains from the combined effect of the complementary techniques of the Decoupled Software Pipeline (DSWP) and (backward) slicing. DSWP extracts thread level parallelism from the body of a loop by breaking it into stages which are then executed pipeline style: in effect cutting across the control chain. Slicing, on the other hand, cuts the program along the control chain, teasing out finer threads that depend on different variables (or locations). parts that depend on different variables. The main contribution of this paper is to demonstrate that the application of DSWP, followed by slicing offers notable improvements over DSWP alone, especially when there is a loop-carried dependence that prevents the application of the simpler DOALL optimization. Experimental results show an improvement of a factor of ~1.6 for DSWP +slicing over DSWP alone and a factor of ~2.4 for DSWP + slicing over the original sequential code.
KW - Automatic restmcturing
KW - Decoupled software pipeline
KW - Multicore
KW - Slicing
KW - Thread-level parallelism
UR - http://www.scopus.com/inward/record.url?scp=85010369405&partnerID=8YFLogxK
UR - http://dx.doi.org/10.3923/rjasci.2016.900.909
U2 - 10.3923/rjasci.2016.900.909
DO - 10.3923/rjasci.2016.900.909
M3 - Article
AN - SCOPUS:85010369405
SN - 1815-932X
VL - 11
SP - 900
EP - 909
JO - Research Journal of Applied Sciences
JF - Research Journal of Applied Sciences
IS - 10
ER -