1 Coordinated Control of Multiple Prefetchers in Multi-Core Systems Eiman Ebrahimi * Onur Mutlu ‡ Chang Joo Lee * Yale N. Patt * * HPS Research Group The.

Slides:



Advertisements
Similar presentations
Prefetch-Aware Shared-Resource Management for Multi-Core Systems Eiman Ebrahimi * Chang Joo Lee * + Onur Mutlu Yale N. Patt * * HPS Research Group The.
Advertisements

Feedback Directed Prefetching Santhosh Srinath Onur Mutlu Hyesoon Kim Yale N. Patt §¥ ¥ §
Improving DRAM Performance by Parallelizing Refreshes with Accesses
Fairness via Source Throttling: A configurable and high-performance fairness substrate for multi-core memory systems Eiman Ebrahimi * Chang Joo Lee * Onur.
A Performance Comparison of DRAM Memory System Optimizations for SMT Processors Zhichun ZhuZhao Zhang ECE Department Univ. Illinois at ChicagoIowa State.
Jaewoong Sim Alaa R. Alameldeen Zeshan Chishti Chris Wilkerson Hyesoon Kim MICRO-47 | December 2014.
Prefetching Techniques for STT-RAM based Last-level Cache in CMP Systems Mengjie Mao, Guangyu Sun, Yong Li, Kai Bu, Alex K. Jones, Yiran Chen Department.
Orchestrated Scheduling and Prefetching for GPGPUs Adwait Jog, Onur Kayiran, Asit Mishra, Mahmut Kandemir, Onur Mutlu, Ravi Iyer, Chita Das.
Application-Aware Memory Channel Partitioning † Sai Prashanth Muralidhara § Lavanya Subramanian † † Onur Mutlu † Mahmut Kandemir § ‡ Thomas Moscibroda.
Hardware-based Devirtualization (VPC Prediction) Hyesoon Kim, Jose A. Joao, Onur Mutlu ++, Chang Joo Lee, Yale N. Patt, Robert Cohn* ++ *
1 A Hybrid Adaptive Feedback Based Prefetcher Santhosh Verma, David Koppelman and Lu Peng Louisiana State University.
High Performing Cache Hierarchies for Server Workloads
FLEXclusion: Balancing Cache Capacity and On-chip Bandwidth via Flexible Exclusion Jaewoong Sim Jaekyu Lee Moinuddin K. Qureshi Hyesoon Kim.
4/17/20151 Improving Memory Bank-Level Parallelism in the Presence of Prefetching Chang Joo Lee Veynu Narasiman Onur Mutlu* Yale N. Patt Electrical and.
Data Marshaling for Multi-Core Architectures M. Aater Suleman Onur Mutlu Jose A. Joao Khubaib Yale N. Patt.
Smart Refresh: An Enhanced Memory Controller Design for Reducing Energy in Conventional and 3D Die-Stacked DRAMs Mrinmoy Ghosh Hsien-Hsin S. Lee School.
A Case for Subarray-Level Parallelism (SALP) in DRAM Yoongu Kim, Vivek Seshadri, Donghyuk Lee, Jamie Liu, Onur Mutlu.
Parallelism-Aware Batch Scheduling Enhancing both Performance and Fairness of Shared DRAM Systems Onur Mutlu and Thomas Moscibroda Computer Architecture.
Prefetch-Aware Cache Management for High Performance Caching
1 DIEF: An Accurate Interference Feedback Mechanism for Chip Multiprocessor Memory Systems Magnus Jahre †, Marius Grannaes † ‡ and Lasse Natvig † † Norwegian.
1 Multi-Core Systems CORE 0CORE 1CORE 2CORE 3 L2 CACHE L2 CACHE L2 CACHE L2 CACHE DRAM MEMORY CONTROLLER DRAM Bank 0 DRAM Bank 1 DRAM Bank 2 DRAM Bank.
1 Accelerating Critical Section Execution with Asymmetric Multi-Core Architectures M. Aater Suleman* Onur Mutlu† Moinuddin K. Qureshi‡ Yale N. Patt* *The.
Glenn Reinman, Brad Calder, Department of Computer Science and Engineering, University of California San Diego and Todd Austin Department of Electrical.
Address-Value Delta (AVD) Prediction Onur Mutlu Hyesoon Kim Yale N. Patt.
Techniques for Efficient Processing in Runahead Execution Engines Onur Mutlu Hyesoon Kim Yale N. Patt.
Parallel Application Memory Scheduling Eiman Ebrahimi * Rustam Miftakhutdinov *, Chris Fallin ‡ Chang Joo Lee * +, Jose Joao * Onur Mutlu ‡, Yale N. Patt.
Mitigating Prefetcher-Caused Pollution Using Informed Caching Policies for Prefetched Blocks Vivek Seshadri Samihan Yedkar ∙ Hongyi Xin ∙ Onur Mutlu Phillip.
The Dirty-Block Index Vivek Seshadri Abhishek Bhowmick ∙ Onur Mutlu Phillip B. Gibbons ∙ Michael A. Kozuch ∙ Todd C. Mowry.
Improving the Performance of Object-Oriented Languages with Dynamic Predication of Indirect Jumps José A. Joao *‡ Onur Mutlu ‡* Hyesoon Kim § Rishi Agarwal.
Utility-Based Acceleration of Multithreaded Applications on Asymmetric CMPs José A. Joao * M. Aater Suleman * Onur Mutlu ‡ Yale N. Patt * * HPS Research.
Interactions Between Compression and Prefetching in Chip Multiprocessors Alaa R. Alameldeen* David A. Wood Intel CorporationUniversity of Wisconsin-Madison.
Flexible Reference-Counting-Based Hardware Acceleration for Garbage Collection José A. Joao * Onur Mutlu ‡ Yale N. Patt * * HPS Research Group University.
Boosting Mobile GPU Performance with a Decoupled Access/Execute Fragment Processor José-María Arnau, Joan-Manuel Parcerisa (UPC) Polychronis Xekalakis.
A Hardware-based Cache Pollution Filtering Mechanism for Aggressive Prefetches Georgia Institute of Technology Atlanta, GA ICPP, Kaohsiung, Taiwan,
Many-Thread Aware Prefetching Mechanisms for GPGPU Applications Jaekyu LeeNagesh B. Lakshminarayana Hyesoon KimRichard Vuduc.
Stall-Time Fair Memory Access Scheduling Onur Mutlu and Thomas Moscibroda Computer Architecture Group Microsoft Research.
1 Reducing DRAM Latencies with an Integrated Memory Hierarchy Design Authors Wei-fen Lin and Steven K. Reinhardt, University of Michigan Doug Burger, University.
Page Overlays An Enhanced Virtual Memory Framework to Enable Fine-grained Memory Management Vivek Seshadri Gennady Pekhimenko, Olatunji Ruwase, Onur Mutlu,
Row Buffer Locality Aware Caching Policies for Hybrid Memories HanBin Yoon Justin Meza Rachata Ausavarungnirun Rachael Harding Onur Mutlu.
Prefetching Challenges in Distributed Memories for CMPs Martí Torrents, Raúl Martínez, and Carlos Molina Computer Architecture Department UPC – BarcelonaTech.
Minimalist Open-page: A DRAM Page-mode Scheduling Policy for the Many-core Era Dimitris Kaseridis +, Jeffrey Stuecheli *+, and.
MIAO ZHOU, YU DU, BRUCE CHILDERS, RAMI MELHEM, DANIEL MOSSÉ UNIVERSITY OF PITTSBURGH Writeback-Aware Bandwidth Partitioning for Multi-core Systems with.
Staged Memory Scheduling Rachata Ausavarungnirun, Kevin Chang, Lavanya Subramanian, Gabriel H. Loh*, Onur Mutlu Carnegie Mellon University, *AMD Research.
Parallelism-Aware Batch Scheduling Enhancing both Performance and Fairness of Shared DRAM Systems Onur Mutlu and Thomas Moscibroda Computer Architecture.
The Evicted-Address Filter
Efficiently Prefetching Complex Address Patterns Manjunath Shevgoor, Sahil Koladiya, Rajeev Balasubramonian University of Utah Chris Wilkerson, Zeshan.
Achieving High Performance and Fairness at Low Cost Lavanya Subramanian, Donghyuk Lee, Vivek Seshadri, Harsha Rastogi, Onur Mutlu 1 The Blacklisting Memory.
On the Importance of Optimizing the Configuration of Stream Prefetches Ilya Ganusov Martin Burtscher Computer Systems Laboratory Cornell University.
Quantifying and Controlling Impact of Interference at Shared Caches and Main Memory Lavanya Subramanian, Vivek Seshadri, Arnab Ghosh, Samira Khan, Onur.
HAT: Heterogeneous Adaptive Throttling for On-Chip Networks Kevin Kai-Wei Chang Rachata Ausavarungnirun Chris Fallin Onur Mutlu.
Providing High and Predictable Performance in Multicore Systems Through Shared Resource Management Lavanya Subramanian 1.
UH-MEM: Utility-Based Hybrid Memory Management
Reducing Memory Interference in Multicore Systems
Prof. Onur Mutlu Carnegie Mellon University
A Staged Memory Resource Management Method for CMP Systems
Zhichun Zhu Zhao Zhang ECE Department ECE Department
15-740/ Computer Architecture Lecture 24: Prefetching
Milad Hashemi, Onur Mutlu, and Yale N. Patt
Carnegie Mellon University
Prefetch-Aware Cache Management for High Performance Caching
Bank-aware Dynamic Cache Partitioning for Multicore Architectures
Application Slowdown Model
Accelerating Dependent Cache Misses with an Enhanced Memory Controller
Milad Hashemi, Onur Mutlu, Yale N. Patt
Achieving High Performance and Fairness at Low Cost
Address-Value Delta (AVD) Prediction
CARP: Compression-Aware Replacement Policies
Computer Architecture Lecture 18: Prefetching
Presented by Florian Ettinger
Presentation transcript:

