skip to main content
10.1109/ISCA.2018.00019acmconferencesArticle/Chapter ViewAbstractPublication PagesiscaConference Proceedingsconference-collections
research-article

Criticality aware tiered cache hierarchy: a fundamental relook at multi-level cache hierarchies

Published: 02 June 2018 Publication History

Abstract

On-die caches are a popular method to help hide the main memory latency. However, it is difficult to build large caches without substantially increasing their access latency, which in turn hurts performance. To overcome this difficulty, on-die caches are typically built as a multi-level cache hierarchy. One such popular hierarchy that has been adopted by modern microprocessors is the three level cache hierarchy. Building a three level cache hierarchy enables a low average hit latency since most requests are serviced from faster inner level caches. This has motivated recent microprocessors to deploy large level-2 (L2) caches that can help further reduce the average hit latency.
In this paper, we do a fundamental analysis of the popular three level cache hierarchy and understand its performance delivery using program criticality. Through our detailed analysis we show that the current trend of increasing L2 cache sizes to reduce average hit latency is, in fact, an inefficient design choice. We instead propose Criticality Aware Tiered Cache Hierarchy (CATCH) that utilizes an accurate detection of program criticality in hardware and using a novel set of inter-cache prefetchers ensures that on-die data accesses that lie on the critical path of execution are served at the latency of the fastest level-1 (L1) cache. The last level cache (LLC) serves the purpose of reducing slow memory accesses, thereby making the large L2 cache redundant for most applications. The area saved by eliminating the L2 cache can then be used to create more efficient processor configurations. Our simulation results show that CATCH outperforms the three level cache hierarchy with a large 1 MB L2 and exclusive LLC by an average of 8.4%, and a baseline with 256 KB L2 and inclusive LLC by 10.3%. We also show that CATCH enables a powerful framework to explore broad chip-level area, performance and power tradeoffs in cache hierarchy design. Supported by CATCH, we evaluate radical architecture directions such as eliminating the L2 altogether and show that such architectures can yield 4.5% performance gain over the baseline at nearly 30% lesser area or improve the performance by 7.3% at the same area while reducing energy consumption by 11%.

References

