RFVP: Rollback-Free Value Prediction with Safe to Approximate Loads Amir Yazdanbakhsh, Bradley Thwaites, Hadi Esmaeilzadeh Gennady Pekhimenko, Onur Mutlu,

Slides:



Advertisements
Similar presentations
Gennady Pekhimenko Advisers: Todd C. Mowry & Onur Mutlu
Advertisements

Orchestrated Scheduling and Prefetching for GPGPUs Adwait Jog, Onur Kayiran, Asit Mishra, Mahmut Kandemir, Onur Mutlu, Ravi Iyer, Chita Das.
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.
Department of Computer Science iGPU: Exception Support and Speculative Execution on GPUs Jaikrishnan Menon, Marc de Kruijf Karthikeyan Sankaralingam Vertical.
Linearly Compressed Pages: A Main Memory Compression Framework with Low Complexity and Low Latency Gennady Pekhimenko, Vivek Seshadri , Yoongu Kim,
Tiered-Latency DRAM: A Low Latency and A Low Cost DRAM Architecture
OWL: Cooperative Thread Array (CTA) Aware Scheduling Techniques for Improving GPGPU Performance Adwait Jog, Onur Kayiran, Nachiappan CN, Asit Mishra, Mahmut.
Neither More Nor Less: Optimizing Thread-level Parallelism for GPGPUs Onur Kayıran, Adwait Jog, Mahmut Kandemir, Chita R. Das.
Improving Cache Performance by Exploiting Read-Write Disparity
GPUs. An enlarging peak performance advantage: –Calculation: 1 TFLOPS vs. 100 GFLOPS –Memory Bandwidth: GB/s vs GB/s –GPU in every PC and.
1 Accelerating Critical Section Execution with Asymmetric Multi-Core Architectures M. Aater Suleman* Onur Mutlu† Moinuddin K. Qureshi‡ Yale N. Patt* *The.
1 Improving Hash Join Performance through Prefetching _________________________________________________By SHIMIN CHEN Intel Research Pittsburgh ANASTASSIA.
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.
1 Coordinated Control of Multiple Prefetchers in Multi-Core Systems Eiman Ebrahimi * Onur Mutlu ‡ Chang Joo Lee * Yale N. Patt * * HPS Research Group The.
Improving the Performance of Object-Oriented Languages with Dynamic Predication of Indirect Jumps José A. Joao *‡ Onur Mutlu ‡* Hyesoon Kim § Rishi Agarwal.
McRouter: Multicast within a Router for High Performance NoCs
Flexible Reference-Counting-Based Hardware Acceleration for Garbage Collection José A. Joao * Onur Mutlu ‡ Yale N. Patt * * HPS Research Group University.
Sunpyo Hong, Hyesoon Kim
CuMAPz: A Tool to Analyze Memory Access Patterns in CUDA
1 The Performance Potential for Single Application Heterogeneous Systems Henry Wong* and Tor M. Aamodt § *University of Toronto § University of British.
Unifying Primary Cache, Scratch, and Register File Memories in a Throughput Processor Mark Gebhart 1,2 Stephen W. Keckler 1,2 Brucek Khailany 2 Ronny Krashinsky.
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,
Embedded System Lab. 김해천 Linearly Compressed Pages: A Low- Complexity, Low-Latency Main Memory Compression Framework Gennady Pekhimenko†
Predicting Coherence Communication by Tracking Synchronization Points at Run Time Socrates Demetriades and Sangyeun Cho 45 th International Symposium in.
Architectural Impact of Stateful Networking Applications Javier Verdú, Jorge García Mario Nemirovsky, Mateo Valero The 1st Symposium on Architectures for.
Adaptive GPU Cache Bypassing Yingying Tian *, Sooraj Puthoor†, Joseph L. Greathouse†, Bradford M. Beckmann†, Daniel A. Jiménez * Texas A&M University *,
The Evicted-Address Filter
Gather-Scatter DRAM In-DRAM Address Translation to Improve the Spatial Locality of Non-unit Strided Accesses Vivek Seshadri Thomas Mullins, Amirali Boroumand,
An Integrated GPU Power and Performance Model (ISCA’10, June 19–23, 2010, Saint-Malo, France. International Symposium on Computer Architecture)
Sunpyo Hong, Hyesoon Kim
Simultaneous Multi-Layer Access Improving 3D-Stacked Memory Bandwidth at Low Cost Donghyuk Lee, Saugata Ghose, Gennady Pekhimenko, Samira Khan, Onur Mutlu.
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.
Managing DRAM Latency Divergence in Irregular GPGPU Applications Niladrish Chatterjee Mike O’Connor Gabriel H. Loh Nuwan Jayasena Rajeev Balasubramonian.
Henry Wong, Misel-Myrto Papadopoulou, Maryam Sadooghi-Alvandi, Andreas Moshovos University of Toronto Demystifying GPU Microarchitecture through Microbenchmarking.
A Case for Toggle-Aware Compression for GPU Systems
Improving Multi-Core Performance Using Mixed-Cell Cache Architecture
Zorua: A Holistic Approach to Resource Virtualization in GPUs
Reza Yazdani Albert Segura José-María Arnau Antonio González
A Case for Core-Assisted Bottleneck Acceleration in GPUs Enabling Flexible Data Compression with Assist Warps Session 2A: Today, 10:20 AM Nandita Vijaykumar.
Exploiting Inter-Warp Heterogeneity to Improve GPGPU Performance
Understanding Latency Variation in Modern DRAM Chips Experimental Characterization, Analysis, and Optimization Kevin Chang Abhijith Kashyap, Hasan Hassan,
A Case for Core-Assisted Bottleneck Acceleration in GPUs Enabling Flexible Data Compression with Assist Warps Nandita Vijaykumar Gennady Pekhimenko, Adwait.
ISPASS th April Santa Rosa, California
RFVP: Rollback-Free Value Prediction with Safe to Approximate Loads
Gwangsun Kim Niladrish Chatterjee Arm, Inc. NVIDIA Mike O’Connor
Spare Register Aware Prefetching for Graph Algorithms on GPUs
Rachata Ausavarungnirun
Eiman Ebrahimi, Kevin Hsieh, Phillip B. Gibbons, Onur Mutlu
Presented by: Isaac Martin
Accelerating Dependent Cache Misses with an Enhanced Memory Controller
Milad Hashemi, Onur Mutlu, Yale N. Patt
A Case for Richer Cross-layer Abstractions: Bridging the Semantic Gap with Expressive Memory Nandita Vijaykumar Abhilasha Jain, Diptesh Majumdar, Kevin.
Managing GPU Concurrency in Heterogeneous Architectures
Linearly Compressed Pages: A Main Memory Compression Framework with Low Complexity and Low Latency Gennady Pekhimenko, Vivek Seshadri , Yoongu Kim, Hongyi.
José A. Joao* Onur Mutlu‡ Yale N. Patt*
15-740/ Computer Architecture Lecture 14: Prefetching
Linearly Compressed Pages: A Main Memory Compression Framework with Low Complexity and Low Latency Gennady Pekhimenko, Vivek Seshadri , Yoongu Kim, Hongyi.
ITAP: Idle-Time-Aware Power Management for GPU Execution Units
Lois Orosa, Rodolfo Azevedo and Onur Mutlu
Address-Stride Assisted Approximate Load Value Prediction in GPUs
Haonan Wang, Adwait Jog College of William & Mary
A Case for Richer Cross-layer Abstractions:
DSPatch: Dual Spatial pattern prefetcher
Presentation transcript:

RFVP: Rollback-Free Value Prediction with Safe to Approximate Loads Amir Yazdanbakhsh, Bradley Thwaites, Hadi Esmaeilzadeh Gennady Pekhimenko, Onur Mutlu, Todd C. Mowry Georgia Institute of Technology Carnegie Mellon University

Executive Summary 2 Problem: Performance of modern GPUs significantly limited by the available off-chip bandwidth Observations: – Many GPU applications are amenable to approximation – Data value similarity allows to efficiently predict values of cache misses Key Idea: Use simple value prediction mechanisms to avoid accesses to main memory when it is safe Results: – Higher speedup (36% on average) with less than 10% quality loss – Lower energy consumption (27% on average)

3 Virtual Reality Data Analytics Robotics Multimedia GPU

4 Virtual Reality Data Analytics Robotics Multimedia Many GPU applications are limited by the off-chip bandwidth

Motivation: Bandwidth Bottleneck backprop fastwalsh gaussian heartwall matrixmul particlefilter similarityscore s.reduce s.srad2 stringmatch geomean Off-chip bandwidth is a major performance bottleneck

Only Few Loads Matters 6 Percentage of Load Misses Number of Loads Few GPU instructions generate most of the cache misses

7 Virtual Reality Data Analytics Robotics Multimedia Many GPU applications are also amenable to approximation

Rollback-Free Value Prediction Key idea: Predict values for safe-to-approximate loads when they miss in the cache Design principles: 1.No rollback/recovery, only value prediction 2.Drop rate is a tuning knob 3.Other requests are serviced normally 4.Providing safety guarantees 8

GPU RFVP: Diagram 9 Memory Hierarchy Cores L1 Data Cache RFVP Value Predictor

Code Example to Support Intuition 10 float newVal = 0; for (int i=0; i<N; i++) { float4 v1 = matrix1[i]; float4 v2 = matrix2[i]; newVal += v1.x * v2.x; newVal += v1.y * v2.y; newVal += v1.z * v2.z; newVal += v1.w * v2.w; } Matrixmul:

Code Example to Support Intuition (2) int d_cN, d_cS, d_cW, d_cE; d_cN = d_c[ei]; d_cS = d_c[d_iS[row] + d_Nr * col]; d_cW = d_c[ei]; d_cE = d_c[row + d_Nr * d_jE[col]]; 11 s.srad2:

Outline 12 Motivation Key Idea RFVP Design and Operation Evaluation Conclusion

RFVP Architecture Design Instruction annotations by the programmer ISA changes – Approximate load instruction – Instruction for setting the drop rate Defining approximate load semantics Microarchitecture Integration 13

Programmer Annotations Safety is a semantic property of the program We rely on the programmer to annotate the code 14

ISA Support Approximate Loads load.approx Reg, MEMORY is a probabilistic load - can assign precise or imprecise value to Reg Drop rate set.rate DropRateReg sets the fraction (e.g., 50%) of the approximate cache misses that do not initiate memory requests 15

Microarchitecture Integration 16 Memory Hierarchy Cores RFVP Value Predictor L1 Data Cache Cores RFVP Value Predictor L1 Data Cache Cores RFVP Value Predictor L1 Data Cache Cores RFVP Value Predictor L1 Data Cache SM

Microarchitecture Integration 17 Memory Hierarchy Cores RFVP Value Predictor L1 Data Cache Cores RFVP Value Predictor L1 Data Cache Cores RFVP Value Predictor L1 Data Cache Cores RFVP Value Predictor L1 Data Cache Memory Request All the L1 misses are sent to the memory subsystem DATA SM

Microarchitecture Integration 18 Memory Hierarchy Cores RFVP Value Predictor L1 Data Cache Cores RFVP Value Predictor L1 Data Cache Cores RFVP Value Predictor L1 Data Cache Cores RFVP Value Predictor L1 Data Cache Memory Request A fraction of the requests will be handled by RFVP DATA SM

Language and Software Support Targeting performance critical loads – Only a few critical instructions matter for value prediction Providing safety guarantees – Programmer annotations and compiler passes Drop-rate selection – A new knob that allows to control quality vs. performance tradeoffs 19

Base Value Predictor: Two-Delta Stride 20 + Last ValueStride 1 Stride 2 Hash (PC) Predicted Value

Designing RFVP predictor for GPUs + Last ValueStride 1 Stride 2 Hash (PC) Predicted Value How to design a predictor for GPUs with, for example, 32 threads per warp? 21

GPU Predictor Design and Operation 22 + Last ValueStride 1 Stride 2 Hash (PC) … … 32 Last ValueStride 1 Stride 2 Predicted Value warp (32 threads)

Outline 23 Motivation Key Idea RFVP Design and Operation Evaluation Conclusion

Methodology 24 Simulator GPGPU-Sim simulator (cycle-accurate) ver. 3.1 Workloads GPU benchmarks from Rodinia, Nvidia SDK, and Mars benchmark suites System Parameters GPU with 15 SMs, 32 threads/warp, 6 memory channels, 48 warps/SM, 32KB shared memory, 768KB LLC, GDDR GB/sec off-chip bandwidth

RFVP Performance 25 backprop fastwalsh gaussian heartwall matrixmul particlefilter similarityscore s.reduce s.srad2 stringmatch geomean Speedup Significant speedup for various acceptable quality rates

RFVP Bandwidth Consumption 26 backprop fastwalsh gaussian heartwall matrixmul particlefilter similarityscore s.reduce s.srad2 stringmatch geomean BW Consumption Reduction Reduction in consumed bandwidth (up to 1.5X average) 2.3

RFVP Energy Reduction 27 backprop fastwalsh gaussian heartwall matrixmul particlefilter similarityscore s.reduce s.srad2 stringmatch geomean Energy Reduction Reduction in consumed energy (27% on average) 1.6

Sensitivity to the Value Prediction 28 Two-Delta predictor was the best option Speedup

Other Results and Analyses in the Paper Sensitivity to the drop rate (energy and quality) Precise vs. imprecise value distributions RFVP for memory latency wall – CPU performance – CPU energy reduction – CPU quality vs. performance tradeoff 29

Conclusion 30 Problem: Performance of modern GPUs significantly limited by the available off-chip bandwidth Observations: – Many GPU applications are amenable to approximation – Data value similarity allows to efficiently predict values of cache misses Key Idea: Use simple rollback-free value prediction mechanism to avoid accesses to main memory Results: – Higher speedup (36% on average) with less than 10% quality loss – Lower energy consumption (27% on average)

RFVP: Rollback-Free Value Prediction with Safe to Approximate Loads Amir Yazdanbakhsh, Bradley Thwaites, Hadi Esmaeilzadeh Gennady Pekhimenko, Onur Mutlu, Todd C. Mowry Georgia Institute of Technology Carnegie Mellon University

Sensitivity to the Drop Rate 32 backprop fastwalsh gaussian heartwall matrixmul particlefilter similarityscore s.reduce s.srad2 stringmatch geomean Speedup Speedup varies significantly with different drop rates

Pareto Analysis 33 Pareto-optimal is the configuration with 192 entries and 2 independent predictors for 32 threads