The Community for Technology Leaders
Proceedings of the 22nd International Conference on Parallel Architectures and Compilation Techniques (2007)
Brasov, Romania
Sept. 15, 2007 to Sept. 19, 2007
ISSN: 1089-795X
ISBN: 0-7695-2944-5
pp: 402
Yosi Ben Asher , Haifa University, Israel
Moshe Yuda , Haifa University, Israel
ABSTRACT
This work presents the outline of an algorithm for merging two programs (and hence more) into a single program in source level. The approach is a constrained software equivalent of simultaneous multithreading (SMT). This work goes beyond previous works [2, 3, 4, 1] by considering how to merge the remainder of a loop into a recursively merged tail. The contribution of this work is the technique of handling the tail of non-equivalent loops in the process of recursively merging subcomponents. The proposed scheme makes extensive use of the ability to forward "remaining iterations" from the merging of two sub-components to be used in following mergings of other sub-components. Forwarding remaining iterations has several modes and in particular the ability to use repeated execution of inner loops to complete the iterations of larger loops. This is (to the best of our knowledge) the first complete tool for source-level merging in C. The effectiveness of the proposed scheme for embedded systems has been studied via a sequence of experiments showing expected improvement of 10-20%. We tested merging programs from DSP related benchmarks using several compilers on different architectures.
INDEX TERMS
null
CITATION
Yosi Ben Asher, Moshe Yuda, "Source Level Merging of Independent Programs", Proceedings of the 22nd International Conference on Parallel Architectures and Compilation Techniques, vol. 00, no. , pp. 402, 2007, doi:10.1109/PACT.2007.65
93 ms
(Ver 3.3 (11022016))