THE ZCACHE: DECOUPLING WAYS AND ASSOCIATIVITY. Daniel Sanchez and Christos Kozyrakis Stanford University

Size: px
Start display at page:

Download "THE ZCACHE: DECOUPLING WAYS AND ASSOCIATIVITY. Daniel Sanchez and Christos Kozyrakis Stanford University"

Transcription

1 THE ZCACHE: DECOUPLING WAYS AND ASSOCIATIVITY Daniel Sanchez and Christos Kozyrakis Stanford University MICRO-43, December 6 th 21

2 Executive Summary 2 Mitigating the memory wall requires large, highly associative caches Last-level caches take ~5% chip area, have ways in latest CMPs More ways large energy, latency and area overheads ZCache: A highly associative cache with a low number of ways Improves associativity by increasing number of replacement candidates Retains low energy/hit, latency and area of caches with few ways Based on skew-associative caches and cuckoo hashing Analytical framework explains why zcache works Associativity depends on number of replacement candidates, not ways or locations a block can be in

3 Outline 3 Introduction ZCache Analytical Framework Evaluation

4 Introduction 4 Uses of high associativity: Improve performance by reducing conflict misses Partitioning, pinning, storing speculative data ( e.g. TM, TLS) Increasing number of ways affects area, delay, energy Increase over 4-way (%) way 32-way 11% Area Hit Latency Hit Energy IPC improvement vs 4-way (%) way rand 32-way ammp_m

5 Techniques for high associativity (1/2): Increase number of locations 5 Allow multiple locations per way Column-associative caches [Agarwal93], set-balancing cache [Rolan9], Hit latency, hit energy Use a victim cache VC [Jouppi9], Scavenger [Basu7], Area, hit latency, hit energy Use indirection in the tag array IIC [Hallnor], V-Way cache [Qureshi5] Area, hit latency, hit energy

6 Techniques for high associativity (2/2): Better hashing Use a hash function to index the cache Simple hashing significantly reduces conflicts [Karbutli4] Skew-associative caches [Seznec93] Index each way using a different hash function A line conflicts with a different set of lines on each way, reducing conflict misses No sets, cannot use replacement policy that relies on set ordering 6 Indexes Line address H Hash function Set index Way Way1 Way2 Line address H H1 H2 Way Way1 Way2

7 Outline 7 Introduction ZCache Analytical Framework Evaluation

8 The ZCache Design 8 Lookups and hits happen as in a skew-associative cache Line address H H1 Indexes H2 Way Way1 Way2 Misses exploit the multiple hash functions to obtain an arbitrarily large number of replacement candidates Phase 1: Walk the tag array, get best candidate Phase 2: Move a few lines to fit everything This happens infrequently (on misses) and off the critical path Draws on prior research in cuckoo hashing

9 D M ZCache Replacement 9 U F N B P V C D E K M X J R H H H Y 5 4 Way Way 1 Way 2 Start replacement process while fetching Y A G Z T Q I H2 L O S A MISS

10 ZCache Replacement U F N B P V C D E K M X J R H H H Y Way Way 1 Way 2 D M A G Z T Q I H2 L O S A

11 ZCache Replacement 11 U F N B P V C D E K M X J R H H H A 5 2 Way Way 1 Way 2 K X Instead of evicting A, can move it and evict K or X A G Z T Q I H2 L O S A

12 ZCache Replacement 12 H H1 H2 1 st -level candidates Addr Y A D M H H H2 1 7 Way Way 1 Way 2 U F P V C K M X H B E R N D J A Z Q G T I L O S

13 ZCache Replacement 13 H H1 H2 1 st -level candidates Addr Y A D M H H H2 1 7 Way Way 1 Way 2 U F P V C K M X H B E R N D J A Z Q G T I L O S 2 nd -level candidates B K X P Z S

14 ZCache Replacement 14 H H1 H2 Way Way 1 Way 2 U F P V C K M X H B E R N D J A Z Q G T I L O S Addr Y A D M B K X P Z S H H H

15 ZCache Replacement 15 Y A D M K X B S P Z L M N E T X F K E Q G R Chosen by replacement policy (e.g. LRU block) Addr Y A D M B K X P Z S H H H

16 ZCache Replacement Y A K X 16 D B Z M P S L M N E U F N B P A G V C D E K Z T M X J R H Q I L O S Y T X G R E Q F K

17 ZCache Replacement 17 Y A D M K X B S P Z L M N E T X F K E Q G R U V M F C A P B K E H R X D J Y G Z T Q I L O S

18 ZCache Replacement 18 Hits always take a single lookup H 5 Y H1 4 H2 Way Way 1 Way 2 U F P V C K M A H B E R X D J Y Z Q G T I L O S M HIT

19 ZCache Implementation Overview Replacements take place: Off the critical path Concurrently with other operations Walk accesses are pipelined Do not saturate tag bandwidth in practice No effect on hit latency Energy per miss mostly determined by walk Similar to set-associative cache of same associativity Cheap to implement SRAM with 1s of bits to track candidates Leverages existing MSHRs See paper for more details 19

20 Number of Candidates An L-level walk on a W-way zcache gets R candidates: 2 R = W L n= ( W 1) n L W Few ways (W=4) give many candidates with shallow walks Ratio of tag bandwidth vs bandwidth of next level limits number of candidates

21 Outline 21 Introduction ZCache Analytical Framework Evaluation

22 An Analytical Associativity Framework 22 Comparing associativity across cache designs is hard Ways do not mean much Conflict misses are workload and architecture-specific Goals Find a general way to characterize associativity Analyze what determines the performance of a zcache

23 General Cache Model 23 Cache array: Holds tags and data Implements associative lookup by address On a replacement, gives list of replacement candidates Model assumes nothing about array organization Replacement policy: Maintains a global rank of which cache blocks to replace All policies conceptually do (LRU, LFU, OPT, ) Implementation does not need to

