Compiler-Directed Cache Polymorphism
|
|
- Ashley Fisher
- 5 years ago
- Views:
Transcription
1 Compiler-Directed Cache Polymorphism J. S. Hu, M. Kandemir, N. Vijaykrishnan, M. J. Irwin, H. Saputra, W. Zhang Microsystems Design Lab The Pennsylvania State University
2 Outline Motivation Compiler-Directed Cache Polymorphism Array-based Code Algorithms for Cache Polymorphism Experiments & Results Conclusions & Future Work 2
3 Motivation State-of-the-art microprocessors normally employ large cache structures; Fixed cache structures are wasted due to ineffective utilization; Traditional loop optimizations may not be available due to dependences as well as not energy aware; Fixed cache structure may also increases energy consumption; Previous reconfigurable cache architecture lacks software-based direction mechanism. 3
4 Our Approach Compiler-directed cache polymorphism Compiler analysis based; No transformation to the original code; Determines the near-optimal cache configurations for each loop nest; Dynamically reconfigures caches for different nests at run time. 4
5 Array-based Code Array-based programs Assumption : globally declared arrays; Assumption 2: same lexical-level nests; Assumption 3: perfectly-nested nests. Characteristics of array-based code Computation of nests dominates the execution time of array-based codes; Cache behavior directly affects the performance & energy consumption of nests; Data locality is the key to improve cache behavior. 5
6 6 Array References )]. ( )]...[ ( )][ ( [,,2, i f i f i f AR m j j j j r r r. * , 2,, + = m n mn m m n n m j j j c c c i i i a a a a a a a a a f f f M M L M O M M L L M c. Ai f r r r + = () (2) (3) : reference subscript vector : access matrix : loop index vector : constant offset vector f r i r c r A
7 Compiler-Directed Cache Polymorphism How to analyze reuse properties of a given nest efficiently? How to transform data reuse into real data locality? Why? improve performance and energy efficiency What s the barrier? cache interferences Approach? avoid or reduce the majority of cache interferences Prerequisite? cache behavior of array references How to figure out the cache behavior within reuse space? How to avoid or reduce the majority of cache interferences? How to optimize cache configurations? How to dynamically reconfigure caches for each nest? 7
8 Algorithms for Cache Polymorphism Algorithm & 2 for self & group reuse analysis Characteristics of algorithm & 2 At granularity of uniform reference set; Work on access matrix and constant vector to extract reuse information; Not solving a system of equations for reuse; More efficient. 8
9 Example Array a: uniform reference set : {A a, A a 2} uniform reference set 2: {A a 3} Array b: uniform reference set : {A b } 9
10 Example Data reuse obtained from algorithm &2 Array a: Uniform reference set : Self-spatial reuse at level l; Group-temporal reuse at level j; Uniform reference set 2: Self-spatial reuse at level l; Self-temporal reuse at level j; Array b: Self-spatial reuse at level i. 0
11 Algorithms for Cache Polymorphism r f ( i ) SMS At a given loop iteration, footprint of a reference is computed as: = SA+ Cof * i + Cof 2 * i2 + L+ Cof SA = elmt _ sz * Cof j m = elmt _ sz * j= k = j+ m l = m+ M k =, k = m + ddk * c j, ddk = duk dlk, k m +, k = m + dd k * alj, ddk = l+ duk dlk, k m Reuse space for reuse at loop level j: * i j = ( i = l, i2 = l2, Li j = l j, i j+, L, in ), lk ik > j n n u k (4) (5) (6) (7)
12 Algorithms for Cache Polymorphism Algorithm 3: Simulate the footprints of array references in reuse space. Invokes algorithm &2 for each uniform reference set; Exploits the highest reuse level among those sets; Creates an array bitmap; For each rarray reference Use f (i ) to simulate the memory addresses of array references within the reuse space SMS j Set the bit in bitmap if the corresponding block in memory is accessed. 2
13 Algorithms for Cache Polymorphism Algorithm 4: optimizing the cache configurations Objective: a near-optimal cache configuration for both performance and energy. Scheme: reduce conflict by increasing cache ways. Approach: optimize through the nest-level bitmap. Map (accumulate) all array bitmaps to a nest bitmap; Value of each bit indicates the conflict in the cache block; Initialize the cache as number of sets=bitmap size; Halves the number of sets and remaps bitmap; Repeat above step until way >= upper bound; Give the configuration with the smallest cache size and fewest ways as the near-optimal cache configuration. 3
14 Example 4
15 Example Algorithm 3: obtain footprints (6B) 5
16 Example Algorithm 4: Remap array bitmaps into nest bitmap Optimize cache configuration Near-optimal cache configuration: (2KB, 2 way, 6B) 6
17 Algorithms for Cache Polymorphism Algorithm 5: Global Level Cache Polymorphism Take the source code as input; Use SUIF pass to construct a global array list; Invokes Algorithm 4 for optimizing cache configurations for each nest; Activates cache reconfiguration mechanisms at running time (Shade as execution engine); Outputs performance data for each loop nest at different cache configurations. 7
18 Experiments Framework CDCP is implemented with SUIF compiler and Shade Scheme: performance & energy comparison Shade: optimal cache configurations from exhaustive simulation CDCP: near-optimal cache configurations determined by CDCP 8
19 9 Cache Configurations 8k8s 4k8s 2k6s 8k8s 4k8s 4k2s 3 32k8s 6k8s 6k4s 32k6s 6k6s 6k8s 2 8k8s 4k4s 2k8s 64k4s 4k8s 2k4s aps.c 6k6s 6k6s 6k6s 6k6s 6k6s 6k6s 2 k4s k4s k4s k4s k4s k4s adi.c CDCP Shade Codes
20 Results () L D-cache Hit Rate Shade CDCP adi.c aps.c bmcm.c eflux.c tomcat.c tsf.c vpenta.c wss.c Performance comparison at 6B cache line size. 20
21 Results (2) L D-cache Hit Rate ln0-shade ln0-cdcp ln-shade ln-cdcp ln2-shade ln2-cdcp Performance comparison breakdown at each loop nest for aps.c at 6, 32, and 64B cache line sizes. 2
22 22 Energy Consumption (µjoules) total total aps.c adi.c CDCP Shade Codes
23 Related Work Compiler optimizations D. Gannon et. al. [JPDC 88] M. Wolf and M. Lam [PLDI 9] K. S. McKinley et. al. [ACM TOPLS 96] Reconfigurable caches D. H. Albonesi [Micro 99] P. Ranganathan et. al. [ISCA 00] 23
24 Conclusions and Future Work Conclusions: Propose a new technique: CDCP; Present a set of algorithms to implement CDCP; Experimental results show CDCP generates competitive performance and much less energy; Future Work: Experiment with different sets of applications; Finer granularity beyond nest; Combine CDCP with loop/data based compiler optimizations. 24
25 Thank you! 25
26 Algorithm running time Name Running Time (s) Name Running Time (s) adi.c 0.49 aps.c.638 bmcm.c eflux.c tomcat.c.544 tsf.c vpenta.c wss.c
27 Results (2) L D-cache Hit Rate Shade CDCP adi.c aps.c bmcm.c eflux.c tomcat.c tsf.c vpenta.c wss.c Performance comparison at 32B cache line size. 27
28 Results (3) L D-cache Hit Rate Shade CDCP adi.c aps.c bmcm.c eflux.c tomcat.c tsf.c vpenta.c wss.c Performance comparison at 64B cache line size. 28
Cache Miss Clustering for Banked Memory Systems
Cache Miss Clustering for Banked Memory Systems O. Ozturk, G. Chen, M. Kandemir Computer Science and Engineering Department Pennsylvania State University University Park, PA 16802, USA {ozturk, gchen,
More informationARCHITECTURAL APPROACHES TO REDUCE LEAKAGE ENERGY IN CACHES
ARCHITECTURAL APPROACHES TO REDUCE LEAKAGE ENERGY IN CACHES Shashikiran H. Tadas & Chaitali Chakrabarti Department of Electrical Engineering Arizona State University Tempe, AZ, 85287. tadas@asu.edu, chaitali@asu.edu
More informationReducing Memory Requirements of Nested Loops for Embedded Systems
Reducing Memory Requirements of Nested Loops for Embedded Systems 23.3 J. Ramanujam Λ Jinpyo Hong Λ Mahmut Kandemir y A. Narayan Λ Abstract Most embedded systems have limited amount of memory. In contrast,
More informationCompiler Algorithms for Optimizing Locality and Parallelism on Shared and Distributed-Memory Machines
Journal of Parallel and Distributed Computing 6, 924965 (2) doi:.6jpdc.2.639, available online at http:www.idealibrary.com on Compiler Algorithms for Optimizing Locality and Parallelism on Shared and Distributed-Memory
More informationOptimizing Inter-Nest Data Locality
Optimizing Inter-Nest Data Locality M. Kandemir, I. Kadayif Microsystems Design Lab Pennsylvania State University University Park, PA 682, USA fkandemir,kadayifg@cse.psu.edu A. Choudhary, J. A. Zambreno
More informationAutomatic Tiling of Iterative Stencil Loops
Automatic Tiling of Iterative Stencil Loops Zhiyuan Li and Yonghong Song Purdue University Iterative stencil loops are used in scientific programs to implement relaxation methods for numerical simulation
More informationExploiting On-Chip Data Transfers for Improving Performance of Chip-Scale Multiprocessors
Exploiting On-Chip Data Transfers for Improving Performance of Chip-Scale Multiprocessors G. Chen 1, M. Kandemir 1, I. Kolcu 2, and A. Choudhary 3 1 Pennsylvania State University, PA 16802, USA 2 UMIST,
More informationTiling: A Data Locality Optimizing Algorithm
Tiling: A Data Locality Optimizing Algorithm Announcements Monday November 28th, Dr. Sanjay Rajopadhye is talking at BMAC Friday December 2nd, Dr. Sanjay Rajopadhye will be leading CS553 Last Monday Kelly
More informationTiling: A Data Locality Optimizing Algorithm
Tiling: A Data Locality Optimizing Algorithm Previously Unroll and Jam Homework PA3 is due Monday November 2nd Today Unroll and Jam is tiling Code generation for fixed-sized tiles Paper writing and critique
More informationA Lost Cycles Analysis for Performance Prediction using High-Level Synthesis
A Lost Cycles Analysis for Performance Prediction using High-Level Synthesis Bruno da Silva, Jan Lemeire, An Braeken, and Abdellah Touhafi Vrije Universiteit Brussel (VUB), INDI and ETRO department, Brussels,
More informationAdvanced optimizations of cache performance ( 2.2)
Advanced optimizations of cache performance ( 2.2) 30 1. Small and Simple Caches to reduce hit time Critical timing path: address tag memory, then compare tags, then select set Lower associativity Direct-mapped
More informationA Layout-Conscious Iteration Space Transformation Technique
IEEE TRANSACTIONS ON COMPUTERS, VOL 50, NO 12, DECEMBER 2001 1321 A Layout-Conscious Iteration Space Transformation Technique Mahmut Kandemir, Member, IEEE, J Ramanujam, Member, IEEE, Alok Choudhary, Senior
More informationArea-Efficient Error Protection for Caches
Area-Efficient Error Protection for Caches Soontae Kim Department of Computer Science and Engineering University of South Florida, FL 33620 sookim@cse.usf.edu Abstract Due to increasing concern about various
More informationECE 5730 Memory Systems
ECE 5730 Memory Systems Spring 2009 Off-line Cache Content Management Lecture 7: 1 Quiz 4 on Tuesday Announcements Only covers today s lecture No office hours today Lecture 7: 2 Where We re Headed Off-line
More informationTemperature-Sensitive Loop Parallelization for Chip Multiprocessors
Temperature-Sensitive Loop Parallelization for Chip Multiprocessors Sri Hari Krishna Narayanan, Guilin Chen, Mahmut Kandemir, Yuan Xie Department of CSE, The Pennsylvania State University {snarayan, guilchen,
More informationCOMPILER DIRECTED MEMORY HIERARCHY DESIGN AND MANAGEMENT IN CHIP MULTIPROCESSORS
The Pennsylvania State University The Graduate School Department of Computer Science and Engineering COMPILER DIRECTED MEMORY HIERARCHY DESIGN AND MANAGEMENT IN CHIP MULTIPROCESSORS A Thesis in Computer
More informationImproving Cache Efficiency via Resizing + Remapping
Improving Cache Efficiency via Resizing + Remapping Technical Report: GIT-CERCS-7-18 Subramanian Ramaswamy, Sudhakar Yalamanchili Computational Architectures and Systems Laboratory School of Electrical
More informationSPM Management Using Markov Chain Based Data Access Prediction*
SPM Management Using Markov Chain Based Data Access Prediction* Taylan Yemliha Syracuse University, Syracuse, NY Shekhar Srikantaiah, Mahmut Kandemir Pennsylvania State University, University Park, PA
More informationPredicting the Impact of Optimizations for Embedded Systems
Predicting the Impact of Optimizations for Embedded Systems Min Zhao Bruce Childers Mary Lou Soffa Department of Computer Science University of Pittsburgh, Pittsburgh, 5260 {lilyzhao, childers, soffa@cs.pitt.edu}
More informationRun-time Reordering. Transformation 2. Important Irregular Science & Engineering Applications. Lackluster Performance in Irregular Applications
Reordering s Important Irregular Science & Engineering Applications Molecular Dynamics Finite Element Analysis Michelle Mills Strout December 5, 2005 Sparse Matrix Computations 2 Lacluster Performance
More informationAn Autonomous Dynamically Adaptive Memory Hierarchy for Chip Multiprocessors
ACM IEEE 37 th International Symposium on Computer Architecture Elastic Cooperative Caching: An Autonomous Dynamically Adaptive Memory Hierarchy for Chip Multiprocessors Enric Herrero¹, José González²,
More informationUnroll-and-Jam Using Uniformly Generated Sets
Unroll-and-Jam Using Uniformly Generated Sets Steve Carr Yiping Guan Abstract Modern architectural trends in instruction-level parallelism (ILP) are to increase the computational power of microprocessors
More informationCache Performance II 1
Cache Performance II 1 cache operation (associative) 111001 index offset valid tag valid tag data data 1 10 1 00 00 11 AA BB tag 1 11 1 01 B4 B5 33 44 = data (B5) AND = AND OR is hit? (1) 2 cache operation
More informationModule 5: Performance Issues in Shared Memory and Introduction to Coherence Lecture 9: Performance Issues in Shared Memory. The Lecture Contains:
The Lecture Contains: Data Access and Communication Data Access Artifactual Comm. Capacity Problem Temporal Locality Spatial Locality 2D to 4D Conversion Transfer Granularity Worse: False Sharing Contention
More informationCompiling for Advanced Architectures
Compiling for Advanced Architectures In this lecture, we will concentrate on compilation issues for compiling scientific codes Typically, scientific codes Use arrays as their main data structures Have
More informationProfiling-Based L1 Data Cache Bypassing to Improve GPU Performance and Energy Efficiency
Profiling-Based L1 Data Cache Bypassing to Improve GPU Performance and Energy Efficiency Yijie Huangfu and Wei Zhang Department of Electrical and Computer Engineering Virginia Commonwealth University {huangfuy2,wzhang4}@vcu.edu
More informationMemory Hierarchy. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University
Memory Hierarchy Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Time (ns) The CPU-Memory Gap The gap widens between DRAM, disk, and CPU speeds
More informationConfiguration Caching Techniques for FPGA
Submitted to IEEE Symposium on FPGAs for Custom Computing Machines, 2000. Configuration Caching Techniques for FPGA Zhiyuan Li, Katherine Compton Department of Electrical and Computer Engineering Northwestern
More informationShared Cache Aware Task Mapping for WCRT Minimization
Shared Cache Aware Task Mapping for WCRT Minimization Huping Ding & Tulika Mitra School of Computing, National University of Singapore Yun Liang Center for Energy-efficient Computing and Applications,
More informationLocality-Aware Process Scheduling for Embedded MPSoCs*
Locality-Aware Process Scheduling for Embedded MPSoCs* Mahmut Kandemir and Guilin Chen Computer Science and Engineering Department The Pennsylvania State University, University Park, PA 1682, USA {kandemir,
More informationCache Miss Equations: A Compiler Framework for Analyzing and Tuning Memory Behavior
Cache Miss Equations: A Compiler Framework for Analyzing and Tuning Memory Behavior SOMNATH GHOSH, MARGARET MARTONOSI, and SHARAD MALIK Princeton University With the ever-widening performance gap between
More informationDatabase Workload. from additional misses in this already memory-intensive databases? interference could be a problem) Key question:
Database Workload + Low throughput (0.8 IPC on an 8-wide superscalar. 1/4 of SPEC) + Naturally threaded (and widely used) application - Already high cache miss rates on a single-threaded machine (destructive
More informationLocality-Conscious Process Scheduling in Embedded Systems
Locality-Conscious Process Scheduling in Embedded Systems I. Kadayif, M. Kemir Microsystems Design Lab Pennsylvania State University University Park, PA 16802, USA kadayif,kemir @cse.psu.edu I. Kolcu Computation
More informationExploiting Shared Scratch Pad Memory Space in Embedded Multiprocessor Systems
5. Exploiting Shared Scratch Pad Memory Space in Embedded Multiprocessor Systems Mahmut Kandemir Microsystems Design Lab Pennsylvania State University University Park, PA 680 kandemir@cse.psu.edu J. Ramanujam
More informationScalable and Modularized RTL Compilation of Convolutional Neural Networks onto FPGA
Scalable and Modularized RTL Compilation of Convolutional Neural Networks onto FPGA Yufei Ma, Naveen Suda, Yu Cao, Jae-sun Seo, Sarma Vrudhula School of Electrical, Computer and Energy Engineering School
More informationExploiting Non-Uniform Reuse for Cache Optimization: A Case Study
Exploiting Non-Uniform Reuse for Cache Optimization: A Case Study Claudia Leopold Friedrich-Schiller-Universität Jena Institut für Informatik 77 Jena, Germany claudia@informatik.uni-jena.de Keywords: Data
More informationComputer Architecture and Engineering. CS152 Quiz #2. March 3rd, Professor Krste Asanovic. Name:
Computer Architecture and Engineering CS152 Quiz #2 March 3rd, 2009 Professor Krste Asanovic Name: Notes: This is a closed book, closed notes exam. 80 Minutes 10 Pages Not all questions are of equal difficulty,
More informationChapter 6 Caches. Computer System. Alpha Chip Photo. Topics. Memory Hierarchy Locality of Reference SRAM Caches Direct Mapped Associative
Chapter 6 s Topics Memory Hierarchy Locality of Reference SRAM s Direct Mapped Associative Computer System Processor interrupt On-chip cache s s Memory-I/O bus bus Net cache Row cache Disk cache Memory
More informationLRC: Dependency-Aware Cache Management for Data Analytics Clusters. Yinghao Yu, Wei Wang, Jun Zhang, and Khaled B. Letaief IEEE INFOCOM 2017
LRC: Dependency-Aware Cache Management for Data Analytics Clusters Yinghao Yu, Wei Wang, Jun Zhang, and Khaled B. Letaief IEEE INFOCOM 2017 Outline Cache Management for Data Analytics Clusters Inefficiency
More informationDATA PREFETCHING AND DATA FORWARDING IN SHARED MEMORY MULTIPROCESSORS (*)
DATA PREFETCHING AND DATA FORWARDING IN SHARED MEMORY MULTIPROCESSORS (*) David K. Poulsen and Pen-Chung Yew Center for Supercomputing Research and Development University of Illinois at Urbana-Champaign
More informationLaPerm: Locality Aware Scheduler for Dynamic Parallelism on GPUs
LaPerm: Locality Aware Scheduler for Dynamic Parallelism on GPUs Jin Wang*, Norm Rubin, Albert Sidelnik, Sudhakar Yalamanchili* *Computer Architecture and System Lab, Georgia Institute of Technology NVIDIA
More informationMemory Hierarchy. ENG3380 Computer Organization and Architecture Cache Memory Part II. Topics. References. Memory Hierarchy
ENG338 Computer Organization and Architecture Part II Winter 217 S. Areibi School of Engineering University of Guelph Hierarchy Topics Hierarchy Locality Motivation Principles Elements of Design: Addresses
More informationCS152 Computer Architecture and Engineering CS252 Graduate Computer Architecture Spring 2018 SOLUTIONS Caches and the Memory Hierarchy Assigned February 8 Problem Set #2 Due Wed, February 21 http://inst.eecs.berkeley.edu/~cs152/sp18
More informationHeap Compression for Memory-Constrained Java
Heap Compression for Memory-Constrained Java CSE Department, PSU G. Chen M. Kandemir N. Vijaykrishnan M. J. Irwin Sun Microsystems B. Mathiske M. Wolczko OOPSLA 03 October 26-30 2003 Overview PROBLEM:
More informationCS 179: GPU Computing LECTURE 4: GPU MEMORY SYSTEMS
CS 179: GPU Computing LECTURE 4: GPU MEMORY SYSTEMS 1 Last time Each block is assigned to and executed on a single streaming multiprocessor (SM). Threads execute in groups of 32 called warps. Threads in
More informationCompiler-Directed Array Interleaving for Reducing Energy in Multi-Bank Memories
Compiler-Directed Array Interleaving for Reducing Energy in Multi-Bank Memories V. Delaluz, M. Kandemir, N. Vijaykrishnan, M. J. Irwin, A. Sivasubramaniam, and I. Kolcu y Microsystems Design Lab Pennsylvania
More informationExploring Wakeup-Free Instruction Scheduling
Exploring Wakeup-Free Instruction Scheduling Jie S. Hu, N. Vijaykrishnan, and Mary Jane Irwin Microsystems Design Lab The Pennsylvania State University Outline Motivation Case study: Cyclone Towards high-performance
More informationCourse Outline. Processes CPU Scheduling Synchronization & Deadlock Memory Management File Systems & I/O Distributed Systems
Course Outline Processes CPU Scheduling Synchronization & Deadlock Memory Management File Systems & I/O Distributed Systems 1 Today: Memory Management Terminology Uniprogramming Multiprogramming Contiguous
More informationOne-Level Cache Memory Design for Scalable SMT Architectures
One-Level Cache Design for Scalable SMT Architectures Muhamed F. Mudawar and John R. Wani Computer Science Department The American University in Cairo mudawwar@aucegypt.edu rubena@aucegypt.edu Abstract
More informationCACHE ARCHITECTURE. Mahdi Nazm Bojnordi. CS/ECE 6810: Computer Architecture. Assistant Professor School of Computing University of Utah
CACHE ARCHITECTURE Mahdi Nazm Bojnordi Assistant Professor School of Computing University of Utah CS/ECE 6810: Computer Architecture Overview Announcement Mar. 14 th : Homework 4 release (due on Mar. 27
More informationComparing Memory Systems for Chip Multiprocessors
Comparing Memory Systems for Chip Multiprocessors Jacob Leverich Hideho Arakida, Alex Solomatnikov, Amin Firoozshahian, Mark Horowitz, Christos Kozyrakis Computer Systems Laboratory Stanford University
More informationData Prefetch and Software Pipelining. Stanford University CS243 Winter 2006 Wei Li 1
Data Prefetch and Software Pipelining Wei Li 1 Data Prefetch Software Pipelining Agenda 2 Why Data Prefetching Increasing Processor Memory distance Caches do work!!! IF Data set cache-able, able, accesses
More informationhigh-speed-high-capacity memory
Sanjay Rajopadhye Colorado State University n Transparently provide the illusion of a high-speed-high-capacity memory n Built out of caches: small memory devices that exploit the principle of locality
More informationSTLAC: A Spatial and Temporal Locality-Aware Cache and Networkon-Chip
STLAC: A Spatial and Temporal Locality-Aware Cache and Networkon-Chip Codesign for Tiled Manycore Systems Mingyu Wang and Zhaolin Li Institute of Microelectronics, Tsinghua University, Beijing 100084,
More informationCPE 631 Lecture 04: CPU Caches
Lecture 04 CPU Caches Electrical and Computer Engineering University of Alabama in Huntsville Outline Memory Hierarchy Four Questions for Memory Hierarchy Cache Performance 26/01/2004 UAH- 2 1 Processor-DR
More informationECE 2300 Digital Logic & Computer Organization. Caches
ECE 23 Digital Logic & Computer Organization Spring 217 s Lecture 2: 1 Announcements HW7 will be posted tonight Lab sessions resume next week Lecture 2: 2 Course Content Binary numbers and logic gates
More informationAdaptive Spatiotemporal Node Selection in Dynamic Networks
Adaptive Spatiotemporal Node Selection in Dynamic Networks Pradip Hari, John B. P. McCabe, Jonathan Banafato, Marcus Henry, Ulrich Kremer, Dept. of Computer Science, Rutgers University Kevin Ko, Emmanouil
More informationThe check bits are in bit numbers 8, 4, 2, and 1.
The University of Western Australia Department of Electrical and Electronic Engineering Computer Architecture 219 (Tutorial 8) 1. [Stallings 2000] Suppose an 8-bit data word is stored in memory is 11000010.
More informationCS 33. Caches. CS33 Intro to Computer Systems XVIII 1 Copyright 2017 Thomas W. Doeppner. All rights reserved.
CS 33 Caches CS33 Intro to Computer Systems XVIII 1 Copyright 2017 Thomas W. Doeppner. All rights reserved. Cache Performance Metrics Miss rate fraction of memory references not found in cache (misses
More informationDefensive Loop Tiling for Shared Cache. Bin Bao Adobe Systems Chen Ding University of Rochester
Defensive Loop Tiling for Shared Cache Bin Bao Adobe Systems Chen Ding University of Rochester Bird and Program Unlike a bird, which can learn to fly better and better, existing programs are sort of dumb---the
More informationOptimizing Sparse Matrix Vector Multiplication on Emerging Multicores
Optimizing Sparse Matrix Vector Multiplication on Emerging Multicores Orhan Kislal, Wei Ding, Mahmut Kandemir The Pennsylvania State University University Park, Pennsylvania, USA omk03, wzd09, kandemir@cse.psu.edu
More informationExploiting Inter-Warp Heterogeneity to Improve GPGPU Performance
Exploiting Inter-Warp Heterogeneity to Improve GPGPU Performance Rachata Ausavarungnirun Saugata Ghose, Onur Kayiran, Gabriel H. Loh Chita Das, Mahmut Kandemir, Onur Mutlu Overview of This Talk Problem:
More informationThe Cache Performance and Optimizations of Blocked Algorithms
Fourth Intern. Conf. on Architectural Support for Programming Languages and Operating Systems (ASPLOS IV) Palo Alto, California, April 9-11, 1991 The Cache Performance and Optimizations of Blocked Algorithms
More informationProgram Transformations for the Memory Hierarchy
Program Transformations for the Memory Hierarchy Locality Analysis and Reuse Copyright 214, Pedro C. Diniz, all rights reserved. Students enrolled in the Compilers class at the University of Southern California
More informationAssignment 1 due Mon (Feb 4pm
Announcements Assignment 1 due Mon (Feb 19) @ 4pm Next week: no classes Inf3 Computer Architecture - 2017-2018 1 The Memory Gap 1.2x-1.5x 1.07x H&P 5/e, Fig. 2.2 Memory subsystem design increasingly important!
More informationEyeriss: A Spatial Architecture for Energy-Efficient Dataflow for Convolutional Neural Networks
Eyeriss: A Spatial Architecture for Energy-Efficient Dataflow for Convolutional Neural Networks Yu-Hsin Chen 1, Joel Emer 1, 2, Vivienne Sze 1 1 MIT 2 NVIDIA 1 Contributions of This Work A novel energy-efficient
More informationReducing Instruction Cache Energy Consumption Using a Compiler-Based Strategy
Reducing Instruction Cache Energy Consumption Using a Compiler-Based Strategy W. ZHANG Southern Illinois University and J. S. HU, V. DEGALAHAL, M. KANDEMIR, N. VIJAYKRISHNAN, and M. J. IRWIN The Pennsylvania
More informationShortCut: Architectural Support for Fast Object Access in Scripting Languages
Jiho Choi, Thomas Shull, Maria J. Garzaran, and Josep Torrellas Department of Computer Science University of Illinois at Urbana-Champaign http://iacoma.cs.uiuc.edu ISCA 2017 Overheads of Scripting Languages
More informationObject Duplication for Improving Reliability
Object Duplication for Improving Reliability G. Chen, G. Chen, M. Kandemir, N. Vijaykrishnan, M. J. Irwin Department of Computer Science and Engineering The Pennsylvania State University Soft Errors S
More informationCS377P Programming for Performance Single Thread Performance Caches I
CS377P Programming for Performance Single Thread Performance Caches I Sreepathi Pai UTCS September 21, 2015 Outline 1 Introduction 2 Caches 3 Performance of Caches Outline 1 Introduction 2 Caches 3 Performance
More informationThe Processor Memory Hierarchy
Corrected COMP 506 Rice University Spring 2018 The Processor Memory Hierarchy source code IR Front End Optimizer Back End IR target code Copyright 2018, Keith D. Cooper & Linda Torczon, all rights reserved.
More informationClass Information INFORMATION and REMINDERS Homework 8 has been posted. Due Wednesday, December 13 at 11:59pm. Third programming has been posted. Due Friday, December 15, 11:59pm. Midterm sample solutions
More informationBenchmarking the Memory Hierarchy of Modern GPUs
1 of 30 Benchmarking the Memory Hierarchy of Modern GPUs In 11th IFIP International Conference on Network and Parallel Computing Xinxin Mei, Kaiyong Zhao, Chengjian Liu, Xiaowen Chu CS Department, Hong
More information2 Improved Direct-Mapped Cache Performance by the Addition of a Small Fully-Associative Cache and Prefetch Buffers [1]
EE482: Advanced Computer Organization Lecture #7 Processor Architecture Stanford University Tuesday, June 6, 2000 Memory Systems and Memory Latency Lecture #7: Wednesday, April 19, 2000 Lecturer: Brian
More informationChapter 12 Wear Leveling for PCM Using Hot Data Identification
Chapter 12 Wear Leveling for PCM Using Hot Data Identification Inhwan Choi and Dongkun Shin Abstract Phase change memory (PCM) is the best candidate device among next generation random access memory technologies.
More informationRandom-Access Memory (RAM) Systemprogrammering 2007 Föreläsning 4 Virtual Memory. Locality. The CPU-Memory Gap. Topics
Systemprogrammering 27 Föreläsning 4 Topics The memory hierarchy Motivations for VM Address translation Accelerating translation with TLBs Random-Access (RAM) Key features RAM is packaged as a chip. Basic
More informationThe Memory Hierarchy. Cache, Main Memory, and Virtual Memory (Part 2)
The Memory Hierarchy Cache, Main Memory, and Virtual Memory (Part 2) Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University Cache Line Replacement The cache
More informationRandom-Access Memory (RAM) Systemprogrammering 2009 Föreläsning 4 Virtual Memory. Locality. The CPU-Memory Gap. Topics! The memory hierarchy
Systemprogrammering 29 Föreläsning 4 Topics! The memory hierarchy! Motivations for VM! Address translation! Accelerating translation with TLBs Random-Access (RAM) Key features! RAM is packaged as a chip.!
More informationManaging Hybrid On-chip Scratchpad and Cache Memories for Multi-tasking Embedded Systems
Managing Hybrid On-chip Scratchpad and Cache Memories for Multi-tasking Embedded Systems Zimeng Zhou, Lei Ju, Zhiping Jia, Xin Li School of Computer Science and Technology Shandong University, China Outline
More informationCSCI-UA.0201 Computer Systems Organization Memory Hierarchy
CSCI-UA.0201 Computer Systems Organization Memory Hierarchy Mohamed Zahran (aka Z) mzahran@cs.nyu.edu http://www.mzahran.com Programmer s Wish List Memory Private Infinitely large Infinitely fast Non-volatile
More informationComputer Architecture Memory hierarchies and caches
Computer Architecture Memory hierarchies and caches S Coudert and R Pacalet January 23, 2019 Outline Introduction Localities principles Direct-mapped caches Increasing block size Set-associative caches
More information15-740/ Computer Architecture Lecture 19: Main Memory. Prof. Onur Mutlu Carnegie Mellon University
15-740/18-740 Computer Architecture Lecture 19: Main Memory Prof. Onur Mutlu Carnegie Mellon University Last Time Multi-core issues in caching OS-based cache partitioning (using page coloring) Handling
More informationSpring Prof. Hyesoon Kim
Spring 2011 Prof. Hyesoon Kim 2 Warp is the basic unit of execution A group of threads (e.g. 32 threads for the Tesla GPU architecture) Warp Execution Inst 1 Inst 2 Inst 3 Sources ready T T T T One warp
More informationEEC 170 Computer Architecture Fall Cache Introduction Review. Review: The Memory Hierarchy. The Memory Hierarchy: Why Does it Work?
EEC 17 Computer Architecture Fall 25 Introduction Review Review: The Hierarchy Take advantage of the principle of locality to present the user with as much memory as is available in the cheapest technology
More informationImproving the Energy Behavior of Block Buffering Using Compiler Optimizations
Improving the Energy Behavior of Block Buffering Using Compiler Optimizations M. KANDEMIR Pennsylvania State University J. RAMANUJAM Louisiana State University and U. SEZER University of Wisconsin On-chip
More informationLoop Transformations, Dependences, and Parallelization
Loop Transformations, Dependences, and Parallelization Announcements HW3 is due Wednesday February 15th Today HW3 intro Unimodular framework rehash with edits Skewing Smith-Waterman (the fix is in!), composing
More informationS-FTL: An Efficient Address Translation for Flash Memory by Exploiting Spatial Locality
S-FTL: An Efficient Address Translation for Flash Memory by Exploiting Spatial Locality Song Jiang, Lei Zhang, Xinhao Yuan, Hao Hu, and Yu Chen Department of Electrical and Computer Engineering Wayne State
More informationKey Point. What are Cache lines
Caching 1 Key Point What are Cache lines Tags Index offset How do we find data in the cache? How do we tell if it s the right data? What decisions do we need to make in designing a cache? What are possible
More informationAlgorithm Performance Factors. Memory Performance of Algorithms. Processor-Memory Performance Gap. Moore s Law. Program Model of Memory II
Memory Performance of Algorithms CSE 32 Data Structures Lecture Algorithm Performance Factors Algorithm choices (asymptotic running time) O(n 2 ) or O(n log n) Data structure choices List or Arrays Language
More informationDNN Accelerator Architectures
DNN Accelerator Architectures ISCA Tutorial (2017) Website: http://eyeriss.mit.edu/tutorial.html Joel Emer, Vivienne Sze, Yu-Hsin Chen 1 2 Highly-Parallel Compute Paradigms Temporal Architecture (SIMD/SIMT)
More informationCS161 Design and Architecture of Computer Systems. Cache $$$$$
CS161 Design and Architecture of Computer Systems Cache $$$$$ Memory Systems! How can we supply the CPU with enough data to keep it busy?! We will focus on memory issues,! which are frequently bottlenecks
More informationPROCESSOR speeds have continued to advance at a much
IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 4, NO. 4, APRIL 2003 337 Reducing False Sharing and Improving Spatial Locality in a Unified Compilation Framework Mahmut Kandemir, Member, IEEE,
More informationA Reconfigurable Cache Design for Embedded Dynamic Data Cache
I J C T A, 9(17) 2016, pp. 8509-8517 International Science Press A Reconfigurable Cache Design for Embedded Dynamic Data Cache Shameedha Begum, T. Vidya, Amit D. Joshi and N. Ramasubramanian ABSTRACT Applications
More informationAlgorithm Performance Factors. Memory Performance of Algorithms. Processor-Memory Performance Gap. Moore s Law. Program Model of Memory I
Memory Performance of Algorithms CSE 32 Data Structures Lecture Algorithm Performance Factors Algorithm choices (asymptotic running time) O(n 2 ) or O(n log n) Data structure choices List or Arrays Language
More informationECE 353 Lab 1: Cache Simulation
ECE 353 Lab 1: Cache Simulation Purpose Introduce C programming by means of a simple example Reinforce your knowledge of set associative caches Caches Motivation: The speed differential between main memory
More informationAutotuning. John Cavazos. University of Delaware UNIVERSITY OF DELAWARE COMPUTER & INFORMATION SCIENCES DEPARTMENT
Autotuning John Cavazos University of Delaware What is Autotuning? Searching for the best code parameters, code transformations, system configuration settings, etc. Search can be Quasi-intelligent: genetic
More informationUse-Based Register Caching with Decoupled Indexing
Use-Based Register Caching with Decoupled Indexing J. Adam Butts and Guri Sohi University of Wisconsin Madison {butts,sohi}@cs.wisc.edu ISCA-31 München, Germany June 23, 2004 Motivation Need large register
More informationUnderstanding Reduced-Voltage Operation in Modern DRAM Devices
Understanding Reduced-Voltage Operation in Modern DRAM Devices Experimental Characterization, Analysis, and Mechanisms Kevin Chang A. Giray Yaglikci, Saugata Ghose,Aditya Agrawal *, Niladrish Chatterjee
More informationManaging Dynamic Reconfiguration Overhead in Systems-on-a-Chip Design Using Reconfigurable Datapaths and Optimized Interconnection Networks
Managing Dynamic Reconfiguration Overhead in Systems-on-a-Chip Design Using Reconfigurable Datapaths and Optimized Interconnection Networks Zhining Huang, Sharad Malik Electrical Engineering Department
More informationPrecise and Efficient FIFO-Replacement Analysis Based on Static Phase Detection
Precise and Efficient FIFO-Replacement Analysis Based on Static Phase Detection Daniel Grund 1 Jan Reineke 2 1 Saarland University, Saarbrücken, Germany 2 University of California, Berkeley, USA Euromicro
More information