[1]
B. Fields, S. Rubin, and R. Bodk. Focusing processor policies via critical-path prediction, in ISCA '01
[2]
E. Tune, D. Tullsen, and B. Calder. Quantifying Instruction Criticality, in PACT '02
[3]
J. Seng, E. Tune, and Dean M. Tullsen. Reducing power with dynamic critical path information, in MICRO '01
[4]
S. Srinivasan and A. Lebeck. Load latency tolerance in dynamically scheduled processors, in MICRO '98
[5]
R. Ju, A. Lebeck, and C. Wilkerson. Locality vs. criticality, in ISCA '01.
[6]
S. Subramaniam, A. Bracy, H. Wang, and G. Loh. Criticality-based optimizations for efficient load processing, in HPCA '09
[7]
S. Ghose, H. Lee, and J. Martnez. Improving memory scheduling via processor-side load criticality information, in ISCA '13
[8]
M. Chaudhuri, J. Gaur, N. Bashyam, S. Subramoney, and J. Nuzman. Introducing Hierarchy-awareness in Replacement and Bypass Algorithms for Last-level Caches, in PACT '12
[9]
A. Jain and C. Lin. Back to the future: Leveraging Belady's algorithm for improved cache replacement, in ISCA '16
[10]
I. Cutress. The Intel 6th Gen Skylake Review: Core i7--6700K and i5--6600K Tested. August 2015. Available at http://www.anandtech.com/show/9483/intel-skylake-review-6700k-6600k-ddr4-ddr3--ipc-6th-generation/9.
[11]
The AMD Zen and Ryzen Review. Available on https://www.anandtech.com/show/11170/the-amd-zen-and-ryzen-7-review-a-deep-dive-on-1800x-1700x-and-1700/9
[12]
I. Cutress. The Intel Skylake Mobile and Desktop Launch, with Architecture Analysis. September 2015. Available at http://www.anandtech.com/show/9582/intel-skylake-mobile-desktop-launch-architecture-analysis/5.
[13]
B. Fields, R. Bodk, M. Hill, and C. Newburn. Using Interaction Costs for Microarchitectural Bottleneck Analysis, in MICRO '03
[14]
H. Gao and C. Wilkerson. A Dueling Segmented LRU Replacement Algorithm with Adaptive Bypassing, in the 1st JILP Workshop on Computer Architecture Competitions: Cache Replacement Championship, June 2010.
[15]
J. Collins, H. Wang, D. Tullsen, C. Hughes, Y. Lee, D. Lavery, and J. Shen. Speculative precomputation: long-range prefetching of delinquent load, in ISCA '01
[16]
J. Gaur, M. Chaudhuri and S. Subramoney. Bypass and insertion algorithms for exclusive last-level caches, in ISCA '11
[17]
J. Gaur, R. Srinivasan, S. Subramoney, and M. Chaudhuri. Efficient management of last-level caches in graphics processors for 3D scene rendering workloads, in MICRO '13
[18]
A. Jaleel, K. Theobald, S. Steely, Jr., and J. Emer. High performance cache replacement using re-reference interval prediction (RRIP), in ISCA '10
[19]
A. Jaleel, J. Nuzman, A. Moga, S. Steely, and J. Emer. High Performing Cache Hierarchies for Server Workloads - Relaxing Inclusion to Capture the Latency Benefits of Exclusive Caches, in HPCA '15
[20]
R. Balasubramonian, V. Srinivasan, S. Dwarkadas, A. Buyuktosunoglu. Hot-and-Cold: Using Criticality in the Design of Energy-Efficient Caches, in PACs '03
[21]
L. Peled, S. Mannor, U. Weiser, and Y. Etsion. Semantic locality and context-based prefetching using reinforcement learning, in ISCA '15
[22]
S. Khan, Y. Tian, and D. Jimenez. Sampling Dead Block Prediction for Last-Level Caches, in MICRO '10
[23]
S. Przybylski, M. Horowitz, and J. Hennessy. Characteristics of performance-optimal multi-level cache hierarchies, in ISCA '89
[24]
M. Qureshi and Y. Patt. Utility-Based Cache Partitioning: A Low-Overhead, High-Performance, Runtime Mechanism to Partition Shared Caches, in MICRO '06
[25]
S. Shukla and M. Chaudhuri. Tiny Directory: Efficient Shared Memory in Many-core Systems with Ultra-low-overhead Coherence Tracking, in HPCA '17
[26]
x86 Architecture Overview. http://cs.lmu.edu/ray/notes/x86overview/
[27]
Arm Devloper Manual at https://developer.arm.com/products/architecture
[28]
Micron Technology Inc. Calculating Memory System Power for DDR3. Micron Technical Note TN-41-01. http://www.micron.com/products/support/power-calc.
[29]
N. Muralimanohar, R. Balasubramonian, and N. Jouppi. CACTI 6.0: A Tool to Model Large Caches. HP Labs Technical Report HPL-2009-85, HP Laboratories, 2009
[30]
Drilling Down Into The Xeon Skylake Architecture.https://www.nextplatform.com/2017/08/04/drilling-xeonskylakearchitecture/
[31]
Intel Haswell CPU micro-architecture. https://www.realworldtech.com/haswell-cpu/
[32]
S. Srinath, O. Mutlu, H. Kim, and Y. Patt. 2007. Feedback Directed Prefetching: Improving the Performance and Bandwidth-Efficiency of Hardware Prefetchers, in HPCA '07
[33]
M. Shevgoor, S. Koladiya, R. Balasubramonian, C. Wilkerson, S. Pugsley, and Z. Chishti. Efficiently prefetching complex address patterns, in MICRO '15
[34]
S. Pugsley, Z. Chishti, C. Wilkerson, T. Chuang, R. Scott, A. Jaleel, S. Lu, K. Chow, and R. Balasubramonian, Sandbox Prefetching: Safe, Run-Time Evaluation of Aggressive Prefetchers, in HPCA '14
[35]
F. Dahlgren, P. Stenstrm. Evaluation of Hardware-Based Stride and Sequential Prefetching in Shared-Memory Multiprocessors, in IEEE Transactions on Parallel and Distributed Systems, v.7 n.4, p.385--398, April 1996
[36]
A. Jain, C. Lin. Linearizing irregular memory accesses for improved correlated prefetching, in MICRO '13
[37]
S. Somogyi, T. Wenisch, A. Ailamaki, B. Falsafi, and A. Moshovos. Spatial Memory Streaming, in ISCA '06
[38]
Y. Ishii, M. Inaba, and K. Hiraki. Access map pattern matching for data cache prefetch, in ICS '09
[39]
J. Kim, S. H. Pugsley, P. V. Gratz, A. N. Reddy, C. Wilkerson, and Z. Chishti. Path confidence based lookahead prefetching, in MICRO '16
[40]
X. Yu, C. Hughes, N. Satish, and S. Devadas. IMP: indirect memory prefetcher, in MICRO '15
[41]
J. Fu, J. Patel, and B. Janssens. Stride directed prefetching in scalar processors, in MICRO '92
[42]
P. Emma, A. Hartstein, T. Puzak, and V. Srinivasan, Exploring the limits of prefetching, IBM J. R&D, vol. 49, no. 1, pp. 127--144, January 2005
[43]
A. Kahng, B. Li, L-S. Peh, and K. Samadi. ORION 2.0: a fast and accurate NoC power and area model for early-stage design space exploration, in DATE '09
[44]
Y. Hoskote, S. Vangal, A. Singh, N. Borkar, and S. Borkar. A 5-GHz Mesh Interconnect for a Teraflops Processor, IEEE Micro, v.27 n.5, p.51--61, September 2007
[45]
S. Shukla and M. Chaudhuri. Sharing-aware Efficient Private Caching in Many-core Server Processors, in ICCD '17
[46]
O. Mutlu, J. Stark, C. Wilkerson, and Y. Patt. Runahead Execution: An Alternative to Very Large Instruction Windows for Out-of-Order Processors, in HPCA '03
[47]
V. Srinivasan, E. Davidson, G. Tyson, M. Charney, and T. Puzak. Branch History Guided Instruction Prefetching, in HPCA '01
[48]
Y. Zhang, S. Haga, and R. Barua. Execution history guided instruction prefetching, in ICS '02
[49]
G. Reinman, B. Calder, T. Austin. Fetch directed instruction prefetching, in MICRO '99
[50]
C. Kaynak, B. Grot, and B. Falsafi. Confluence: Unified Instruction Supply for Scale-Out Servers, in MICRO '15
[51]
R. Kumar, C-C. Huang, B. Grot, V. Nagarajan. Boomerang: A Metadata-Free Architecture for Control Flow Delivery, in HPCA '17.

Cited By

View all

Index Terms

  1. Criticality aware tiered cache hierarchy: a fundamental relook at multi-level cache hierarchies
        Index terms have been assigned to the content through auto-classification.

        Recommendations

        Comments

        Information & Contributors

        Information

        Published In

        cover image ACM Conferences
        ISCA '18: Proceedings of the 45th Annual International Symposium on Computer Architecture
        June 2018
        884 pages
        ISBN:9781538659847

        Publisher

        IEEE Press

        Publication History

        Published: 02 June 2018

        Check for updates

        Author Tags

        1. caching
        2. criticality
        3. prefetching

        Qualifiers

        • Research-article

        Conference

        ISCA '18

        Acceptance Rates

        Overall Acceptance Rate 543 of 3,203 submissions, 17%

        Upcoming Conference

        ISCA '25

        Contributors

        Other Metrics

        Bibliometrics & Citations

        Bibliometrics

        Article Metrics

        • Downloads (Last 12 months)37
        • Downloads (Last 6 weeks)4
        Reflects downloads up to 06 Nov 2024

        Other Metrics

        Citations

        Cited By

        View all

        View Options

        Get Access

        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