24 Associativity Distribution Eviction priority: Rank of a block given by the replacement function, normalized to [,1] Higher is better to evict 24 Associativity distribution: Probability distribution of the eviction priorities of evicted blocks Higher associativity distribution more skewed towards 1. Measures how well the array does, not the replacement policy For good performance, replacement policy also needs to do a good job!

25 Uniformity Assumption If the cache array gives R replacement candidates with uniformly distributed priorities, 25 F A E1,..., ER~ i. i. d. U[,1] A = max{ E 1,..., ER } ( x) = P( A x) = x R, x [,1]

26 Associativity Distributions in Practice 26 Set-associative caches do significantly worse than UA Hashing (H 3 ) improves associativity, but still sensibly worse than UA

27 Associativity Distributions for ZCaches 27 Skew-associative caches (1-level zcaches) are very close to UA Increasing candidates but not ways still yields distrib very close to UA

28 Analytical Framework: Conclusions In caches with good hashing, the number of replacement candidates R determines associativity 28 ZCaches provide large number of candidates with few ways Decouple ways and associativity

29 Outline 29 Introduction ZCache Analytical Framework Evaluation

30 Methodology Infrastructure: CACTI-based models for cache cost estimates McPAT for full-cmp area, power estimations Microarchitectural simulation with Pin-based simulator Target system: 32 in-order x86-64 cores (single-issue, 2GHz, 32KB I/D L1s) Fully shared L2, 8MB, 8 1MB banks (set-assoc/zcache) All L2 caches use hashing (H 3 ) 72 workloads: Multithreaded: PARSEC, SPECOMP Multiprogrammed: SPECCPU26 See paper for more details 3

31 Cache Costs Area (mm2) SA 4-way SA 16-way SA 32-way Z 4/16 Z 4/ Hit Latency (ns) Hit Energy (nj) Miss Energy (nj) 31 Each design is optimized for area*latency*energy ZCaches: Retain hit area, hit latency, hit energy of a 4-way SA cache Energy per miss comparable to similarly-associative SA cache

32 Performance and Energy-Efficiency 32 IPC improvement vs 4-way (%) BIPS/W improv vs 4-way (%) SetAssoc 32-way Z 4-way/52-rc ammp_m rand cactusadm gmean (72) gmean (1) ammp_m rand cactusadm gmean (72) gmean (1)

33 Conclusions ZCaches enable efficient highly-associative caches Low number of ways Associativity gained by increasing replacement candidates Costs of high associativity (energy, tag bandwidth) paid only on misses Analytical framework shows that replacement candidates determine associativity 33

34 THANK YOU FOR YOUR ATTENTION QUESTIONS?

35 Backup: Replacement Timeline 35 Address for read/write Tag port out/in Data port out/in Time Way Way1 Way2 Way Way1 Way2 Way Way1 Way2 Miss Walk Relocations A B P L N G F N A X Y D K Z T E E K M X S X M Q R X A A N A X Y D M X A Memory bus Y N Y Fetch on miss Writeback (if needed) Miss response

36 Backup: LRU with coarse-grain timestamps 36 8-bit timestamp per tag Tag each block with a global timestamp counter Increment timestamp every k=5% accesses Wraparounds are rare Current TS Timestamp distrib Timestamp 255

Vector Lane Threading

Vector Lane Threading Vector Lane Threading S. Rivoire, R. Schultz, T. Okuda, C. Kozyrakis Computer Systems Laboratory Stanford University Motivation Vector processors excel at data-level parallelism (DLP) What happens to program

More information

CIS 371 Computer Organization and Design

CIS 371 Computer Organization and Design CIS 371 Computer Organization and Design Unit 7: Caches Based on slides by Prof. Amir Roth & Prof. Milo Martin CIS 371: Comp. Org. Prof. Milo Martin Caches 1 This Unit: Caches I$ Core L2 D$ Main Memory

More information

ECE 571 Advanced Microprocessor-Based Design Lecture 10

ECE 571 Advanced Microprocessor-Based Design Lecture 10 ECE 571 Advanced Microprocessor-Based Design Lecture 10 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 23 February 2017 Announcements HW#5 due HW#6 will be posted 1 Oh No, More

More information

Department of Electrical and Computer Engineering University of Wisconsin - Madison. ECE/CS 752 Advanced Computer Architecture I.

Department of Electrical and Computer Engineering University of Wisconsin - Madison. ECE/CS 752 Advanced Computer Architecture I. Last (family) name: Solution First (given) name: Student I.D. #: Department of Electrical and Computer Engineering University of Wisconsin - Madison ECE/CS 752 Advanced Computer Architecture I Midterm

More information

Worst-Case Execution Time Analysis. LS 12, TU Dortmund

Worst-Case Execution Time Analysis. LS 12, TU Dortmund Worst-Case Execution Time Analysis Prof. Dr. Jian-Jia Chen LS 12, TU Dortmund 09/10, Jan., 2018 Prof. Dr. Jian-Jia Chen (LS 12, TU Dortmund) 1 / 43 Most Essential Assumptions for Real-Time Systems Upper

More information

Portland State University ECE 587/687. Branch Prediction

Portland State University ECE 587/687. Branch Prediction Portland State University ECE 587/687 Branch Prediction Copyright by Alaa Alameldeen and Haitham Akkary 2015 Branch Penalty Example: Comparing perfect branch prediction to 90%, 95%, 99% prediction accuracy,

More information

Accelerating Decoupled Look-ahead to Exploit Implicit Parallelism

Accelerating Decoupled Look-ahead to Exploit Implicit Parallelism Accelerating Decoupled Look-ahead to Exploit Implicit Parallelism Raj Parihar Advisor: Prof. Michael C. Huang March 22, 2013 Raj Parihar Accelerating Decoupled Look-ahead to Exploit Implicit Parallelism

More information

Worst-Case Execution Time Analysis. LS 12, TU Dortmund

Worst-Case Execution Time Analysis. LS 12, TU Dortmund Worst-Case Execution Time Analysis Prof. Dr. Jian-Jia Chen LS 12, TU Dortmund 02, 03 May 2016 Prof. Dr. Jian-Jia Chen (LS 12, TU Dortmund) 1 / 53 Most Essential Assumptions for Real-Time Systems Upper