1 Coordinated Control of Multiple Prefetchers in Multi-Core Systems Eiman Ebrahimi * Onur Mutlu ‡ Chang Joo Lee * Yale N. Patt * * HPS Research Group The University of Texas at Austin ‡ Computer Architecture Laboratory Carnegie Mellon University

2 Motivation Aggressive prefetching improves memory latency tolerance of many applications when they run alone Prefetching for concurrently-executing applications on a CMP can lead to  Significant system performance degradation and bandwidth waste Problem: Prefetcher-caused inter-core interference  Prefetches of one application contend with prefetches and demands of other applications

3 Potential Performance System performance improvement of ideally removing all prefetcher-caused inter-core interference in shared resources 56% Exact workload combinations can be found in paper

4 Outline Background Shortcoming of Prior Approaches to Prefetcher Control Hierarchical Prefetcher Aggressiveness Control Evaluation Conclusion

5 Increasing Prefetcher Accuracy Increasing prefetcher accuracy can reduce prefetcher-caused inter-core interference  Single-core prefetcher aggressiveness throttling (e.g., Srinath et al., HPCA ’07)  Filtering inaccurate prefetches (e.g., Zhuang and Lee, ICPP ’03)  Dropping inaccurate prefetches at memory controller (Lee et al., MICRO ’08) All such techniques operate independently on the prefetches of each application

