Architectural Core Salvaging in a Multi-Core Processor for Hard-Error Tolerance

Similar documents
CSE502: Computer Architecture CSE 502: Computer Architecture

CMP 301B Computer Architecture. Appendix C

CSE502: Computer Architecture CSE 502: Computer Architecture

CSE502: Computer Architecture CSE 502: Computer Architecture

EECS 470 Lecture 5. Intro to Dynamic Scheduling (Scoreboarding) Fall 2018 Jon Beaumont

SCALCORE: DESIGNING A CORE

Department Computer Science and Engineering IIT Kanpur

Lecture Topics. Announcements. Today: Pipelined Processors (P&H ) Next: continued. Milestone #4 (due 2/23) Milestone #5 (due 3/2)

Project 5: Optimizer Jason Ansel

ΕΠΛ 605: Προχωρημένη Αρχιτεκτονική

Tomasolu s s Algorithm

Instructor: Dr. Mainak Chaudhuri. Instructor: Dr. S. K. Aggarwal. Instructor: Dr. Rajat Moona

EECS 470. Tomasulo s Algorithm. Lecture 4 Winter 2018

CS521 CSE IITG 11/23/2012

CS 110 Computer Architecture Lecture 11: Pipelining

Out-of-Order Execution. Register Renaming. Nima Honarmand

EECS 470. Lecture 9. MIPS R10000 Case Study. Fall 2018 Jon Beaumont

Using Variable-MHz Microprocessors to Efficiently Handle Uncertainty in Real-Time Systems

Dynamic Scheduling I

Overview. 1 Trends in Microprocessor Architecture. Computer architecture. Computer architecture

CMPEN 411 VLSI Digital Circuits Spring Lecture 24: Peripheral Memory Circuits

Multiple Clock and Voltage Domains for Chip Multi Processors

U. Wisconsin CS/ECE 752 Advanced Computer Architecture I

Performance Evaluation of Recently Proposed Cache Replacement Policies

ECE473 Computer Architecture and Organization. Pipeline: Introduction

Chapter 4. Pipelining Analogy. The Processor. Pipelined laundry: overlapping execution. Parallelism improves performance. Four loads: Non-stop:

CSE502: Computer Architecture CSE 502: Computer Architecture

EECS 427 Lecture 13: Leakage Power Reduction Readings: 6.4.2, CBF Ch.3. EECS 427 F09 Lecture Reminders

EECS 470 Lecture 8. P6 µarchitecture. Fall 2018 Jon Beaumont Core 2 Microarchitecture

Instruction Level Parallelism III: Dynamic Scheduling

ECE 4750 Computer Architecture, Fall 2016 T09 Advanced Processors: Superscalar Execution

Dynamic Scheduling II

NanoFabrics: : Spatial Computing Using Molecular Electronics

shangupt 2260 Hayward St. #4861, Ann Arbor, MI 48105, Ph:

OOO Execution & Precise State MIPS R10000 (R10K)

Fault Tolerance and Reliability Techniques for High-Density Random-Access Memories (Hardcover) by Kanad Chakraborty, Pinaki Mazumder

CS429: Computer Organization and Architecture

Computer Science 246. Advanced Computer Architecture. Spring 2010 Harvard University. Instructor: Prof. David Brooks

Supporting x86-64 Address Translation for 100s of GPU Lanes. Jason Power, Mark D. Hill, David A. Wood

7/11/2012. Single Cycle (Review) CSE 2021: Computer Organization. Multi-Cycle Implementation. Single Cycle with Jump. Pipelining Analogy

Fall 2015 COMP Operating Systems. Lab #7

Design Challenges in Multi-GHz Microprocessors

RISC Central Processing Unit

CS4617 Computer Architecture

Pipelined Processor Design

Enhancing System Architecture by Modelling the Flash Translation Layer

Topics. Low Power Techniques. Based on Penn State CSE477 Lecture Notes 2002 M.J. Irwin and adapted from Digital Integrated Circuits 2002 J.