More information

Cache Contention and Application Performance Prediction for Multi-Core Systems

Cache Contention and Application Performance Prediction for Multi-Core Systems Cache Contention and Application Performance Prediction for Multi-Core Systems Chi Xu, Xi Chen, Robert P. Dick, Zhuoqing Morley Mao University of Minnesota, University of Michigan IEEE International Symposium

More information

Toward Precise PLRU Cache Analysis

Toward Precise PLRU Cache Analysis Toward Precise PLRU Cache Analysis Daniel Grund Jan Reineke 2 Saarland University, Saarbrücken, Germany 2 University of California, Berkeley, USA Workshop on Worst-Case Execution-Time Analysis 2 Outline

More information

Energy-Efficient Management of Reconfigurable Computers 82. Processor caches are critical components of the memory hierarchy that exploit locality to

Energy-Efficient Management of Reconfigurable Computers 82. Processor caches are critical components of the memory hierarchy that exploit locality to Energy-Efficient Management of Reconfigurable Computers 82 4 cache reuse models 4.1 Overview Processor caches are critical components of the memory hierarchy that exploit locality to keep frequently-accessed

More information

Improving the Performance of Parallel Applications in Chip Multiprocessors with Architectural Techniques

Improving the Performance of Parallel Applications in Chip Multiprocessors with Architectural Techniques Improving the Performance of Parallel Applications in Chip Multiprocessors with Architectural Techniques Magnus Jahre Master of Science in Computer Science Submission date: July 2007 Supervisor: Lasse

More information

CMP N 301 Computer Architecture. Appendix C

CMP N 301 Computer Architecture. Appendix C CMP N 301 Computer Architecture Appendix C Outline Introduction Pipelining Hazards Pipelining Implementation Exception Handling Advanced Issues (Dynamic Scheduling, Out of order Issue, Superscalar, etc)

More information

AstroPortal: A Science Gateway for Large-scale Astronomy Data Analysis

AstroPortal: A Science Gateway for Large-scale Astronomy Data Analysis AstroPortal: A Science Gateway for Large-scale Astronomy Data Analysis Ioan Raicu Distributed Systems Laboratory Computer Science Department University of Chicago Joint work with: Ian Foster: Univ. of

More information

Drowsy cache partitioning for reduced static and dynamic energy in the cache hierarchy

Drowsy cache partitioning for reduced static and dynamic energy in the cache hierarchy Rochester Institute of Technology RIT Scholar Works Theses Thesis/Dissertation Collections 6-1-2012 Drowsy cache partitioning for reduced static and dynamic energy in the cache hierarchy Brendan Fitzgerald

More information

Design and Analysis of Time-Critical Systems Response-time Analysis with a Focus on Shared Resources

Design and Analysis of Time-Critical Systems Response-time Analysis with a Focus on Shared Resources Design and Analysis of Time-Critical Systems Response-time Analysis with a Focus on Shared Resources Jan Reineke @ saarland university ACACES Summer School 2017 Fiuggi, Italy computer science Fixed-Priority

More information

NCU EE -- DSP VLSI Design. Tsung-Han Tsai 1

NCU EE -- DSP VLSI Design. Tsung-Han Tsai 1 NCU EE -- DSP VLSI Design. Tsung-Han Tsai 1 Multi-processor vs. Multi-computer architecture µp vs. DSP RISC vs. DSP RISC Reduced-instruction-set Register-to-register operation Higher throughput by using

More information

WARM SRAM: A Novel Scheme to Reduce Static Leakage Energy in SRAM Arrays

WARM SRAM: A Novel Scheme to Reduce Static Leakage Energy in SRAM Arrays WARM SRAM: A Novel Scheme to Reduce Static Leakage Energy in SRAM Arrays Mahadevan Gomathisankaran Iowa State University gmdev@iastate.edu Akhilesh Tyagi Iowa State University tyagi@iastate.edu ➀ Introduction

More information

Analysis and Implementation of Global Preemptive Fixed-Priority Scheduling with Dynamic Cache Allocation*

Analysis and Implementation of Global Preemptive Fixed-Priority Scheduling with Dynamic Cache Allocation* Analysis and Implementation of Global Preemptive Fixed-Priority Scheduling with Dynamic Cache Allocation* Meng Xu Linh Thi Xuan Phan Hyon-Young Choi Insup Lee University of Pennsylvania Abstract We introduce

More information

ICS 233 Computer Architecture & Assembly Language

ICS 233 Computer Architecture & Assembly Language ICS 233 Computer Architecture & Assembly Language Assignment 6 Solution 1. Identify all of the RAW data dependencies in the following code. Which dependencies are data hazards that will be resolved by

More information

AstroPortal: A Science Gateway for Large-scale Astronomy Data Analysis

AstroPortal: A Science Gateway for Large-scale Astronomy Data Analysis AstroPortal: A Science Gateway for Large-scale Astronomy Data Analysis Ioan Raicu Distributed Systems Laboratory Computer Science Department University of Chicago Joint work with: Ian Foster: Univ. of

More information

These are special traffic patterns that create more stress on a switch

These are special traffic patterns that create more stress on a switch Myths about Microbursts What are Microbursts? Microbursts are traffic patterns where traffic arrives in small bursts. While almost all network traffic is bursty to some extent, storage traffic usually

More information

GPU Acceleration of Cutoff Pair Potentials for Molecular Modeling Applications

GPU Acceleration of Cutoff Pair Potentials for Molecular Modeling Applications GPU Acceleration of Cutoff Pair Potentials for Molecular Modeling Applications Christopher Rodrigues, David J. Hardy, John E. Stone, Klaus Schulten, Wen-Mei W. Hwu University of Illinois at Urbana-Champaign

More information

Reducing NVM Writes with Optimized Shadow Paging

Reducing NVM Writes with Optimized Shadow Paging Reducing NVM Writes with Optimized Shadow Paging Yuanjiang Ni, Jishen Zhao, Daniel Bittman, Ethan L. Miller Center for Research in Storage Systems University of California, Santa Cruz Emerging Technology

