Efficient Runahead Threads Tanausú Ramírez Alex Pajuelo Oliverio J. Santana Onur Mutlu Mateo Valero
|
|
- Julian Phelps
- 6 years ago
- Views:
Transcription
1 Efficient Runahead Threads Tanausú Ramírez Alex Pajuelo Oliverio J. Santana Onur Mutlu Mateo Valero The Nineteenth International Conference on Parallel Architectures and Compilation Techniques (PACT) September, Vienna, Austria
2 Time Efficient Runahead Threads Tanausú Ramírez (UPC) 2 Introduction Simultaneous Multithreaded (SMT) processors execute multiple instructions from several threads at the same time resource sharing still hits with the memory wall Res. slots memory-intensive thread streams of long latency memory accesses holds too many resources - starves other threads of available resources - prevents their forward progress as well
3 3 Runahead Threads (RaT) Multithreaded approach of Runahead paradigm interesting way of using resources in SMT in the presence of long-latency memory instructions speculative thread runahead thread thread 1 normal thread long-latency miss time thread 2 prefetches runahead thread a runahead thread executes speculative instructions while a long-latency load is resolving follow the program path instead of being stalled overlap prefetch accesses with the main load
4 4 RaT benefits Allow memory-bound threads going speculatively in advance doing prefetching provide speedup increasing memory-level parallelism improve individual performance of this thread don t use resources free resources faster prefetches exploit MLP runahead thread Prevent memory bounded thread monopolization transform a resource hoarder thread into a lightconsumer thread shared resources can be fairly used by other threads
5 Extra instruction ratio Efficient Runahead Threads Tanausú Ramírez (UPC) 5 RaT shortcoming RaT causes extra work due to more extra executed instructions 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% more instructions more energy RaT increase ~50% power consumption ILP2 MIX2 MEM2 ILP4 MIX4 MEM4 AVG Impact on performance-energy efficiency
6 6 Proposal Improving RaT efficiency avoid inefficient cases: no prefetching useless instructions long-latency miss no LLL useless work runahead thread only useful executions that maximize the performance control the number of useless instructions executed by runahead threads RaT Our goal energy-performance balance reduce instruction without losing performance reduce power PERFORMANCE POWER
7 7 Talk outline Introduction RaT problem Proposal Efficient Runahead Threads Useful Runahead Distance Runahead Distance Prediction (RDP) Evaluation Framework Results Conclusions
8 8 Our approach Propose a mechanism to improve RaT efficiency Idea based on features of own runahead threads capture the useful lifetime of a runahead thread to exploit as much MLP as possible with the minimum number of speculative instructions long-latency miss Thread Prefetch (MLP) runahead thread Useless instructions load is resolved balance between prefetching and useless instructions
9 9 Useful Runahead Distance long-latency miss Thread LLL1 LLL2 LLL3 LLL4 Efficient runahead thread Useful Runahead distance how far thread should run ahead speculatively such that execution will be efficient By limiting the runahead execution of a thread, we generate efficient runahead threads that avoid unnecesary speculative execution and enhance runahead threads efficiency control the number of useless speculative instructions while obtaining the maximum performance for a given thread
10 10 Using useful runahead distance With the useful runahead distance we can help the processor to decide whether or not a runahead thread should be initiated on an L2- miss load eliminate useless runahead threads Thread load is resolved useless runahead thread indicate how long the runahead execution period should be when a runahead thread is initiated reduce unnecessary extra work done by useful runahead threads Useless instructions Thread load is resolved efficient runahead thread
11 11 Runahead Distance Prediction RDP operation calculate the useful runahead distances of runahead thread executions use that useful runahead distance for predicting future runahead periods caused by the same static load instruction RDP implementation use two useful runahead distances (full and last) improve reliability of the useful distance information runahead thread information is associated to its causing long-latency load store this information in a table
12 12 RDP mechanism (I) First time: no useful distance information for a load execute fully a runahead thread and compute the new useful runahead distance Ld PC1 LLL1 LLL2 LLL3 LLL4 Useful Runahead distance full runahead distance last runahead distance both full and last distances are updated with the obtained useful runahead distance
13 13 RDP mechanism (II) Next times: check whether distances are reliable No when full and last distances are very different based on a threshold: Distance Difference Threshold full last > DDT execute fully the runahead thread Ld PC1 LLL1 LLL2 new Useful Runahead distance full runahead distance last runahead distance and update both (full and last) runahead distances
14 14 RDP mechanism (III) Next times: check whether distances are reliable Yes full - last <= DDT take the last distance as useful runahead distance decide to start the runahead thread? if last < activation threshold do not start runahead thread Ld PC1 LLL1 LLL2 last runahead distance Useful Runahead distance how long executes the runahead thread else start the runahead thread executing as many instructions as last useful distance indicates
15 15 RDP mechanism (IV) Ensuring reliability of small usefull distances some loads have initial small runahead distances but useful runahead distance becomes larger later 26% of loads increase its useful runahead distance Use a simple heuristic provide an additional confidence mechanism that determine whether or not a small distance is reliable while useful runahead distance < activation threshold during N times (N=3) execute full runahead execution
16 16 Talk outline Introduction RaT problem Proposal Efficient Runahead Threads Useful Runahead Distance Runahead Distance Prediction (RDP) Evaluation Framework Results Conclusions
17 17 Framework Tools derived SMTSIM exec-driven simulator enhanced Wattch power model integrated CACTI Benchmarks Multiprogrammed workloads of 2 and 4 threads mix from SPEC 2000 benchmarks ILP,MEM,MIX Methodology FAME ensure multithreaded state continuously threads fairly represented in the final measurements
18 18 Framework SMT model with a complete resource sharing organization Processor depth Processor width Reorder buffer size INT/FP registers Processor core 10 stages 8 way (2 or 4 contexts) 64 entries per context 48 regs per context INT / FP /LS issue queues 64 / 64 / 64 INT / FP /LdSt unit 4 / 4 / 2 Hardware prefetcher Stream buffers (16) Icache Dcache L2 Cache Caches line size Main memory latency Memory subsystem 64 KB, 4-way, pipelined 64 KB, 4-way, 3 cyc latency 1 MB, 8-way, 20 cyc latency 64 bytes 300 cycles minimum
19 19 Evaluation Performance and energy-efficiency analysis throughput, hmean of thread weighted speedups extra instructions, power, ED 2 Comparison with state-of-the-art mechanisms MLP-aware Flush (MLP-Flush) MLP-aware Runahead thread (MLP-RaT) RaT + single-thread execution techniques (RaT-SET) Efficient Runahead Threads (RDP)
20 20 Performance IPC throughput and Hmean RDP preserves the performance of RaT better than other mechanisms within ~2% throughput and ~4% hmean deviation
21 Speculative instruction ratio w.r.t RaT Efficient Runahead Threads Tanausú Ramírez (UPC) 21 Extra Instructions RDP achieves the highest extra work reduction come from eliminating both useless runahead threads and useless instructions out of runahead distance 1,0 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0,0 RaT-SET MLP-RaT RDP RDP Oracle RaT ILP2 MIX2 MEM2 ILP4 MIX4 MEM4 Avg RDP : -44%
22 22 Power RDP effectively reduces the power consumption compared to RaT AVG MEM4 MIX4 ILP4 MEM2 MIX2 ILP Power (Watts) RDP: -14% RDP MLP-RaT RaT-SET RaT MLP-Flush ICOUNT
23 ED2P Ratio Efficient Runahead Threads Tanausú Ramírez (UPC) 23 Energy-efficiency Efficiency measured as energy-delay square (ED 2 ) RDP presents the best ratio (10% better) provide similar performance with RaT cause less power consumption (-14% on average) MLP-FLUSH RAT-SET MLP-RAT RDP 2,4 2,2 2,0 1,8 1,6 1,4 1,2 1,0 0,8 0,6 0,4 0,2 0,0 ILP2 MIX2 MEM2 ILP4 MIX4 MEM4 Avg ED 2 normalized to the SMT+RaT
24 #Runahead Threads (thousands) Efficient Runahead Threads Tanausú Ramírez (UPC) 24 Runahead threads behavior with RDP Controlled runahead threads distribution RDP generates small runahead threads but providing the same usefulness RDP RAT Range of runahead distances
25 25 Talk outline Introduction RaT problem Proposal Efficient Runahead Threads Useful Runahead Distance Runahead Distance Prediction (RDP) Evaluation Framework Results Conclusions
26 26 Conclusions RaT has a shortcoming increase the extra work executed due to speculative instructions efficiency performance gain vs. extra energy consumption Our approach: efficient runahead threads Useful runahead distance prediction (RDP) eliminate at a fine-grain the useless portion of runahead threads reduces extra instructions while maintaining the performance benefits of runahead threads RDP shows significant performance and ED 2 advantage over state-of-the-art techniques
27 Thank you! Efficient Runahead Threads Tanausú Ramírez Alex Pajuelo Oliverio J. Santana Onur Mutlu Mateo Valero The Nineteenth International Conference on Parallel Architectures and Compilation Techniques (PACT) September, Vienna, Austria
28 Backup Slices PACT 2010 Talk
29 29 Runahead Threads (RaT) Multithreaded approach of Runahead paradigm speculative thread runahead thread Thread 1 Thread 2 long-latency miss runahead thread time a runahead thread executes speculative instructions while a long-latency load is resolving follow the program path instead of being stalled independent execution of long-latency misses
30 x branch 1 x a x load 1 branch x x load 2 x Efficient Runahead Threads Tanausú Ramírez (UPC) 30 b x x branch 2 x x c x branch x x d x load 3 x Starting a runahead thread Thread 1 normal thread time Thread 2 normal thread load 1 runahead thread xhead Reorder buffer (ROB) When a thread is stalled by L2 cache miss turn the thread into runahead thread checkpoint architectural state retire the miss enter runahead mode (context switch is not needed)
31 31 Executing a runahead thread Thread 1 normal thread long-latency miss time Thread 2 other loads runahead thread Instructions are speculatively executed L2-miss dependent instructions are marked invalid and dropped status are tracked through the registers (INV bits) Valid instructions are executed loads are issue to memory
32 32 Executing a runahead thread Thread 1 Thread 2 normal thread long-latency miss time runahead thread INValid instructions Valid instructions Long-latency loads don t use resources free resources faster generate prefetches A runahead thread use and release faster shared resources to other threads
33 33 Finishing a runahead thread Thread 1 normal thread load is resolved checkpoint recovery time Thread 2 normal thread runahead thread Leave runahead when L2 miss resolves flush pipeline, restore state from the checkpoint and, resume to normal execution
34 Performance ( IPC ) Efficient Runahead Threads Tanausú Ramírez (UPC) 34 RaT benefit results Performance of 2-thread mix of a memorybound and ILP-bound 2,5 2 1,5 1 0,5 each thread is faster without disturbing the other threads Overall SMT processor performance is improved 0 Thd1 (MEM) Thd2 (ILP) SMT (mix) RaT (mix) single-thread performance is improved resource clogging is avoided
35 35 Evaluation Framework Methodology FAME Metrics ensure multithreaded state continuously threads fairly represented in the final measurements performance throughput sum of individual IPCs harmonic mean (hmean) performance/fairness balance energy efficiency energy-delay 2 (ED 2 ) ratio of performance and energy consumption
36 36 RDIT RDIT related data 4-way table of 1024 entries size ~ 4.5KB indexed by (PC) XORed (2-bits GHR) power 1.09 Watts based on CACTI
37 Ratio Efficient Runahead Threads Tanausú Ramírez (UPC) 37 DDT analysis Distance Difference threshold study 35% Performance Extra work 30% 25% 20% 15% 10% 5% 0% -5% -10%
38 apsi,eon apsi,gcc bzip2,vortex fma3d,gcc fma3d,mesa gcc,mgrid gzip,bzip2 gzip,vortex mgrid,galgel wupwise,gcc applpu,vortex art,gzip bzip2,mcf equake,bzip2 galgel,equake lucas,crafty mcf,eon swim,mgrid twolf,apsi wupwise,twolf applu,art art,mcf art,twolf art,vpr equake,swim mcf,twolf parser,mcf swim,mcf swim,vpr twolf,swim Efficient Runahead Threads Tanausú Ramírez (UPC) 38 Distribution of RDP decisions breakdown of runahead threads based on the RDP decisions 100% 80% 60% 40% 20% 0% not started limited full ILP2 MIX2 MEM2
Efficient Runahead Threads
Efficient Runahead Threads Tanausú Ramírez Dept. Arquitectura de Computadores Universitat Politecnica de Catalunya Barcelona, Spain tramirez@ac.upc.edu Onur Mutlu Dept. of Electrical and Computer Engineering
More informationRunahead Threads to Improve SMT Performance
Runahead Threads to Improve SMT Performance Tanausú Ramírez 1, Alex Pajuelo 1, Oliverio J. Santana 2, Mateo Valero 1,3 1 Universitat Politècnica de Catalunya, Spain. {tramirez,mpajuelo,mateo}@ac.upc.edu.
More informationTechniques for Efficient Processing in Runahead Execution Engines
Techniques for Efficient Processing in Runahead Execution Engines Onur Mutlu Hyesoon Kim Yale N. Patt Depment of Electrical and Computer Engineering University of Texas at Austin {onur,hyesoon,patt}@ece.utexas.edu
More information15-740/ Computer Architecture Lecture 14: Runahead Execution. Prof. Onur Mutlu Carnegie Mellon University Fall 2011, 10/12/2011
15-740/18-740 Computer Architecture Lecture 14: Runahead Execution Prof. Onur Mutlu Carnegie Mellon University Fall 2011, 10/12/2011 Reviews Due Today Chrysos and Emer, Memory Dependence Prediction Using
More information15-740/ Computer Architecture Lecture 10: Runahead and MLP. Prof. Onur Mutlu Carnegie Mellon University
15-740/18-740 Computer Architecture Lecture 10: Runahead and MLP Prof. Onur Mutlu Carnegie Mellon University Last Time Issues in Out-of-order execution Buffer decoupling Register alias tables Physical
More information18-447: Computer Architecture Lecture 23: Tolerating Memory Latency II. Prof. Onur Mutlu Carnegie Mellon University Spring 2012, 4/18/2012
18-447: Computer Architecture Lecture 23: Tolerating Memory Latency II Prof. Onur Mutlu Carnegie Mellon University Spring 2012, 4/18/2012 Reminder: Lab Assignments Lab Assignment 6 Implementing a more
More informationDual-Core Execution: Building A Highly Scalable Single-Thread Instruction Window
Dual-Core Execution: Building A Highly Scalable Single-Thread Instruction Window Huiyang Zhou School of Computer Science University of Central Florida New Challenges in Billion-Transistor Processor Era
More informationDynamically Controlled Resource Allocation in SMT Processors
Dynamically Controlled Resource Allocation in SMT Processors Francisco J. Cazorla, Alex Ramirez, Mateo Valero Departament d Arquitectura de Computadors Universitat Politècnica de Catalunya Jordi Girona
More information250P: Computer Systems Architecture. Lecture 9: Out-of-order execution (continued) Anton Burtsev February, 2019
250P: Computer Systems Architecture Lecture 9: Out-of-order execution (continued) Anton Burtsev February, 2019 The Alpha 21264 Out-of-Order Implementation Reorder Buffer (ROB) Branch prediction and instr
More information15-740/ Computer Architecture
15-740/18-740 Computer Architecture Lecture 16: Runahead and OoO Wrap-Up Prof. Onur Mutlu Carnegie Mellon University Fall 2011, 10/17/2011 Review Set 9 Due this Wednesday (October 19) Wilkes, Slave Memories
More information15-740/ Computer Architecture Lecture 16: Prefetching Wrap-up. Prof. Onur Mutlu Carnegie Mellon University
15-740/18-740 Computer Architecture Lecture 16: Prefetching Wrap-up Prof. Onur Mutlu Carnegie Mellon University Announcements Exam solutions online Pick up your exams Feedback forms 2 Feedback Survey Results
More informationLecture: SMT, Cache Hierarchies. Topics: memory dependence wrap-up, SMT processors, cache access basics (Sections B.1-B.3, 2.1)
Lecture: SMT, Cache Hierarchies Topics: memory dependence wrap-up, SMT processors, cache access basics (Sections B.1-B.3, 2.1) 1 Problem 3 Consider the following LSQ and when operands are available. Estimate
More informationLecture: SMT, Cache Hierarchies. Topics: memory dependence wrap-up, SMT processors, cache access basics and innovations (Sections B.1-B.3, 2.
Lecture: SMT, Cache Hierarchies Topics: memory dependence wrap-up, SMT processors, cache access basics and innovations (Sections B.1-B.3, 2.1) 1 Problem 0 Consider the following LSQ and when operands are
More informationLecture 16: Checkpointed Processors. Department of Electrical Engineering Stanford University
Lecture 16: Checkpointed Processors Department of Electrical Engineering Stanford University http://eeclass.stanford.edu/ee382a Lecture 18-1 Announcements Reading for today: class notes Your main focus:
More informationLecture: SMT, Cache Hierarchies. Topics: memory dependence wrap-up, SMT processors, cache access basics and innovations (Sections B.1-B.3, 2.
Lecture: SMT, Cache Hierarchies Topics: memory dependence wrap-up, SMT processors, cache access basics and innovations (Sections B.1-B.3, 2.1) 1 Problem 1 Consider the following LSQ and when operands are
More information15-740/ Computer Architecture Lecture 28: Prefetching III and Control Flow. Prof. Onur Mutlu Carnegie Mellon University Fall 2011, 11/28/11
15-740/18-740 Computer Architecture Lecture 28: Prefetching III and Control Flow Prof. Onur Mutlu Carnegie Mellon University Fall 2011, 11/28/11 Announcements for This Week December 2: Midterm II Comprehensive
More informationChapter 03. Authors: John Hennessy & David Patterson. Copyright 2011, Elsevier Inc. All rights Reserved. 1
Chapter 03 Authors: John Hennessy & David Patterson Copyright 2011, Elsevier Inc. All rights Reserved. 1 Figure 3.3 Comparison of 2-bit predictors. A noncorrelating predictor for 4096 bits is first, followed
More informationBeyond ILP II: SMT and variants. 1 Simultaneous MT: D. Tullsen, S. Eggers, and H. Levy
EE482: Advanced Computer Organization Lecture #13 Processor Architecture Stanford University Handout Date??? Beyond ILP II: SMT and variants Lecture #13: Wednesday, 10 May 2000 Lecturer: Anamaya Sullery
More informationPerformance-Aware Speculation Control Using Wrong Path Usefulness Prediction. Chang Joo Lee Hyesoon Kim Onur Mutlu Yale N. Patt
Performance-Aware Speculation Control Using Wrong Path Usefulness Prediction Chang Joo Lee Hyesoon Kim Onur Mutlu Yale N. Patt High Performance Systems Group Department of Electrical and Computer Engineering
More informationMultithreaded Processors. Department of Electrical Engineering Stanford University
Lecture 12: Multithreaded Processors Department of Electrical Engineering Stanford University http://eeclass.stanford.edu/ee382a Lecture 12-1 The Big Picture Previous lectures: Core design for single-thread
More informationUG4 Honours project selection: Talk to Vijay or Boris if interested in computer architecture projects
Announcements UG4 Honours project selection: Talk to Vijay or Boris if interested in computer architecture projects Inf3 Computer Architecture - 2017-2018 1 Last time: Tomasulo s Algorithm Inf3 Computer
More informationStaged Memory Scheduling
Staged Memory Scheduling Rachata Ausavarungnirun, Kevin Chang, Lavanya Subramanian, Gabriel H. Loh*, Onur Mutlu Carnegie Mellon University, *AMD Research June 12 th 2012 Executive Summary Observation:
More informationExploitation of instruction level parallelism
Exploitation of instruction level parallelism Computer Architecture J. Daniel García Sánchez (coordinator) David Expósito Singh Francisco Javier García Blas ARCOS Group Computer Science and Engineering
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 informationHardware-Based Speculation
Hardware-Based Speculation Execute instructions along predicted execution paths but only commit the results if prediction was correct Instruction commit: allowing an instruction to update the register
More informationBeyond ILP. Hemanth M Bharathan Balaji. Hemanth M & Bharathan Balaji
Beyond ILP Hemanth M Bharathan Balaji Multiscalar Processors Gurindar S Sohi Scott E Breach T N Vijaykumar Control Flow Graph (CFG) Each node is a basic block in graph CFG divided into a collection of
More informationChapter 3 Instruction-Level Parallelism and its Exploitation (Part 5)
Chapter 3 Instruction-Level Parallelism and its Exploitation (Part 5) ILP vs. Parallel Computers Dynamic Scheduling (Section 3.4, 3.5) Dynamic Branch Prediction (Section 3.3, 3.9, and Appendix C) Hardware
More informationMultithreaded Value Prediction
Multithreaded Value Prediction N. Tuck and D.M. Tullesn HPCA-11 2005 CMPE 382/510 Review Presentation Peter Giese 30 November 2005 Outline Motivation Multithreaded & Value Prediction Architectures Single
More informationFiltered Runahead Execution with a Runahead Buffer
Filtered Runahead Execution with a Runahead Buffer ABSTRACT Milad Hashemi The University of Texas at Austin miladhashemi@utexas.edu Runahead execution dynamically expands the instruction window of an out
More informationZSIM: FAST AND ACCURATE MICROARCHITECTURAL SIMULATION OF THOUSAND-CORE SYSTEMS
ZSIM: FAST AND ACCURATE MICROARCHITECTURAL SIMULATION OF THOUSAND-CORE SYSTEMS DANIEL SANCHEZ MIT CHRISTOS KOZYRAKIS STANFORD ISCA-40 JUNE 27, 2013 Introduction 2 Current detailed simulators are slow (~200
More informationLecture 11: SMT and Caching Basics. Today: SMT, cache access basics (Sections 3.5, 5.1)
Lecture 11: SMT and Caching Basics Today: SMT, cache access basics (Sections 3.5, 5.1) 1 Thread-Level Parallelism Motivation: a single thread leaves a processor under-utilized for most of the time by doubling
More informationLecture: SMT, Cache Hierarchies. Topics: SMT processors, cache access basics and innovations (Sections B.1-B.3, 2.1)
Lecture: SMT, Cache Hierarchies Topics: SMT processors, cache access basics and innovations (Sections B.1-B.3, 2.1) 1 Thread-Level Parallelism Motivation: a single thread leaves a processor under-utilized
More informationFall 2012 Parallel Computer Architecture Lecture 15: Speculation I. Prof. Onur Mutlu Carnegie Mellon University 10/10/2012
18-742 Fall 2012 Parallel Computer Architecture Lecture 15: Speculation I Prof. Onur Mutlu Carnegie Mellon University 10/10/2012 Reminder: Review Assignments Was Due: Tuesday, October 9, 11:59pm. Sohi
More informationSuperscalar Organization
Superscalar Organization Nima Honarmand Instruction-Level Parallelism (ILP) Recall: Parallelism is the number of independent tasks available ILP is a measure of inter-dependencies between insns. Average
More informationZSIM: FAST AND ACCURATE MICROARCHITECTURAL SIMULATION OF THOUSAND-CORE SYSTEMS
ZSIM: FAST AND ACCURATE MICROARCHITECTURAL SIMULATION OF THOUSAND-CORE SYSTEMS DANIEL SANCHEZ MIT CHRISTOS KOZYRAKIS STANFORD ISCA-40 JUNE 27, 2013 Introduction 2 Current detailed simulators are slow (~200
More informationSoftware-Controlled Multithreading Using Informing Memory Operations
Software-Controlled Multithreading Using Informing Memory Operations Todd C. Mowry Computer Science Department University Sherwyn R. Ramkissoon Department of Electrical & Computer Engineering University
More information15-740/ Computer Architecture Lecture 5: Precise Exceptions. Prof. Onur Mutlu Carnegie Mellon University
15-740/18-740 Computer Architecture Lecture 5: Precise Exceptions Prof. Onur Mutlu Carnegie Mellon University Last Time Performance Metrics Amdahl s Law Single-cycle, multi-cycle machines Pipelining Stalls
More information15-740/ Computer Architecture Lecture 20: Main Memory II. Prof. Onur Mutlu Carnegie Mellon University
15-740/18-740 Computer Architecture Lecture 20: Main Memory II Prof. Onur Mutlu Carnegie Mellon University Today SRAM vs. DRAM Interleaving/Banking DRAM Microarchitecture Memory controller Memory buses
More informationKilo-instruction Processors, Runahead and Prefetching
Kilo-instruction Processors, Runahead and Prefetching Tanausú Ramírez 1, Alex Pajuelo 1, Oliverio J. Santana 2 and Mateo Valero 1,3 1 Departamento de Arquitectura de Computadores UPC Barcelona 2 Departamento
More informationComputer Architecture: Multithreading (IV) Prof. Onur Mutlu Carnegie Mellon University
Computer Architecture: Multithreading (IV) Prof. Onur Mutlu Carnegie Mellon University A Note on This Lecture These slides are partly from 18-742 Fall 2012, Parallel Computer Architecture, Lecture 15:
More informationEXAM 1 SOLUTIONS. Midterm Exam. ECE 741 Advanced Computer Architecture, Spring Instructor: Onur Mutlu
Midterm Exam ECE 741 Advanced Computer Architecture, Spring 2009 Instructor: Onur Mutlu TAs: Michael Papamichael, Theodoros Strigkos, Evangelos Vlachos February 25, 2009 EXAM 1 SOLUTIONS Problem Points
More informationSpeculative Lock Elision: Enabling Highly Concurrent Multithreaded Execution
Speculative Lock Elision: Enabling Highly Concurrent Multithreaded Execution Ravi Rajwar and Jim Goodman University of Wisconsin-Madison International Symposium on Microarchitecture, Dec. 2001 Funding
More informationEECS 470. Lecture 18. Simultaneous Multithreading. Fall 2018 Jon Beaumont
Lecture 18 Simultaneous Multithreading Fall 2018 Jon Beaumont http://www.eecs.umich.edu/courses/eecs470 Slides developed in part by Profs. Falsafi, Hill, Hoe, Lipasti, Martin, Roth, Shen, Smith, Sohi,
More informationTDT Coarse-Grained Multithreading. Review on ILP. Multi-threaded execution. Contents. Fine-Grained Multithreading
Review on ILP TDT 4260 Chap 5 TLP & Hierarchy What is ILP? Let the compiler find the ILP Advantages? Disadvantages? Let the HW find the ILP Advantages? Disadvantages? Contents Multi-threading Chap 3.5
More informationABSTRACT STRATEGIES FOR ENHANCING THROUGHPUT AND FAIRNESS IN SMT PROCESSORS. Chungsoo Lim, Master of Science, 2004
ABSTRACT Title of thesis: STRATEGIES FOR ENHANCING THROUGHPUT AND FAIRNESS IN SMT PROCESSORS Chungsoo Lim, Master of Science, 2004 Thesis directed by: Professor Manoj Franklin Department of Electrical
More informationLecture-13 (ROB and Multi-threading) CS422-Spring
Lecture-13 (ROB and Multi-threading) CS422-Spring 2018 Biswa@CSE-IITK Cycle 62 (Scoreboard) vs 57 in Tomasulo Instruction status: Read Exec Write Exec Write Instruction j k Issue Oper Comp Result Issue
More informationHandout 2 ILP: Part B
Handout 2 ILP: Part B Review from Last Time #1 Leverage Implicit Parallelism for Performance: Instruction Level Parallelism Loop unrolling by compiler to increase ILP Branch prediction to increase ILP
More informationPerformance and Power Impact of Issuewidth in Chip-Multiprocessor Cores
Performance and Power Impact of Issuewidth in Chip-Multiprocessor Cores Magnus Ekman Per Stenstrom Department of Computer Engineering, Department of Computer Engineering, Outline Problem statement Assumptions
More informationPerformance-Aware Speculation Control using Wrong Path Usefulness Prediction
Performance-Aware Speculation Control using Wrong Path Usefulness Prediction Chang Joo Lee Hyesoon Kim Onur Mutlu Yale N. Patt Department of Electrical and Computer Engineering The University of Texas
More informationAn Analysis of the Performance Impact of Wrong-Path Memory References on Out-of-Order and Runahead Execution Processors
An Analysis of the Performance Impact of Wrong-Path Memory References on Out-of-Order and Runahead Execution Processors Onur Mutlu Hyesoon Kim David N. Armstrong Yale N. Patt High Performance Systems Group
More informationChapter 2: Memory Hierarchy Design Part 2
Chapter 2: Memory Hierarchy Design Part 2 Introduction (Section 2.1, Appendix B) Caches Review of basics (Section 2.1, Appendix B) Advanced methods (Section 2.3) Main Memory Virtual Memory Fundamental
More informationContinuous Runahead: Transparent Hardware Acceleration for Memory Intensive Workloads
Continuous Runahead: Transparent Hardware Acceleration for Memory Intensive Workloads Milad Hashemi, Onur Mutlu, Yale N. Patt The University of Texas at Austin ETH Zürich ABSTRACT Runahead execution pre-executes
More informationLecture: Out-of-order Processors. Topics: out-of-order implementations with issue queue, register renaming, and reorder buffer, timing, LSQ
Lecture: Out-of-order Processors Topics: out-of-order implementations with issue queue, register renaming, and reorder buffer, timing, LSQ 1 An Out-of-Order Processor Implementation Reorder Buffer (ROB)
More informationComputer Architecture: Multi-Core Processors: Why? Prof. Onur Mutlu Carnegie Mellon University
Computer Architecture: Multi-Core Processors: Why? Prof. Onur Mutlu Carnegie Mellon University Moore s Law Moore, Cramming more components onto integrated circuits, Electronics, 1965. 2 3 Multi-Core Idea:
More informationReview: Creating a Parallel Program. Programming for Performance
Review: Creating a Parallel Program Can be done by programmer, compiler, run-time system or OS Steps for creating parallel program Decomposition Assignment of tasks to processes Orchestration Mapping (C)
More informationArchitectures for Instruction-Level Parallelism
Low Power VLSI System Design Lecture : Low Power Microprocessor Design Prof. R. Iris Bahar October 0, 07 The HW/SW Interface Seminar Series Jointly sponsored by Engineering and Computer Science Hardware-Software
More informationExecution-based Prediction Using Speculative Slices
Execution-based Prediction Using Speculative Slices Craig Zilles and Guri Sohi University of Wisconsin - Madison International Symposium on Computer Architecture July, 2001 The Problem Two major barriers
More informationPerformance of Multithreaded Chip Multiprocessors and Implications for Operating System Design
Performance of Multithreaded Chip Multiprocessors and Implications for Operating System Design Based on papers by: A.Fedorova, M.Seltzer, C.Small, and D.Nussbaum Pisa November 6, 2006 Multithreaded Chip
More informationParallel Processing SIMD, Vector and GPU s cont.
Parallel Processing SIMD, Vector and GPU s cont. EECS4201 Fall 2016 York University 1 Multithreading First, we start with multithreading Multithreading is used in GPU s 2 1 Thread Level Parallelism ILP
More informationComputer Architecture Lecture 24: Memory Scheduling
18-447 Computer Architecture Lecture 24: Memory Scheduling Prof. Onur Mutlu Presented by Justin Meza Carnegie Mellon University Spring 2014, 3/31/2014 Last Two Lectures Main Memory Organization and DRAM
More informationComputer Architecture Lecture 12: Out-of-Order Execution (Dynamic Instruction Scheduling)
18-447 Computer Architecture Lecture 12: Out-of-Order Execution (Dynamic Instruction Scheduling) Prof. Onur Mutlu Carnegie Mellon University Spring 2015, 2/13/2015 Agenda for Today & Next Few Lectures
More informationDCache Warn: an I-Fetch Policy to Increase SMT Efficiency
DCache Warn: an I-Fetch Policy to Increase SMT Efficiency Francisco J. Cazorla, Alex Ramirez, Mateo Valero Departament d Arquitectura de Computadors Universitat Politècnica de Catalunya Jordi Girona 1-3,
More informationSimultaneous Multithreading on Pentium 4
Hyper-Threading: Simultaneous Multithreading on Pentium 4 Presented by: Thomas Repantis trep@cs.ucr.edu CS203B-Advanced Computer Architecture, Spring 2004 p.1/32 Overview Multiple threads executing on
More informationJosé F. Martínez 1, Jose Renau 2 Michael C. Huang 3, Milos Prvulovic 2, and Josep Torrellas 2
CHERRY: CHECKPOINTED EARLY RESOURCE RECYCLING José F. Martínez 1, Jose Renau 2 Michael C. Huang 3, Milos Prvulovic 2, and Josep Torrellas 2 1 2 3 MOTIVATION Problem: Limited processor resources Goal: More
More informationronny@mit.edu www.cag.lcs.mit.edu/scale Introduction Architectures are all about exploiting the parallelism inherent to applications Performance Energy The Vector-Thread Architecture is a new approach
More informationCMSC 411 Computer Systems Architecture Lecture 13 Instruction Level Parallelism 6 (Limits to ILP & Threading)
CMSC 411 Computer Systems Architecture Lecture 13 Instruction Level Parallelism 6 (Limits to ILP & Threading) Limits to ILP Conflicting studies of amount of ILP Benchmarks» vectorized Fortran FP vs. integer
More informationAre we ready for high-mlp?
Are we ready for high-mlp?, James Tuck, Josep Torrellas Why MLP? overlapping long latency misses is a very effective way of tolerating memory latency hide latency at the cost of bandwidth 2 Motivation
More informationAchieving Out-of-Order Performance with Almost In-Order Complexity
Achieving Out-of-Order Performance with Almost In-Order Complexity Comprehensive Examination Part II By Raj Parihar Background Info: About the Paper Title Achieving Out-of-Order Performance with Almost
More informationCS377P Programming for Performance Single Thread Performance Out-of-order Superscalar Pipelines
CS377P Programming for Performance Single Thread Performance Out-of-order Superscalar Pipelines Sreepathi Pai UTCS September 14, 2015 Outline 1 Introduction 2 Out-of-order Scheduling 3 The Intel Haswell
More informationOptimizing SMT Processors for High Single-Thread Performance
University of Maryland Inistitute for Advanced Computer Studies Technical Report UMIACS-TR-2003-07 Optimizing SMT Processors for High Single-Thread Performance Gautham K. Dorai, Donald Yeung, and Seungryul
More informationLIMITS OF ILP. B649 Parallel Architectures and Programming
LIMITS OF ILP B649 Parallel Architectures and Programming A Perfect Processor Register renaming infinite number of registers hence, avoids all WAW and WAR hazards Branch prediction perfect prediction Jump
More informationEric Rotenberg Karthik Sundaramoorthy, Zach Purser
Karthik Sundaramoorthy, Zach Purser Dept. of Electrical and Computer Engineering North Carolina State University http://www.tinker.ncsu.edu/ericro ericro@ece.ncsu.edu Many means to an end Program is merely
More informationBottleneck Identification and Scheduling in Multithreaded Applications. José A. Joao M. Aater Suleman Onur Mutlu Yale N. Patt
Bottleneck Identification and Scheduling in Multithreaded Applications José A. Joao M. Aater Suleman Onur Mutlu Yale N. Patt Executive Summary Problem: Performance and scalability of multithreaded applications
More informationTwo hours - online. The exam will be taken on line. This paper version is made available as a backup
COMP 25212 Two hours - online The exam will be taken on line. This paper version is made available as a backup UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE System Architecture Date: Monday 21st
More informationSimultaneous Multithreading (SMT)
#1 Lec # 2 Fall 2003 9-10-2003 Simultaneous Multithreading (SMT) An evolutionary processor architecture originally introduced in 1995 by Dean Tullsen at the University of Washington that aims at reducing
More informationCS425 Computer Systems Architecture
CS425 Computer Systems Architecture Fall 2017 Thread Level Parallelism (TLP) CS425 - Vassilis Papaefstathiou 1 Multiple Issue CPI = CPI IDEAL + Stalls STRUC + Stalls RAW + Stalls WAR + Stalls WAW + Stalls
More information1 Tomasulo s Algorithm
Design of Digital Circuits (252-0028-00L), Spring 2018 Optional HW 4: Out-of-Order Execution, Dataflow, Branch Prediction, VLIW, and Fine-Grained Multithreading uctor: Prof. Onur Mutlu TAs: Juan Gomez
More informationOutline EEL 5764 Graduate Computer Architecture. Chapter 3 Limits to ILP and Simultaneous Multithreading. Overcoming Limits - What do we need??
Outline EEL 7 Graduate Computer Architecture Chapter 3 Limits to ILP and Simultaneous Multithreading! Limits to ILP! Thread Level Parallelism! Multithreading! Simultaneous Multithreading Ann Gordon-Ross
More informationA Low-Complexity, High-Performance Fetch Unit for Simultaneous Multithreading Processors
In Proceedings of the th International Symposium on High Performance Computer Architecture (HPCA), Madrid, February A Low-Complexity, High-Performance Fetch Unit for Simultaneous Multithreading Processors
More informationUnderstanding The Effects of Wrong-path Memory References on Processor Performance
Understanding The Effects of Wrong-path Memory References on Processor Performance Onur Mutlu Hyesoon Kim David N. Armstrong Yale N. Patt The University of Texas at Austin 2 Motivation Processors spend
More informationDynamic Speculative Precomputation
In Proceedings of the 34th International Symposium on Microarchitecture, December, 2001 Dynamic Speculative Precomputation Jamison D. Collins y, Dean M. Tullsen y, Hong Wang z, John P. Shen z y Department
More informationComputer Architecture: Multi-Core Processors: Why? Onur Mutlu & Seth Copen Goldstein Carnegie Mellon University 9/11/13
Computer Architecture: Multi-Core Processors: Why? Onur Mutlu & Seth Copen Goldstein Carnegie Mellon University 9/11/13 Moore s Law Moore, Cramming more components onto integrated circuits, Electronics,
More informationSRAMs to Memory. Memory Hierarchy. Locality. Low Power VLSI System Design Lecture 10: Low Power Memory Design
SRAMs to Memory Low Power VLSI System Design Lecture 0: Low Power Memory Design Prof. R. Iris Bahar October, 07 Last lecture focused on the SRAM cell and the D or D memory architecture built from these
More informationEECS 570 Final Exam - SOLUTIONS Winter 2015
EECS 570 Final Exam - SOLUTIONS Winter 2015 Name: unique name: Sign the honor code: I have neither given nor received aid on this exam nor observed anyone else doing so. Scores: # Points 1 / 21 2 / 32
More informationDual-Core Execution: Building a Highly Scalable Single-Thread Instruction Window
Dual-Core Execution: Building a Highly Scalable Single-Thread Instruction Window Huiyang Zhou School of Computer Science, University of Central Florida zhou@cs.ucf.edu Abstract Current integration trends
More informationLinearly Compressed Pages: A Main Memory Compression Framework with Low Complexity and Low Latency
Linearly Compressed Pages: A Main Memory Compression Framework with Low Complexity and Low Latency Gennady Pekhimenko, Vivek Seshadri, Yoongu Kim, Hongyi Xin, Onur Mutlu, Todd C. Mowry Phillip B. Gibbons,
More informationPrinciples in Computer Architecture I CSE 240A (Section ) CSE 240A Homework Three. November 18, 2008
Principles in Computer Architecture I CSE 240A (Section 631684) CSE 240A Homework Three November 18, 2008 Only Problem Set Two will be graded. Turn in only Problem Set Two before December 4, 2008, 11:00am.
More informationComputer Architecture, Fall 2010 Midterm Exam I
15740-18740 Computer Architecture, Fall 2010 Midterm Exam I Instructor: Onur Mutlu Teaching Assistants: Evangelos Vlachos, Lavanya Subramanian, Vivek Seshadri Date: October 11, 2010 Instructions: Name:
More informationAddress-Value Delta (AVD) Prediction: A Hardware Technique for Efficiently Parallelizing Dependent Cache Misses. Onur Mutlu Hyesoon Kim Yale N.
Address-Value Delta (AVD) Prediction: A Hardware Technique for Efficiently Parallelizing Dependent Cache Misses Onur Mutlu Hyesoon Kim Yale N. Patt High Performance Systems Group Department of Electrical
More informationLec 25: Parallel Processors. Announcements
Lec 25: Parallel Processors Kavita Bala CS 340, Fall 2008 Computer Science Cornell University PA 3 out Hack n Seek Announcements The goal is to have fun with it Recitations today will talk about it Pizza
More informationJIGSAW: SCALABLE SOFTWARE-DEFINED CACHES
JIGSAW: SCALABLE SOFTWARE-DEFINED CACHES NATHAN BECKMANN AND DANIEL SANCHEZ MIT CSAIL PACT 13 - EDINBURGH, SCOTLAND SEP 11, 2013 Summary NUCA is giving us more capacity, but further away 40 Applications
More informationFall 2011 Prof. Hyesoon Kim. Thanks to Prof. Loh & Prof. Prvulovic
Fall 2011 Prof. Hyesoon Kim Thanks to Prof. Loh & Prof. Prvulovic Reading: Data prefetch mechanisms, Steven P. Vanderwiel, David J. Lilja, ACM Computing Surveys, Vol. 32, Issue 2 (June 2000) If memory
More informationThread Cluster Memory Scheduling: Exploiting Differences in Memory Access Behavior. Yoongu Kim Michael Papamichael Onur Mutlu Mor Harchol-Balter
Thread Cluster Memory Scheduling: Exploiting Differences in Memory Access Behavior Yoongu Kim Michael Papamichael Onur Mutlu Mor Harchol-Balter Motivation Memory is a shared resource Core Core Core Core
More informationSimultaneous Multithreading (SMT)
Simultaneous Multithreading (SMT) An evolutionary processor architecture originally introduced in 1995 by Dean Tullsen at the University of Washington that aims at reducing resource waste in wide issue
More informationFull Datapath. Chapter 4 The Processor 2
Pipelining Full Datapath Chapter 4 The Processor 2 Datapath With Control Chapter 4 The Processor 3 Performance Issues Longest delay determines clock period Critical path: load instruction Instruction memory
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 informationCPI < 1? How? What if dynamic branch prediction is wrong? Multiple issue processors: Speculative Tomasulo Processor
1 CPI < 1? How? From Single-Issue to: AKS Scalar Processors Multiple issue processors: VLIW (Very Long Instruction Word) Superscalar processors No ISA Support Needed ISA Support Needed 2 What if dynamic
More informationCache Optimisation. sometime he thought that there must be a better way
Cache sometime he thought that there must be a better way 2 Cache 1. Reduce miss rate a) Increase block size b) Increase cache size c) Higher associativity d) compiler optimisation e) Parallelism f) prefetching
More informationAdvanced d Instruction Level Parallelism. Computer Systems Laboratory Sungkyunkwan University
Advanced d Instruction ti Level Parallelism Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu ILP Instruction-Level Parallelism (ILP) Pipelining:
More informationProcessor (IV) - advanced ILP. Hwansoo Han
Processor (IV) - advanced ILP Hwansoo Han Instruction-Level Parallelism (ILP) Pipelining: executing multiple instructions in parallel To increase ILP Deeper pipeline Less work per stage shorter clock cycle
More information