Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1837274.1837362acmconferencesArticle/Chapter ViewAbstractPublication PagesdacConference Proceedingsconference-collections
research-article

Instruction cache locking using temporal reuse profile

Published: 13 June 2010 Publication History

Abstract

The performance of most embedded systems is critically dependent on the average memory access latency. Improving the cache hit rate can have significant positive impact on the performance of an application. Modern embedded processors often feature cache locking mechanisms that allow memory blocks to be locked in the cache under software control. Cache locking was primarily designed to offer timing predictability for hard real-time applications. Hence, the compiler optimization techniques focus on employing cache locking to improve worst-case execution time. However, cache locking can be quite effective in improving the average-case execution time of general embedded applications as well. In this paper, we explore static instruction cache locking to improve average-case program performance. We introduce temporal reuse profile to accurately and efficiently model the cost and benefit of locking memory blocks in the cache. We propose an optimal algorithm and a heuristic approach that use the temporal reuse profile to determine the most beneficial memory blocks to be locked in the cache. Experimental results show that locking heuristic achieves close to optimal results and can improve the cache miss rate by up to 24% across a suite of real-world benchmarks. Moreover, our heuristic provides significant improvement compared to the state-of-the-art locking algorithm both in terms of performance and efficiency.

References

[1]
3rd Generation Intel Xscale Microarchitecture Developers's Manual. Intel, May 2007. http://www.intel.com/design/intelxscale.
[2]
ADSP-BF533 Processor Hardware Reference. Analog Devices, April 2009. http://www.analog.com/static/imported-files/processor_manuals/bf533_hwr_Rev3.4.pdf.
[3]
ARM Cortex A-8 Technical Reference Manual. ARM, Revised March 2004. http://www.arm.com/products/CPUs/families/ARMCortexFamily.html.
[4]
ARM1156T2-S Technical Reference Manual. ARM, Revised July 2007. http://www.arm.com/products/CPUs/families/ARM11Family.html.
[5]
K. Anand and R. Barua. Instruction cache locking inside a binary rewriter. In CASES, 2009.
[6]
T. Austin et al. Simplescalar: An infrastructure for computer system modeling. Computer, 35(2):59--67, 2002.
[7]
K. Beyls and E. H. D'Hollander. Reuse distance as a metric for cache behavior. In Proceedings of the IASTED International Conference on Parallel and Distributed Computing and Systems, 2001.
[8]
B. Bryan and J. K. Hollingsworth. An API for runtime code patching. Int. J. High Perform. Comput. Appl., 14(4), 2000.
[9]
C. Ding and Y. T. Zhong. Predicting whole-program locality through reuse distance analysis. SIGPLAN Not., 38(5), 2003.
[10]
H. Falk et al. Compile-time decided instruction cache locking using worst-case execution paths. In CODES+ISSS, 2007.
[11]
N. Gloy and M. D. Smith. Procedure placement using temporal-ordering information. ACM Trans. Program. Lang. Syst., 21(5):977--1027, 1999.
[12]
I. Puaut and D. Decotigny. Low-complexity algorithms for static cache locking in multitasking hard real-time systems. In RTSS, 2002.
[13]
V. Suhendra and T. Mitra. Exploring locking & partitioning for predictable shared caches on multi-cores. In DAC, 2008.
[14]
X. Vera et al. Data cache locking for higher program predictability. In SIGMETRICS, 2003.
[15]
H. Yang et al. Improving power efficiency with compiler-assisted cache replacement. J. Embedded Comput., 1(4):487--499, 2005.

Cited By

View all
  • (2024)Approximate data mapping in refresh-free DRAM for energy-efficient computing in modern mobile systemsComputer Communications10.1016/j.comcom.2023.12.037Online publication date: Jan-2024
  • (2022)An Investigation of Microarchitectural Cache-Based Side-Channel Attacks from a Digital Forensic Perspective: Methods of Exploits and CountermeasuresArtificial Intelligence in Cyber Security: Impact and Implications10.1007/978-3-030-88040-8_11(281-306)Online publication date: 1-Jan-2022
  • (2020)A Machine Learning Methodology for Cache Memory Design Based on Dynamic InstructionsACM Transactions on Embedded Computing Systems10.1145/337692019:2(1-20)Online publication date: 11-Mar-2020
  • Show More Cited By

Index Terms

  1. Instruction cache locking using temporal reuse profile

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    DAC '10: Proceedings of the 47th Design Automation Conference
    June 2010
    1036 pages
    ISBN:9781450300025
    DOI:10.1145/1837274
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 13 June 2010

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. cache
    2. cache locking
    3. temporal reuse profile

    Qualifiers

    • Research-article

    Conference

    DAC '10
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 1,770 of 5,499 submissions, 32%

    Upcoming Conference

    DAC '25
    62nd ACM/IEEE Design Automation Conference
    June 22 - 26, 2025
    San Francisco , CA , USA

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)3
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 13 Jan 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Approximate data mapping in refresh-free DRAM for energy-efficient computing in modern mobile systemsComputer Communications10.1016/j.comcom.2023.12.037Online publication date: Jan-2024
    • (2022)An Investigation of Microarchitectural Cache-Based Side-Channel Attacks from a Digital Forensic Perspective: Methods of Exploits and CountermeasuresArtificial Intelligence in Cyber Security: Impact and Implications10.1007/978-3-030-88040-8_11(281-306)Online publication date: 1-Jan-2022
    • (2020)A Machine Learning Methodology for Cache Memory Design Based on Dynamic InstructionsACM Transactions on Embedded Computing Systems10.1145/337692019:2(1-20)Online publication date: 11-Mar-2020
    • (2020)A Dynamic Instruction Cache Locking Approach for Minimizing Worst Case Execution Time of a Single TaskIEEE Access10.1109/ACCESS.2020.30381708(208003-208015)Online publication date: 2020
    • (2019)Cache Locking Content Selection Algorithms for ARINC-653 Compliant RTOSACM Transactions on Embedded Computing Systems10.1145/335819618:5s(1-20)Online publication date: 8-Oct-2019
    • (2018)PhLock: A Cache Energy Saving Technique Using Phase-Based Cache LockingIEEE Transactions on Very Large Scale Integration (VLSI) Systems10.1109/TVLSI.2017.275747726:1(110-121)Online publication date: Jan-2018
    • (2018)Instruction Cache Locking for Embedded Systems using Probability ProfileJournal of Signal Processing Systems10.1007/s11265-011-0650-669:2(173-188)Online publication date: 27-Dec-2018
    • (2017)CGPredictACM Transactions on Embedded Computing Systems10.1145/312654616:5s(1-22)Online publication date: 27-Sep-2017
    • (2017)WCET-Aware Dynamic I-Cache Locking for a Single TaskACM Transactions on Architecture and Code Optimization10.1145/304668314:1(1-26)Online publication date: 13-Mar-2017
    • (2017)Dynamic Data-Cache Locking for Minimizing the WCET of a Single TaskACM Transactions on Embedded Computing Systems10.1145/299460216:2(1-29)Online publication date: 2-Jan-2017
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media