More information

Asymptotically Exact TTL-Approximations of the Cache Replacement Algorithms LRU(m) and h-lru

Asymptotically Exact TTL-Approximations of the Cache Replacement Algorithms LRU(m) and h-lru Nicolas Gast 1 / 24 Asymptotically Exact TTL-Approximations of the Cache Replacement Algorithms LRU(m) and h-lru Nicolas Gast 1, Benny Van Houdt 2 ITC 2016 September 13-15, Würzburg, Germany 1 Inria 2

More information

UMBC. At the system level, DFT includes boundary scan and analog test bus. The DFT techniques discussed focus on improving testability of SAFs.

UMBC. At the system level, DFT includes boundary scan and analog test bus. The DFT techniques discussed focus on improving testability of SAFs. Overview Design for testability(dft) makes it possible to: Assure the detection of all faults in a circuit. Reduce the cost and time associated with test development. Reduce the execution time of performing

More information

Origami: Folding Warps for Energy Efficient GPUs

Origami: Folding Warps for Energy Efficient GPUs Origami: Folding Warps for Energy Efficient GPUs Mohammad Abdel-Majeed*, Daniel Wong, Justin Huang and Murali Annavaram* * University of Southern alifornia University of alifornia, Riverside Stanford University

More information

ECE 3401 Lecture 23. Pipeline Design. State Table for 2-Cycle Instructions. Control Unit. ISA: Instruction Specifications (for reference)

ECE 3401 Lecture 23. Pipeline Design. State Table for 2-Cycle Instructions. Control Unit. ISA: Instruction Specifications (for reference) ECE 3401 Lecture 23 Pipeline Design Control State Register Combinational Control Logic New/ Modified Control Word ISA: Instruction Specifications (for reference) P C P C + 1 I N F I R M [ P C ] E X 0 PC

More information

Scalable Store-Load Forwarding via Store Queue Index Prediction

Scalable Store-Load Forwarding via Store Queue Index Prediction Scalable Store-Load Forwarding via Store Queue Index Prediction Tingting Sha, Milo M.K. Martin, Amir Roth University of Pennsylvania {shatingt, milom, amir}@cis.upenn.edu addr addr addr (CAM) predictor

More information

CS 700: Quantitative Methods & Experimental Design in Computer Science

CS 700: Quantitative Methods & Experimental Design in Computer Science CS 700: Quantitative Methods & Experimental Design in Computer Science Sanjeev Setia Dept of Computer Science George Mason University Logistics Grade: 35% project, 25% Homework assignments 20% midterm,

More information

Instruction Set Extensions for Reed-Solomon Encoding and Decoding

Instruction Set Extensions for Reed-Solomon Encoding and Decoding Instruction Set Extensions for Reed-Solomon Encoding and Decoding Suman Mamidi and Michael J Schulte Dept of ECE University of Wisconsin-Madison {mamidi, schulte}@caewiscedu http://mesaecewiscedu Daniel

More information

A Novel Meta Predictor Design for Hybrid Branch Prediction

A Novel Meta Predictor Design for Hybrid Branch Prediction A Novel Meta Predictor Design for Hybrid Branch Prediction YOUNG JUNG AHN, DAE YON HWANG, YONG SUK LEE, JIN-YOUNG CHOI AND GYUNGHO LEE The Dept. of Computer Science & Engineering Korea University Anam-dong

More information

Prioritized Garbage Collection Using the Garbage Collector to Support Caching

Prioritized Garbage Collection Using the Garbage Collector to Support Caching Prioritized Garbage Collection Using the Garbage Collector to Support Caching Diogenes Nunez, Samuel Z. Guyer, Emery D. Berger Tufts University, University of Massachusetts Amherst November 2, 2016 D.

More information

Causal Consistency for Geo-Replicated Cloud Storage under Partial Replication

Causal Consistency for Geo-Replicated Cloud Storage under Partial Replication Causal Consistency for Geo-Replicated Cloud Storage under Partial Replication Min Shen, Ajay D. Kshemkalyani, TaYuan Hsu University of Illinois at Chicago Min Shen, Ajay D. Kshemkalyani, TaYuan Causal

More information

LRADNN: High-Throughput and Energy- Efficient Deep Neural Network Accelerator using Low Rank Approximation

LRADNN: High-Throughput and Energy- Efficient Deep Neural Network Accelerator using Low Rank Approximation LRADNN: High-Throughput and Energy- Efficient Deep Neural Network Accelerator using Low Rank Approximation Jingyang Zhu 1, Zhiliang Qian 2, and Chi-Ying Tsui 1 1 The Hong Kong University of Science and

More information

INF2270 Spring Philipp Häfliger. Lecture 8: Superscalar CPUs, Course Summary/Repetition (1/2)

INF2270 Spring Philipp Häfliger. Lecture 8: Superscalar CPUs, Course Summary/Repetition (1/2) INF2270 Spring 2010 Philipp Häfliger Summary/Repetition (1/2) content From Scalar to Superscalar Lecture Summary and Brief Repetition Binary numbers Boolean Algebra Combinational Logic Circuits Encoder/Decoder

More information

Introduction to Randomized Algorithms III

Introduction to Randomized Algorithms III Introduction to Randomized Algorithms III Joaquim Madeira Version 0.1 November 2017 U. Aveiro, November 2017 1 Overview Probabilistic counters Counting with probability 1 / 2 Counting with probability

More information

CSCI-564 Advanced Computer Architecture

CSCI-564 Advanced Computer Architecture CSCI-564 Advanced Computer Architecture Lecture 8: Handling Exceptions and Interrupts / Superscalar Bo Wu Colorado School of Mines Branch Delay Slots (expose control hazard to software) Change the ISA

More information

TDDI04, K. Arvidsson, IDA, Linköpings universitet CPU Scheduling. Overview: CPU Scheduling. [SGG7] Chapter 5. Basic Concepts.