Pre-Silicon Validation of Hyper-Threading Technology

Combined Circuit and Microarchitecture Techniques for Effective Soft Error Robustness in SMT Processors

Heat-and-Run: Leveraging SMT and CMP to Manage Power Density Through the Operating System

On the Rules of Low-Power Design

Precise State Recovery. Out-of-Order Pipelines

The Critical Role of Firmware and Flash Translation Layers in Solid State Drive Design

A Software Technique to Improve Yield of Processor Chips in Presence of Ultra-Leaky SRAM Cells Caused by Process Variation

UNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering. Computer Architecture ECE 568

Microarchitectural Attacks and Defenses in JavaScript

Formal Hardware Verification: Theory Meets Practice

Freeway: Maximizing MLP for Slice-Out-of-Order Execution

Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some material adapted from Hennessy & Patterson / 2003 Elsevier

Meltdown & Spectre. Side-channels considered harmful. Qualcomm Mobile Security Summit May, San Diego, CA. Moritz Lipp

PROBE: Prediction-based Optical Bandwidth Scaling for Energy-efficient NoCs

EECE 321: Computer Organiza5on

Memory-Level Parallelism Aware Fetch Policies for Simultaneous Multithreading Processors

MS Project :Trading Accuracy for Power with an Under-designed Multiplier Architecture Parag Kulkarni Adviser : Prof. Puneet Gupta Electrical Eng.

Ramon Canal NCD Master MIRI. NCD Master MIRI 1

Memory, Latches, & Registers

Lecture Topics. Announcements. Today: Memory Management (Stallings, chapter ) Next: continued. Self-Study Exercise #6. Project #4 (due 10/11)

Design as You See FIT: System-Level Soft Error Analysis of Sequential Circuits

Parallel Computing 2020: Preparing for the Post-Moore Era. Marc Snir

Lecture 12 Memory Circuits. Memory Architecture: Decoders. Semiconductor Memory Classification. Array-Structured Memory Architecture RWM NVRWM ROM

RANA: Towards Efficient Neural Acceleration with Refresh-Optimized Embedded DRAM

CS Computer Architecture Spring Lecture 04: Understanding Performance

Best Instruction Per Cycle Formula >>>CLICK HERE<<<

A Case for Opportunistic Embedded Sensing In Presence of Hardware Power Variability

ESE 570: Digital Integrated Circuits and VLSI Fundamentals

Aging-Aware Instruction Cache Design by Duty Cycle Balancing

Computer Architecture

Evolution of DSP Processors. Kartik Kariya EE, IIT Bombay

ISSCC 2001 / SESSION 11 / SRAM / 11.4

EECS150 - Digital Design Lecture 23 - Arithmetic and Logic Circuits Part 4. Outline

Performance Metrics, Amdahl s Law

Register Allocation and VDD-Gating Algorithms for Out-of-Order Architectures

Mitigating Inductive Noise in SMT Processors

Memory, Latches, & Registers

SATSim: A Superscalar Architecture Trace Simulator Using Interactive Animation

ICS312 Machine-level and Systems Programming

Interconnect-Power Dissipation in a Microprocessor

A High-Throughput Memory-Based VLC Decoder with Codeword Boundary Prediction

Problem: hazards delay instruction completion & increase the CPI. Compiler scheduling (static scheduling) reduces impact of hazards

Lecture 6: Electronics Beyond the Logic Switches Xufeng Kou School of Information Science and Technology ShanghaiTech University

Technology Timeline. Transistors ICs (General) SRAMs & DRAMs Microprocessors SPLDs CPLDs ASICs. FPGAs. The Design Warrior s Guide to.

Methodologies for Tolerating Cell and Interconnect Faults in FPGAs

Instruction Level Parallelism Part II - Scoreboard

On the Effect of Floorplanning on the Yield of Large Area Integrated Circuits

Exploring the Software Stack for Underdesigned Computing Machines Rajesh Gupta UC San Diego.

Final Report: DBmbench

DeCoR: A Delayed Commit and Rollback Mechanism for Handling Inductive Noise in Processors