6 Feedback-Directed Prefetching (FDP) (Srinath et al., HPCA ’07) Uses prefetcher feedback information local to the prefetcher’s core  Prefetch accuracy  Prefetch timeliness  Prefetch cache pollution Dynamically adapts the prefetcher’s aggressiveness Stream Prefetcher Aggressiveness  Prefetch Distance  Prefetch Degree Access Stream A Prefetch Distance P+1 Prefetch Degree A+1 P+2P+3P+4P Shown to perform better than and consume less bandwidth than static aggressiveness configurations

7 Outline Background Shortcoming of Prior Approaches to Prefetcher Control Hierarchical Prefetcher Aggressiveness Control Evaluation Conclusion

8 DRAM Memory Controller High Interference caused by Accurate Prefetchers Core2 Core3 Core0 Dem 2 Addr:A Dem 2 Addr:B Pref 0 Dem 0 Miss Shared Cache Pref 1 Pref 3 Dem 2 Bank 0 Bank 1 Pref 3 Pref 1 Row Buffers Pref 1 Row Addr. Pref 3 Row Addr. Requests Being Serviced Row Buffer Hit … Dem 2 Addr:A Core1 Dem 1 In a CMP system, accurate prefetchers can cause significant interference with concurrently-executing applications Dem X Addr: Y Demand Request From Core X For Addr Y

9 … Set 2 … Shortcoming of Per-Core (Local-Only) Prefetcher Aggressiveness Control Core 0 Core 1 Core 2 Core 3 Dem 2 Dem 3 Dem 2 Dem 3 Dem 2 Dem 3 Dem 2 Dem 3 Pref 0 Used_P Pref 0Pref 1 Prefetcher Degree: Prefetcher Degree: Used_P Pref 0 Pref 1 Used_P FDP Throttle Up Pref 0 Pref 1 Dem 2Dem 3Dem 2Dem 3 Local-only prefetcher control techniques have no mechanism to detect inter-core interference Shared Cache Set 0 Set 1 FDP Throttle Up

10 Shortcoming of Local-Only Prefetcher Control Our Approach: Use both global and per-core feedback to determine each prefetcher’s aggressiveness 4-core workload example: lbm_06 + swim_00 + crafty_00 + bzip2_00

11 Outline Background Shortcoming of Prior Approaches to Prefetcher Control Hierarchical Prefetcher Aggressiveness Control Evaluation Conclusion