TDDI04, K. Arvidsson, IDA, Linköpings universitet CPU Scheduling. Overview: CPU Scheduling. [SGG7] Chapter 5. Basic Concepts. TDDI4 Concurrent Programming, Operating Systems, and Real-time Operating Systems CPU Scheduling Overview: CPU Scheduling CPU bursts and I/O bursts Scheduling Criteria Scheduling Algorithms Multiprocessor

More information

Unit 6: Branch Prediction

Unit 6: Branch Prediction CIS 501: Computer Architecture Unit 6: Branch Prediction Slides developed by Joe Devie/, Milo Mar4n & Amir Roth at Upenn with sources that included University of Wisconsin slides by Mark Hill, Guri Sohi,

More information

/ : Computer Architecture and Design

/ : Computer Architecture and Design 16.482 / 16.561: Computer Architecture and Design Summer 2015 Homework #5 Solution 1. Dynamic scheduling (30 points) Given the loop below: DADDI R3, R0, #4 outer: DADDI R2, R1, #32 inner: L.D F0, 0(R1)

More information

Exact Analysis of TTL Cache Networks

Exact Analysis of TTL Cache Networks Exact Analysis of TTL Cache Networks Daniel S. Berger, Philipp Gland, Sahil Singla, and Florin Ciucu IFIP WG 7.3 Performance October 7, 2014 Classes of Caching Classes of Caches capacity-driven eviction

More information

Design for Testability

Design for Testability Design for Testability Outline Ad Hoc Design for Testability Techniques Method of test points Multiplexing and demultiplexing of test points Time sharing of I/O for normal working and testing modes Partitioning

More information

Module 9: "Introduction to Shared Memory Multiprocessors" Lecture 17: "Introduction to Cache Coherence Protocols" Invalidation vs.

Module 9: Introduction to Shared Memory Multiprocessors Lecture 17: Introduction to Cache Coherence Protocols Invalidation vs. Invalidation vs. Update Sharing patterns Migratory hand-off States of a cache line Stores MSI protocol MSI example MESI protocol MESI example MOESI protocol Hybrid inval+update file:///e /parallel_com_arch/lecture17/17_1.htm[6/13/2012

More information

Design for Testability

Design for Testability Design for Testability Outline Ad Hoc Design for Testability Techniques Method of test points Multiplexing and demultiplexing of test points Time sharing of I/O for normal working and testing modes Partitioning

More information

Lecture and notes by: Alessio Guerrieri and Wei Jin Bloom filters and Hashing

Lecture and notes by: Alessio Guerrieri and Wei Jin Bloom filters and Hashing Bloom filters and Hashing 1 Introduction The Bloom filter, conceived by Burton H. Bloom in 1970, is a space-efficient probabilistic data structure that is used to test whether an element is a member of

More information

DMP. Deterministic Shared Memory Multiprocessing. Presenter: Wu, Weiyi Yale University

DMP. Deterministic Shared Memory Multiprocessing. Presenter: Wu, Weiyi Yale University DMP Deterministic Shared Memory Multiprocessing 1 Presenter: Wu, Weiyi Yale University Outline What is determinism? How to make execution deterministic? What s the overhead of determinism? 2 What Is Determinism?

More information

Digital Integrated Circuits Lecture 14: CAMs, ROMs, and PLAs

Digital Integrated Circuits Lecture 14: CAMs, ROMs, and PLAs Digital Integrated Circuits Lecture 4: CAMs, ROMs, and PLAs Chih-Wei Liu VLSI Signal Processing LAB National Chiao Tung University cwliu@twins.ee.nctu.edu.tw DIC-Lec4 cwliu@twins.ee.nctu.edu.tw Outline

More information

Algorithms and Data Structures

Algorithms and Data Structures Algorithms and Data Structures, Divide and Conquer Albert-Ludwigs-Universität Freiburg Prof. Dr. Rolf Backofen Bioinformatics Group / Department of Computer Science Algorithms and Data Structures, December

More information

416 Distributed Systems

416 Distributed Systems 416 Distributed Systems RAID, Feb 26 2018 Thanks to Greg Ganger and Remzi Arapaci-Dusseau for slides Outline Using multiple disks Why have multiple disks? problem and approaches RAID levels and performance

More information

Enhancing the Sniper Simulator with Thermal Measurement

Enhancing the Sniper Simulator with Thermal Measurement Proceedings of the 18th International Conference on System Theory, Control and Computing, Sinaia, Romania, October 17-19, 214 Enhancing the Sniper Simulator with Thermal Measurement Adrian Florea, Claudiu

More information

Leveraging Transactional Memory for a Predictable Execution of Applications Composed of Hard Real-Time and Best-Effort Tasks

Leveraging Transactional Memory for a Predictable Execution of Applications Composed of Hard Real-Time and Best-Effort Tasks Leveraging Transactional Memory for a Predictable Execution of Applications Composed of Hard Real-Time and Best-Effort Tasks Stefan Metzlaff, Sebastian Weis, and Theo Ungerer Department of Computer Science,

More information

Non-Preemptive and Limited Preemptive Scheduling. LS 12, TU Dortmund

Non-Preemptive and Limited Preemptive Scheduling. LS 12, TU Dortmund Non-Preemptive and Limited Preemptive Scheduling LS 12, TU Dortmund 09 May 2017 (LS 12, TU Dortmund) 1 / 31 Outline Non-Preemptive Scheduling A General View Exact Schedulability Test Pessimistic Schedulability

More information

Module 9: Addendum to Module 6: Shared Memory Multiprocessors Lecture 18: Sharing Patterns and Cache Coherence Protocols. The Lecture Contains:

Module 9: Addendum to Module 6: Shared Memory Multiprocessors Lecture 18: Sharing Patterns and Cache Coherence Protocols. The Lecture Contains: The Lecture Contains: Invalidation vs. Update Sharing Patterns Migratory Hand-off States of a Cache Line Stores MSI Protocol State Transition MSI Example MESI Protocol MESI Example MOESI Protocol MOSI

More information

ECE 571 Advanced Microprocessor-Based Design Lecture 9