Chapter 16 - Instruction-Level Parallelism and Superscalar Processors

Performance Evaluation of Multi-Threaded System vs. Chip-Multi-Processor System

Using ECC Feedback to Guide Voltage Speculation in Low-Voltage Processors

Transcription:

Architectural Core Salvaging in a Multi-Core Processor for Hard-Error Tolerance Michael D. Powell, Arijit Biswas, Shantanu Gupta, and Shubu Mukherjee SPEARS Group, Intel Massachusetts EECS, University of Michigan 1 SPEARS-FACT

Motivation Hard errors in logic are an increasing risk Errors manifest at manufacture time or in field: Manufacture: more cores, bigger die -> lower yield Field: wearout failure Large SRAMs (cache) regular, easily protected Manufacture: spare lines, field: line disable Remainder of die (cores) not as easily protected Focus on manufacture, but same applies to field How do we tolerate core defects? 2 SPEARS-FACT

Tolerating defective cores Defective core options: disable or salvage Disabling wastes entire core even for minor defect Salvaging uses redundancy to maintain correctness Salvage by using redundancy to tolerate a defect µarchitectural: use another resource in the core Architectural: use another core Architectural salvaging covers against more defects 3 SPEARS-FACT

µarchitectural salvaging: Natural method of defect-tolerance Both others and we have studied it Protects only resources w/ intra-core redundancy Small-array entry: other entries Execution logic: other logic w/ same function perceived µarch µarch salvaging area coverage limit salvaging area coverage Core area x x issue d-code fetch fp x ld/st rob 4 SPEARS-FACT 10% 90% Difficult to cover >> 10% of core area issue d-code fetch Coverage not as much as might be expected x x fp x ld/st rob

0 Architectural core salvaging Key observation In CMP, die must support all instructions, but individual cores need not support all instructions Architectural salvaging Threads can be dynamically migrated (swapped) between cores to guarantee progress 1 On demand context switch (CS) Cores with critical defects in exec. can still be used Assuming uncore hardware for context state transfer 2 0 1 2 0 4 2 3 4 3 4 3 1 5 6 7 5 6 7 5 6 7 Low overhead if defective units used infrequently 5 SPEARS-FACT

Architectural Core Salvaging Contributions Better performance than core disabling Most workloads get useful work from defective core Exploit architectural redundancy exceed limitations of µarch. redundancy Cover > portion of core w/ less invasive technique µarch salvaging: max exec-unit coverage arch salvaging: demonstrated exec-unit coverage 16% 46% 6 SPEARS-FACT

Outline Introduction Limitations of µarchitectural salvaging Architectural salvaging Methodology and performance results Conclusion 7 SPEARS-FACT

µarch salvaging: small arrays Small RAMs, CAMs occupy substantial core area Buffers, queues, regfiles: too small for spare arrays May protect using spare entries or by reducing size Covers only memory cells; not decoder, mux, sense amp memory-cell fraction decreases w/ array size Decode : 32 64-bit Reorder buffer: 96 72-bit Cache array: 64KB 2-2 entries. 4 r, 4 w entries. 8 r, 4 w way. 1 r/w (reference) 13% 87% 83% 17% 40% 60% memory cells (redundant) Support logic/wires Area truly covered can be deceptively low 8 SPEARS-FACT

µarch salvaging: execution units Many instruction classes are replicated Canonical redundancy example; superscalar hallmark But less redundancy than might be expected in IA Non-replicated instruction may share structure Instruction replication!= structure redundancy 16% of exec area µarch. redundant 16% 84% Exec-unit area Most exec area is for non-replicated instructions 9 SPEARS-FACT

µarch salvaging summary Small-array + exec coverage: ~10% of non-cache core Not enough µarch redundancy for high coverage Each structure requires its own salvaging hardware Other redundancy needed to obtain high coverage 10 SPEARS-FACT

Outline Introduction Limitations of µarchitectural salvaging Architectural salvaging Methodology and performance results Conclusion 11 SPEARS-FACT