12 Hierarchical Prefetcher Aggressiveness Control (HPAC) Memory Controller Cache Pollution Feedback Accuracy Bandwidth Feedback Local control’s goal: Maximize the prefetching performance of core i independently Global control’s goal: Keep track of and control prefetcher-caused inter-core interference in shared memory system Global Control Global Control: accepts or overrides decisions made by local control to improve overall system performance Core i Local Control Pref. i Shared Cache Throttling Decision Local Throttling Decision Final Throttling Decision

13 Terminology Global feedback metrics used in our mechanism: For each core i:  Core i’s prefetcher accuracy – Acc (i)  Core i’s prefetcher caused inter-core cache pollution Pol (i) Demand cache lines of other cores evicted by this core’s prefetches that are requested subsequent to eviction  Bandwidth consumed by core i - BW (i) Accounts for how long requests from this core tie up DRAM banks  Bandwidth needed by other cores j != i - BWNO (i) Accounts for how long requests from other cores have to wait for DRAM banks because of requests from this core

14 Calculating Inter-Core Cache Pollution Pollution bit Core id Hash Function Prefetch from core i, evicts a core j’s demand from shared cache Evicted line’s Address From core j 1j Core j experiences a demand cache miss Missing line’s Address From core j Increment Pol (i) Pollution Filter of core i

15 Hierarchical Prefetcher Aggressiveness Control (HPAC) Memory Controller Pol (i) Acc (i) BW (i) BWNO (i) Global Control Core i Local Control Pref. i Shared Cache Local Throttling Decision Final Throttling Decision High Acc (i) Local Throttle Up High Pol (i) High BW (i) High BWNO (i) Pol. Filter i - High accuracy - High pollution - High bandwidth consumed while other cores need bandwidth Enforce Throttle Down

16 Heuristics for Global Control Classification of global control heuristics based on interference severity  Severe interference Action: Reduce the aggressiveness of interfering prefetcher  Borderline interference Action: Prevent prefetcher from transitioning into severe interference:  Allow local-control to only throttle-down  No interference or moderate interference from an accurate prefetcher Action: Allow local control to maximize local benefits from prefetching

17 HPAC Control Policies Causing Low Pollution Inaccurate Highly Accurate Others’ low BW need throttle down Causing High Pollution Action Interference Class BWNO (i) High BW Consumption Low BW Consumption Others’ high BW need Others’ low BW need Inaccurate throttle down Highly Accurate High BW Consumption Low BW Consumption Others’ low BW need Others’ high BW need Others’ low BW need Others’ high BW need throttle down Severe interference Pol (i) Acc (i) BW (i)

18 Hardware Cost (4-Core System) Total hardware cost local-control & global control15.14 KB Additional cost on top of FDP1.55 KB Additional cost on top of FDP only 1.55 KB HPAC does not require any structures or logic that are on the processor’s critical path

19 Outline Background Shortcoming of Prior Approaches to Prefetcher Control Hierarchical Prefetcher Aggressiveness Control Evaluation Conclusion

20 Evaluation Methodology x86 cycle accurate simulator Baseline processor configuration  Per core 4-wide issue, out-of-order, 256-entry ROB Stream prefetcher with 32 streams, prefetch degree:4, prefetch distance:64  Shared 2MB, 16-way L2 cache (4MB, 32-way for 8-core) DDR3 1333Mhz 8B wide core to memory bus 128, 256 L2 MSHRs for 4-, 8-core Latency of 15ns per command (tRP, tRCD, CL) HPAC thresholds used AccBWPolBWNO 0.650k9075k

21 Performance Results Class 1 Class 2Class 3 Class 4 15% Exact workload combinations can be found in paper

22 Summary of Other Results Further results and analysis are presented in the paper  Results with different types of memory controllers Prefetch-Aware DRAM Controllers(PADC) First-Ready First-Come-First-Served (FR-FCFS)  Effect of HPAC on system fairness  HPAC performance on 8-core systems  Multiple types of prefetchers per core and different local-control policies  Sensitivity to system parameters

23 Conclusion Prefetcher-caused inter-core interference can destroy potential performance of prefetching  When prefetching for concurrently executing applications in CMPs  Did not exist in single-application environments Develop one low-cost hierarchical solution which throttles different cores’ prefetchers in a coordinated manner The key is to take global feedback into account to determine aggressiveness of each core’s prefetcher  Improves system performance by 15% compared to no throttling on a 4-core system  Enables performance improvement from prefetching that is not possible without it on many workloads

24 Thank you! Questions?