ECE 571 Advanced Microprocessor-Based Design Lecture 9 ECE 571 Advanced Microprocessor-Based Design Lecture 9 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 20 February 2018 Announcements HW#4 was posted. About branch predictors Don

More information

EE382 Processor Design Winter 1999 Chapter 2 Lectures Clocking and Pipelining

EE382 Processor Design Winter 1999 Chapter 2 Lectures Clocking and Pipelining Slide 1 EE382 Processor Design Winter 1999 Chapter 2 Lectures Clocking and Pipelining Slide 2 Topics Clocking Clock Parameters Latch Types Requirements for reliable clocking Pipelining Optimal pipelining

More information

Distributed Computing. Synchronization. Dr. Yingwu Zhu

Distributed Computing. Synchronization. Dr. Yingwu Zhu Distributed Computing Synchronization Dr. Yingwu Zhu Topics to Discuss Physical Clocks Logical Clocks: Lamport Clocks Classic paper: Time, Clocks, and the Ordering of Events in a Distributed System Lamport

More information

CS-206 Concurrency. Lecture 13. Wrap Up. Spring 2015 Prof. Babak Falsafi parsa.epfl.ch/courses/cs206/

CS-206 Concurrency. Lecture 13. Wrap Up. Spring 2015 Prof. Babak Falsafi parsa.epfl.ch/courses/cs206/ CS-206 Concurrency Lecture 13 Wrap Up Spring 2015 Prof. Babak Falsafi parsa.epfl.ch/courses/cs206/ Created by Nooshin Mirzadeh, Georgios Psaropoulos and Babak Falsafi EPFL Copyright 2015 EPFL CS-206 Spring

More information

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University Che-Wei Chang chewei@mail.cgu.edu.tw Department of Computer Science and Information Engineering, Chang Gung University } 2017/11/15 Midterm } 2017/11/22 Final Project Announcement 2 1. Introduction 2.

More information

Issue = Select + Wakeup. Out-of-order Pipeline. Issue. Issue = Select + Wakeup. OOO execution (2-wide) OOO execution (2-wide)

Issue = Select + Wakeup. Out-of-order Pipeline. Issue. Issue = Select + Wakeup. OOO execution (2-wide) OOO execution (2-wide) Out-of-order Pipeline Buffer of instructions Issue = Select + Wakeup Select N oldest, read instructions N=, xor N=, xor and sub Note: ma have execution resource constraints: i.e., load/store/fp Fetch Decode

More information

Timing analysis and timing predictability

Timing analysis and timing predictability Timing analysis and timing predictability Caches in WCET Analysis Reinhard Wilhelm 1 Jan Reineke 2 1 Saarland University, Saarbrücken, Germany 2 University of California, Berkeley, USA ArtistDesign Summer

More information

BeiHang Short Course, Part 7: HW Acceleration: It s about Performance, Energy and Power

BeiHang Short Course, Part 7: HW Acceleration: It s about Performance, Energy and Power BeiHang Short Course, Part 7: HW Acceleration: It s about Performance, Energy and Power James C. Hoe Department of ECE Carnegie Mellon niversity Eric S. Chung, et al., Single chip Heterogeneous Computing:

More information

Pattern History Table. Global History Register. Pattern History Table. Branch History Pattern Pattern History Bits

Pattern History Table. Global History Register. Pattern History Table. Branch History Pattern Pattern History Bits An Enhanced Two-Level Adaptive Multiple Branch Prediction for Superscalar Processors Jong-bok Lee, Soo-Mook Moon and Wonyong Sung fjblee@mpeg,smoon@altair,wysung@dspg.snu.ac.kr School of Electrical Engineering,

More information

Embedded Systems 23 BF - ES

Embedded Systems 23 BF - ES Embedded Systems 23-1 - Measurement vs. Analysis REVIEW Probability Best Case Execution Time Unsafe: Execution Time Measurement Worst Case Execution Time Upper bound Execution Time typically huge variations

More information

CHAPTER 5 - PROCESS SCHEDULING

CHAPTER 5 - PROCESS SCHEDULING CHAPTER 5 - PROCESS SCHEDULING OBJECTIVES To introduce CPU scheduling, which is the basis for multiprogrammed operating systems To describe various CPU-scheduling algorithms To discuss evaluation criteria

More information

Árpád Gellért Lucian N. Vinţan Adrian Florea. A Systematic Approach to Predict Unbiased Branches

Árpád Gellért Lucian N. Vinţan Adrian Florea. A Systematic Approach to Predict Unbiased Branches Árpád Gellért Lucian N. Vinţan Adrian Florea A Systematic Approach to Predict Unbiased Branches Lucian Blaga University Press Sibiu 2007 Tiparul executat la: Compartimentul de Multiplicare al Editurii

More information

Complete Faceting. code4lib, Feb Toke Eskildsen Mikkel Kamstrup Erlandsen

Complete Faceting. code4lib, Feb Toke Eskildsen Mikkel Kamstrup Erlandsen Complete Faceting code4lib, Feb. 2009 Toke Eskildsen te@statsbiblioteket.dk Mikkel Kamstrup Erlandsen mke@statsbiblioteket.dk Battle Plan Terminology (geek level: 1) History (geek level: 3) Data Structures

More information

Lecture 25. Dealing with Interconnect and Timing. Digital Integrated Circuits Interconnect

Lecture 25. Dealing with Interconnect and Timing. Digital Integrated Circuits Interconnect Lecture 25 Dealing with Interconnect and Timing Administrivia Projects will be graded by next week Project phase 3 will be announced next Tu.» Will be homework-like» Report will be combined poster Today

More information

Branch Prediction using Advanced Neural Methods

Branch Prediction using Advanced Neural Methods Branch Prediction using Advanced Neural Methods Sunghoon Kim Department of Mechanical Engineering University of California, Berkeley shkim@newton.berkeley.edu Abstract Among the hardware techniques, two-level

More information

Parallel Numerics. Scope: Revise standard numerical methods considering parallel computations!