Architectural Salvaging Other cores provide redundancy, cover defects Each core needs to know its defects If thread needs defective resource: Trap and migrate to another core O/S and user transparency APIC ID swapped between cores along with thread Migration occurs using h/w C6 power-state array (few KB) Overhead and performance If defective resource used frequently by all threads Fall back to core disabling to avoid migration thrashing Places upper bound on performance loss What is design space (# of cores) for arch. salvaging? 12 SPEARS-FACT

Core salvaging: simple perf. model 1.00 0.90 Throughput 0.80 0.70 Throughput loss 5% or less 1 core disabled (-100%) 0.60 1 core loses 25% 1 core loses 10% 0.50 # of cores 0 4 8 12 16 20 24 Salvaging makes sense for CMPs >5 cores 13 SPEARS-FACT

Arch. salvaging: targeted instructions Infrequent instructions Those used by only some applications Or used in most applications, but only a few times E.g., certain floating point & SIMD instructions Disallow salvaging critical instructions Load, store, simple int ALU, branch Defect in executing critical inst. -> disable core Structures used by only infrequent instructions are large fraction of execution-unit area Are there enough infrequent instructions? 14 SPEARS-FACT

Mean 1.0 0.8 0.6 0.4 0.2 Instruction Occurrence Fraction of non-overlapping overlapping 100K-inst. windows that do not contain an instruction class for 5 workloads i: spec int 2K f: spec fp 2K 6: spec 2006 s: server m : multimedia 0.0 i f 6 s m fp div fp mul fp rom i mul i div i shuf sishift i slow Many (large-area) instructions quite infrequent 15 SPEARS-FACT

Outline Introduction Limitations of µarchitectural salvaging Architectural salvaging Methodology and performance results Conclusion 16 SPEARS-FACT

Methodology Modeled architecture: Intel Core-2 like 8 cores; 8 MB shared last-level-cache 4-issue out-of-order Each core: 64KB i-cache, 64KB d-cache, 1MB L2 Assume 1000-cycle thread migration overhead Fall back to disabling for 150K cycles if > 2 migrations in 40K cycles Workloads: spec00, spec06, server, multimedia 17 SPEARS-FACT

Mean relative throughput 1.2 1.1 1.0 0.9 0.8 0.7 Core salvaging performance (8 core die) i: spec int 2K f: spec fp 2K 6: spec 2006 s: server m: multimedia i f 6 s m Relative to defect-free Relative to disabling 1 core fp div fp mul fp rom i mul i div si-shift i slow i,si-shuf alldiv allfp 1.5 5.1 2.1 2.5 0.0 2.2 0.3 6.2 6.9 34.7 % of execution unit area covered Average 5-7% better throughput than disabling 18 SPEARS-FACT

Architectural salvaging coverage Execution-unit case study: uarch covered @ max 16% of execution-unit area We show proof-of-concepts for arch. covering 46% Accounts for 9% of vulnerable core area vs 3% Core level: µarch covered max 10.6% of core Arch covers nearly that much in exec. units Combine exe w/ hybrid h/w salvaging (shown in paper), cover 21% of vulnerable core area 9% 12% Core area issue d-code fetch rob ld/st x x 19 SPEARS-FACT fp x

Outline Introduction Limitations of µarchitectural salvaging Architectural salvaging Methodology and performance Results Conclusion 20 SPEARS-FACT

Conclusions Hard errors in logic are an increasing risk Architectural vs µarch. core salvaging Cover > portion of core w/ less invasive technique Cover 46% of execution units vs 16% for µarch Covered exec units: 9% of vulnerable core area Apply salvaging at manufacture or in field Better performance than core disabling Core with minor defect -> nearly full performance 21 SPEARS-FACT

Architectural Core Salvaging in a Multi-Core Processor for Hard-Error Tolerance Michael D. Powell, Arijit Biswas, Shantanu Gupta, and Shubu Mukherjee SPEARS Group, Intel Massachusetts EECS, University of Michigan 22 SPEARS-FACT