Abstract
This paper investigates the benefits of conducting leakage energy optimisations for data caches at link time for embedded applications. We introduce an improved algorithm for identifying and constructing the traces in a binary program and present a trace-based optimisation for reducing leakage energy in data caches. Our experimental results using Mediabench benchmarks show that good leakage energy savings can be achieved at the cost of some small performance and code size penalties. Furthermore, by varying the granularity of optimisation regions, which is a tunable parameter, embedded application programmers can make the tradeoffs between energy savings and these associated costs.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Bala, V., Duesterwald, E., Banerjia, S.: Dynamo: a transparent dynamic optimization system. In: ACM SIGPLAN 2000 Conference on Programming Language Design and Implementation, Vancouver, British Columbia, Canada, pp. 1–12. ACM Press, New York (2000)
Chandrakasan, A., Bowhill, W.J., Fox, F.: Design of High-Performance Microprocessor Circuits. IEEE Press, Los Alamitos (2001)
Dehnert, J.C., Grant, B.K., Banning, J.P., Johnson, R., Kistler, T., Klaiber, A., Mattson, J.: The transmeta code morphing software: using speculation, recovery, and adaptive retranslation to address real-life challenges. In: 1st ACM/IEEE International Symposium on Code Generation and Optimization, pp. 15–24. IEEE Computer Society, Los Alamitos (2003)
Detlefs, D., Agesen, O.: Inlining of Virtual Methods. In: Guerraoui, R. (ed.) ECOOP 1999. LNCS, vol. 1628, pp. 258–278. Springer, Heidelberg (1999)
Fisher, J.: Trace scheduling: a technique for global microcode compaction. IEEE Transactions on Computers, 478–490 (1981)
Flautner, K., Kim, N.S., Martin, S., Blaauw, D., Mudge, T.: Drowsy caches: simple techniques for reducing leakage power. In: 29th annual international symposium on Computer architecture, pp. 148–157. IEEE Computer Society, Los Alamitos (2002)
Gebotys, C.H.: Low energy memory and register allocation using network flow. In: 34th Annual Conference on Design Automation Conference, pp. 435–440. ACM Press, New York (1997)
Hank, R.E., Hwu, W.-M., Rau, B.R.: Region-based compilation: an introduction and motivation. In: 28th ACM/IEEE International Symposium on Microarchitecture, pp. 158–168. IEEE Computer Society Press, Los Alamitos (1995)
Kandemir, M.T., Vijaykrishnan, N., Irwin, M.J., Ye, W.: Influence of compiler optimizations on system power. In: Design Automation Conference, pp. 304–307 (2000)
Kim, N.S., Flautner, K., Blaauw, D., Mudge, T.: Drowsy instruction caches: leakage power reduction using dynamic voltage scaling and cache sub-bank prediction. In: Proceedings of the 35th annual ACM/IEEE international symposium on Microarchitecture, pp. 219–230. IEEE Computer Society Press, Los Alamitos (2002)
Lee, C., Lee, J.K., Hwang, T., Tsai, S.-C.: Compiler optimization on instruction scheduling for low power. In: 13th International Symposium on System Synthesis, Madrid, Spain, pp. 55–60. ACM Press, New York (2000)
Li, L., Xue, J.: A trace-based binary compilation framework for energy-aware computing. In: LCTES 2004: Proceedings of the 2004 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools, pp. 95–106. ACM Press, New York (2004)
Lorenz, M., Wehmeyer, L., Dräger, T.: Energy aware compilation for DSPs with SIMD instructions. In: ACM SIGPLAN 2002 Conference on Languages, Compilers, and Tools for Embedded Systems, pp. 94–101. ACM Press, New York (2002)
Mahlke, S.A., Lin, D.C., Chen, W.Y., Hank, R.E., Bringmann, R.A.: Effective compiler support for predicated execution using the hyperblock. In: 25th ACM/IEEE International Symposium on Microarchitecture, pp. 45–54. IEEE Computer Society Press, Los Alamitos (1992)
Muth, R.: ALTO: A Platform for Object Code Modification. PhD thesis, The University of Arizona (1999)
Saputra, H., Kandemir, M., Vijaykrishnan, N., Irwin, M.J., Hu, J.S., Hsu, C.-H., Kremer, U.: Energy-conscious compilation based on voltage scaling. In: ACM SIGPLAN 2002 Conference on Languages, Compilers, and Tools for Embedded Systems, Berlin, Germany, pp. 2–11. ACM Press, New York (2002)
Ung, D., Cifuentes, C.: Machine-adaptable dynamic binary translation. In: ACM SIGPLAN Workshop on Dynamic and Adaptive Compilation and Optimization, pp. 41–51. ACM Press, New York (2000)
Xie, F., Martonosi, M., Malik, S.: Compile-time dynamic voltage scaling settings: opportunities and limits. In: ACM SIGPLAN 2003 Conference on Programming Language Design and Implementation, pp. 49–62. ACM Press, New York (2003)
Zhang, W.: Compiler-directed data cache leakage reduction. In: IEEE Computer Society Annual Symposium on VLSI Emerging Trends in VLSI Systems Design. IEEE Computer Society, Los Alamitos (2004)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Li, L., Xue, J. (2006). Trace-Based Data Cache Leakage Reduction at Link Time. In: Jesshope, C., Egan, C. (eds) Advances in Computer Systems Architecture. ACSAC 2006. Lecture Notes in Computer Science, vol 4186. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11859802_15
Download citation
DOI: https://doi.org/10.1007/11859802_15
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-40056-1
Online ISBN: 978-3-540-40058-5
eBook Packages: Computer ScienceComputer Science (R0)