Parallel Numerics. Scope: Revise standard numerical methods considering parallel computations! Parallel Numerics Scope: Revise standard numerical methods considering parallel computations! Required knowledge: Numerics Parallel Programming Graphs Literature: Dongarra, Du, Sorensen, van der Vorst:

More information

A General-Purpose Counting Filter: Making Every Bit Count. Prashant Pandey, Michael A. Bender, Rob Johnson, Rob Patro Stony Brook University, NY

A General-Purpose Counting Filter: Making Every Bit Count. Prashant Pandey, Michael A. Bender, Rob Johnson, Rob Patro Stony Brook University, NY A General-Purpose Counting Filter: Making Every Bit Count Prashant Pandey, Michael A. Bender, Rob Johnson, Rob Patro Stony Brook University, NY Approximate Membership Query (AMQ) insert(x) ismember(x)

More information

Caches in WCET Analysis

Caches in WCET Analysis Caches in WCET Analysis Jan Reineke Department of Computer Science Saarland University Saarbrücken, Germany ARTIST Summer School in Europe 2009 Autrans, France September 7-11, 2009 Jan Reineke Caches in

More information

Impact of traffic mix on caching performance

Impact of traffic mix on caching performance Impact of traffic mix on caching performance Jim Roberts, INRIA/RAP joint work with Christine Fricker, Philippe Robert, Nada Sbihi BCAM, 27 June 2012 A content-centric future Internet most Internet traffic

More information

Lecture 13: Sequential Circuits, FSM

Lecture 13: Sequential Circuits, FSM Lecture 13: Sequential Circuits, FSM Today s topics: Sequential circuits Finite state machines 1 Clocks A microprocessor is composed of many different circuits that are operating simultaneously if each

More information

416 Distributed Systems. Time Synchronization (Part 2: Lamport and vector clocks) Jan 27, 2017

416 Distributed Systems. Time Synchronization (Part 2: Lamport and vector clocks) Jan 27, 2017 416 Distributed Systems Time Synchronization (Part 2: Lamport and vector clocks) Jan 27, 2017 1 Important Lessons (last lecture) Clocks on different systems will always behave differently Skew and drift

More information

AFRAMEWORK FOR STATISTICAL MODELING OF SUPERSCALAR PROCESSOR PERFORMANCE

AFRAMEWORK FOR STATISTICAL MODELING OF SUPERSCALAR PROCESSOR PERFORMANCE CARNEGIE MELLON UNIVERSITY AFRAMEWORK FOR STATISTICAL MODELING OF SUPERSCALAR PROCESSOR PERFORMANCE A DISSERTATION SUBMITTED TO THE GRADUATE SCHOOL IN PARTIAL FULFILLMENT OF THE REQUIREMENTS for the degree

More information

CMU Introduction to Computer Architecture, Spring 2015 HW 2: ISA Tradeoffs, Microprogramming and Pipelining

CMU Introduction to Computer Architecture, Spring 2015 HW 2: ISA Tradeoffs, Microprogramming and Pipelining CMU 18-447 Introduction to Computer Architecture, Spring 2015 HW 2: ISA Tradeoffs, Microprogramming and Pipelining Instructor: Prof Onur Mutlu TAs: Rachata Ausavarungnirun, Kevin Chang, Albert Cho, Jeremie

More information

CSCB63 Winter Week 11 Bloom Filters. Anna Bretscher. March 30, / 13

CSCB63 Winter Week 11 Bloom Filters. Anna Bretscher. March 30, / 13 CSCB63 Winter 2019 Week 11 Bloom Filters Anna Bretscher March 30, 2019 1 / 13 Today Bloom Filters Definition Expected Complexity Applications 2 / 13 Bloom Filters (Specification) A bloom filter is a probabilistic

More information

2.6 Complexity Theory for Map-Reduce. Star Joins 2.6. COMPLEXITY THEORY FOR MAP-REDUCE 51

2.6 Complexity Theory for Map-Reduce. Star Joins 2.6. COMPLEXITY THEORY FOR MAP-REDUCE 51 2.6. COMPLEXITY THEORY FOR MAP-REDUCE 51 Star Joins A common structure for data mining of commercial data is the star join. For example, a chain store like Walmart keeps a fact table whose tuples each

More information

Fast Path-Based Neural Branch Prediction

Fast Path-Based Neural Branch Prediction Fast Path-Based Neral Branch Prediction Daniel A. Jiménez http://camino.rtgers.ed Department of Compter Science Rtgers, The State University of New Jersey Overview The context: microarchitectre Branch

More information

Introduction to Reinforcement Learning. CMPT 882 Mar. 18

Introduction to Reinforcement Learning. CMPT 882 Mar. 18 Introduction to Reinforcement Learning CMPT 882 Mar. 18 Outline for the week Basic ideas in RL Value functions and value iteration Policy evaluation and policy improvement Model-free RL Monte-Carlo and

More information

Efficient TDM-based Arbitration for Mixed-Criticality Systems on Multi-Cores

Efficient TDM-based Arbitration for Mixed-Criticality Systems on Multi-Cores Efficient TDM-based Arbitration for Mixed-Criticality Systems on Multi-Cores Florian Brandner with Farouk Hebbache, 2 Mathieu Jan, 2 Laurent Pautet LTCI, Télécom ParisTech, Université Paris-Saclay 2 CEA

More information

FPGA Implementation of a Predictive Controller

FPGA Implementation of a Predictive Controller FPGA Implementation of a Predictive Controller SIAM Conference on Optimization 2011, Darmstadt, Germany Minisymposium on embedded optimization Juan L. Jerez, George A. Constantinides and Eric C. Kerrigan

More information

Timing analysis and predictability of architectures

Timing analysis and predictability of architectures Timing analysis and predictability of architectures Cache analysis Claire Maiza Verimag/INP 01/12/2010 Claire Maiza Synchron 2010 01/12/2010 1 / 18 Timing Analysis Frequency Analysis-guaranteed timing

More information

Performance Metrics & Architectural Adaptivity. ELEC8106/ELEC6102 Spring 2010 Hayden Kwok-Hay So

