ACM Home Page
Please provide us with feedback. Feedback
WCET-aware register allocation based on graph coloring
Full text PdfPdf (257 KB)
Source Annual ACM IEEE Design Automation Conference archive
Proceedings of the 46th Annual Design Automation Conference table of contents
San Francisco, California
SESSION: Challenges of memory-aware design for embedded systems table of contents
Pages 726-731  
Year of Publication: 2009
ISBN:978-1-60558-497-3
Author
Heiko Falk  Technische Universität Dortmund, Dortmund, Germany
Sponsors
EDAC : Electronic Design Automation Consortium
SIGDA: ACM Special Interest Group on Design Automation
IEEE-CAS : Circuits & Systems
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 7,   Downloads (12 Months): 7,   Citation Count: 0
Additional Information:

abstract   references   index terms  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1629911.1630100
What is a DOI?

ABSTRACT

Current compilers lack precise timing models guiding their built-in optimizations. Hence, compilers apply ad-hoc heuristics during optimization to improve code quality. One of the most important optimizations is register allocation. Many compilers heuristically decide when and where to spill a register to memory, without having a clear understanding of the impact of such spill code on a program's run time.

This paper extends a graph coloring register allocator such that it uses precise worst-case execution time (WCET) models. Using this WCET timing data, the compiler tries to avoid spill code generation along the critical path defining a program's WCET. To the best of our knowledge, this paper is the first one to present a WCET-aware register allocator. Our results underline the effectiveness of the proposed techniques. For a total of 46 realistic benchmarks, we reduced WCETs by 31.2% on average. Additionally, the runtimes of our WCET-aware register allocator still remain acceptable.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
AbsInt Angewandte Informatik GmbH. aiT: Worst-Case Execution Time Analyzers. www.absint.com/ait, 2009.
 
2
P. Briggs. Register Allocation via Graph Coloring. PhD thesis, Rice University, Houston, Apr. 1992.
 
3
G. J. Chaitin, M. A. Auslander, et al. Register allocation via coloring. Computer Languages, 6, 1981.
 
4
J.-F. Deverge and I. Puaut. WCET-Directed Dynamic Scratchpad Memory Allocation of Data. In Proceedings of ECRTS, Pisa, July 2007.
 
5
H. Falk, P. Lokuciejewski, and H. Theiling. Design of a WCET-Aware C Compiler. In Proceedings of ESTIMedia, Seoul, Oct. 2006. ls12- www.cs.tu-dortmund.de/research/activities/wcc.
 
6
H. Falk, S. Plazar, and H. Theiling. Compile Time Decided Instruction Cache Locking Using Worst-Case Execution Paths. In Proceedings of CODES+ISSS, Salzburg, Oct. 2007.
 
7
D. W. Goodwin and K. D. Wilken. Optimal and Near-optimal Global Register Allocation Using 0-1 Integer Programming. Software: Practice and Experience, 26(8):929--965, Aug. 1996.
 
8
E. A. Lee. Absolutely Positive On Time: What Would It Take? IEEE Computer, July 2005.
 
9
P. Lokuciejewski, H. Falk, and P. Marwedel. WCET-driven Cache-based Procedure Positioning Optimizations. In Proceedings of ECRTS, Prague, July 2008.
 
10
G. Mandalika. Building Enterprise Applications with Sun Studio Profile Feedback. developers.sun.com/solaris/articles/building.html, 2007.
 
11
M. Poletto and V. Sarkar. Linear Scan Register Allocation. ACM TOPLAS, 21(5):895--913, Sept. 1999.
 
12
I. Puaut and C. Pais. Scratchpad memories vs locked caches in hard real-time systems: a quantitative comparison. In Proceedings of DATE, Nice, Apr. 2007.
 
13
S. Steinke, M. Knauer, L. Wehmeyer, and P. Marwedel. An Accurate and Fine Grain Instruction-Level Energy Model Supporting Software Optimizations. In Proceedings of PATMOS, Yverdon-Les-Bains, Sept. 2001.