DocumentCode
503836
Title
A Novel Lightweight Instruction Scheduling Algorithm for Just-in-Time Compiler
Author
Shi, Xiaohua ; Guo, Peng
Author_Institution
Sch. of Comput. Sci., Beihang Univ., Beijing, China
Volume
3
fYear
2009
fDate
19-21 May 2009
Firstpage
73
Lastpage
77
Abstract
In this paper, we present a lightweight algorithm of instruction scheduling to reduce the pipeline stalls on XScale. The algorithm is designed for and implemented in a J2ME just-in-time (JIT) compiler. It is not based on directed acyclic graphs (DAGs) or expression trees, but a novel data structure namely extended dependency matrix (EDM). The algorithm has almost linear time complexity to one order of magnitude less of the code length in practice, and linear to the code length in the worst cases. It consumes only about 1 KB constant memory space. On the benchmarks we studied, it can eliminate up to 41% data dependency stalls at runtime. The algorithm is on average 2 times faster than a list scheduling implementation, in terms of compilation time. On all benchmarks we studied, the performance is more than 90% as efficient as that obtained using more time and memory consuming algorithms on average.
Keywords
Java; computational complexity; data structures; matrix algebra; program compilers; scheduling; EDM; J2ME; JIT; code length; constant memory space; data structure; directed acyclic graph; expression tree; extended dependency matrix; just-in-time compiler; lightweight instruction scheduling algorithm; linear time complexity; pipeline stall reduction; Computer science; Java; Out of order; Pipelines; Processor scheduling; Reduced instruction set computing; Registers; Runtime; Scheduling algorithm; Software engineering; Instruction Scheduling; Just-In-Time Compiler;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering, 2009. WCSE '09. WRI World Congress on
Conference_Location
Xiamen
Print_ISBN
978-0-7695-3570-8
Type
conf
DOI
10.1109/WCSE.2009.39
Filename
5319364
Link To Document