Performance Metrics & Architectural Adaptivity. ELEC8106/ELEC6102 Spring 2010 Hayden Kwok-Hay So Performance Metrics & Architectural Adaptivity ELEC8106/ELEC6102 Spring 2010 Hayden Kwok-Hay So What are the Options? Power Consumption Activity factor (amount of circuit switching) Load Capacitance (size

More information

Time, Clocks, and the Ordering of Events in a Distributed System

Time, Clocks, and the Ordering of Events in a Distributed System Time, Clocks, and the Ordering of Events in a Distributed System Motivating example: a distributed compilation service FTP server storing source files, object files, executable file stored files have timestamps,

More information

VARIUS: A Model of Process Variation and Resulting Timing Errors for Microarchitects

VARIUS: A Model of Process Variation and Resulting Timing Errors for Microarchitects VARIUS: A Model of Process Variation and Resulting Timing Errors for Microarchitects Smruti R. Sarangi, Brian Greskamp, Radu Teodorescu, Jun Nakano, Abhishekh Tiwarii and Josep Torrellas University of

More information

Lecture 23. Dealing with Interconnect. Impact of Interconnect Parasitics

Lecture 23. Dealing with Interconnect. Impact of Interconnect Parasitics Lecture 23 Dealing with Interconnect Impact of Interconnect Parasitics Reduce Reliability Affect Performance Classes of Parasitics Capacitive Resistive Inductive 1 INTERCONNECT Dealing with Capacitance

More information

CMP 338: Third Class

CMP 338: Third Class CMP 338: Third Class HW 2 solution Conversion between bases The TINY processor Abstraction and separation of concerns Circuit design big picture Moore s law and chip fabrication cost Performance What does

More information

Lecture 2: Paging and AdWords

Lecture 2: Paging and AdWords Algoritmos e Incerteza (PUC-Rio INF2979, 2017.1) Lecture 2: Paging and AdWords March 20 2017 Lecturer: Marco Molinaro Scribe: Gabriel Homsi In this class we had a brief recap of the Ski Rental Problem

More information

EXAMPLES 4/12/2018. The MIPS Pipeline. Hazard Summary. Show the pipeline diagram. Show the pipeline diagram. Pipeline Datapath and Control

EXAMPLES 4/12/2018. The MIPS Pipeline. Hazard Summary. Show the pipeline diagram. Show the pipeline diagram. Pipeline Datapath and Control The MIPS Pipeline CSCI206 - Computer Organization & Programming Pipeline Datapath and Control zybook: 11.6 Developed and maintained by the Bucknell University Computer Science Department - 2017 Hazard

More information

Dynamic Voltage and Frequency Scaling Under a Precise Energy Model Considering Variable and Fixed Components of the System Power Dissipation

Dynamic Voltage and Frequency Scaling Under a Precise Energy Model Considering Variable and Fixed Components of the System Power Dissipation Dynamic Voltage and Frequency Scaling Under a Precise Energy Model Csidering Variable and Fixed Compents of the System Power Dissipati Kihwan Choi W-bok Lee Ramakrishna Soma Massoud Pedram University of

More information

Hardware Acceleration of DNNs

Hardware Acceleration of DNNs Lecture 12: Hardware Acceleration of DNNs Visual omputing Systems Stanford S348V, Winter 2018 Hardware acceleration for DNNs Huawei Kirin NPU Google TPU: Apple Neural Engine Intel Lake rest Deep Learning

More information

Procedure Based Program Compression

Procedure Based Program Compression Procedure Based Program Compression Darko Kirovski 1, Johnson Kin 2 and William H. Mangione-Smith 2 The Departments of Computer Science 1 and Electrical Engineering 2 The University of California at Los

More information

Revisiting Memory Errors in Large-Scale Production Data Centers

Revisiting Memory Errors in Large-Scale Production Data Centers Revisiting Memory Errors in Large-Scale Production Da Centers Analysis and Modeling of New Trends from the Field Justin Meza Qiang Wu Sanjeev Kumar Onur Mutlu Overview Study of DRAM reliability: on modern

More information

COMPUTER SCIENCE TRIPOS

COMPUTER SCIENCE TRIPOS CST0.2017.2.1 COMPUTER SCIENCE TRIPOS Part IA Thursday 8 June 2017 1.30 to 4.30 COMPUTER SCIENCE Paper 2 Answer one question from each of Sections A, B and C, and two questions from Section D. Submit the

More information

Lecture: Pipelining Basics

Lecture: Pipelining Basics Lecture: Pipelining Basics Topics: Performance equations wrap-up, Basic pipelining implementation Video 1: What is pipelining? Video 2: Clocks and latches Video 3: An example 5-stage pipeline Video 4:

More information

Evaluating Overheads of Multi-bit Soft Error Protection Techniques at Hardware Level Sponsored by SRC and Freescale under SRC task number 2042

Evaluating Overheads of Multi-bit Soft Error Protection Techniques at Hardware Level Sponsored by SRC and Freescale under SRC task number 2042 Evaluating Overheads of Multi-bit Soft Error Protection Techniques at Hardware Level Sponsored by SR and Freescale under SR task number 2042 Lukasz G. Szafaryn, Kevin Skadron Department of omputer Science

More information

STOCHASTIC LOGIC Architectures for post-cmos switches

STOCHASTIC LOGIC Architectures for post-cmos switches STOCHASTIC LOGIC Architectures for post-cmos switches David S. Ricketts Electrical & Computer Carnegie Mellon University www.ece.cmu.edu/~ricketts Jehoshua (Shuki) Bruck Engineering Electrical Engineering

More information

Synchronous Logic. These must be the slings and arrows of outrageous fortune. Comp 411 Fall /18/06. L14 Synchronous Logic 1

Synchronous Logic. These must be the slings and arrows of outrageous fortune. Comp 411 Fall /18/06. L14 Synchronous Logic 1 Synchronous Logic 1) Sequential Logic 2) Synchronous Design 3) Synchronous Timing Analysis 4) Single Clock Design 5) Finite State Machines 6) Turing Machines 7) What it means to be Computable These must

More information