microarchitectural approaches to exceeding the complexity barrier © eric rotenberg 1...
TRANSCRIPT
![Page 1: Microarchitectural Approaches to Exceeding the Complexity Barrier © Eric Rotenberg 1 Microarchitectural Approaches to Exceeding the Complexity Barrier](https://reader035.vdocuments.us/reader035/viewer/2022071806/56649d055503460f949d9015/html5/thumbnails/1.jpg)
Microarchitectural Approaches to Exceeding the Complexity Barrier© Eric Rotenberg
1
Microarchitectural Approaches to Exceeding the Complexity Barrier
Eric Rotenberg
Center for Embedded Systems Research (CESR)
Department of Electrical & Computer Engineering
North Carolina State University
www.tinker.ncsu.edu/ericro
![Page 2: Microarchitectural Approaches to Exceeding the Complexity Barrier © Eric Rotenberg 1 Microarchitectural Approaches to Exceeding the Complexity Barrier](https://reader035.vdocuments.us/reader035/viewer/2022071806/56649d055503460f949d9015/html5/thumbnails/2.jpg)
Microarchitectural Approaches to Exceeding the Complexity Barrier© Eric Rotenberg
2
Complexity Barrier(general-purpose systems)
• Deep submicron designs– Technology/circuit trends
• Billions of transistors & multi-GHz clock rates• Low voltage for power management• Risk-prone circuit techniques (e.g., dynamic logic) for
performance• Reduced design tolerances overall• Highly prone to transient faults (I.e., single-event upsets)
– Microarchitecture trends• Increasingly sophisticated techniques for exploiting instruction-
level parallelism• Functional verification becoming intractable• Highly prone to design faults (I.e., bugs)
![Page 3: Microarchitectural Approaches to Exceeding the Complexity Barrier © Eric Rotenberg 1 Microarchitectural Approaches to Exceeding the Complexity Barrier](https://reader035.vdocuments.us/reader035/viewer/2022071806/56649d055503460f949d9015/html5/thumbnails/3.jpg)
Microarchitectural Approaches to Exceeding the Complexity Barrier© Eric Rotenberg
3
processor
Time Redundancy• Conventional time redundancy
– Run program twice, compare answers– Can detect transient faults– Doubles execution time
![Page 4: Microarchitectural Approaches to Exceeding the Complexity Barrier © Eric Rotenberg 1 Microarchitectural Approaches to Exceeding the Complexity Barrier](https://reader035.vdocuments.us/reader035/viewer/2022071806/56649d055503460f949d9015/html5/thumbnails/4.jpg)
Microarchitectural Approaches to Exceeding the Complexity Barrier© Eric Rotenberg
4
Simultaneous Multithreading (SMT)
• Execute multiple programs on wide superscalar processor at same time– Single program does not fully utilize
parallelism of wide superscalar processor– Running two programs simultaneously takes
less time than running them consecutively
![Page 5: Microarchitectural Approaches to Exceeding the Complexity Barrier © Eric Rotenberg 1 Microarchitectural Approaches to Exceeding the Complexity Barrier](https://reader035.vdocuments.us/reader035/viewer/2022071806/56649d055503460f949d9015/html5/thumbnails/5.jpg)
Microarchitectural Approaches to Exceeding the Complexity Barrier© Eric Rotenberg
5
AR-SMT[Rotenberg, FTCS-29, June 1999]
• Run two copies of program at the same time, one slightly ahead of the other– Advanced stream (A-stream) passes its
control flow and data flow outcomes to redundant stream (R-stream) for checking
SMTprocessor
A-stream
R-stream
![Page 6: Microarchitectural Approaches to Exceeding the Complexity Barrier © Eric Rotenberg 1 Microarchitectural Approaches to Exceeding the Complexity Barrier](https://reader035.vdocuments.us/reader035/viewer/2022071806/56649d055503460f949d9015/html5/thumbnails/6.jpg)
Microarchitectural Approaches to Exceeding the Complexity Barrier© Eric Rotenberg
6
AR-SMT[Rotenberg99, FTCS-29]
• Higher processor utilization reduces overhead of time redundancy
• Can reduce overhead further– R-stream has oracle view of the future!– R-stream uses A-stream control flow and data flow
as 100% accurate branch/value predictions1. R-stream executes more efficiently, yielding resources back
to A-stream
2. Exploits existing prediction verification datapaths
– “Misprediction” implies transient fault occurred
![Page 7: Microarchitectural Approaches to Exceeding the Complexity Barrier © Eric Rotenberg 1 Microarchitectural Approaches to Exceeding the Complexity Barrier](https://reader035.vdocuments.us/reader035/viewer/2022071806/56649d055503460f949d9015/html5/thumbnails/7.jpg)
Microarchitectural Approaches to Exceeding the Complexity Barrier© Eric Rotenberg
7
AR-SMT Performance
0
5
10
15
20
25
30
0 1 2 3 4 5 6 7 8
number of PEs used
% o
f al
l cyc
les
A-streamR-stream
1
1.1
1.2
1.3
comp gcc go jpeg li
no
rmal
ized
exe
cuti
on
tim
e(s
ing
le t
hre
ad =
1)
4 PE8 PE
![Page 8: Microarchitectural Approaches to Exceeding the Complexity Barrier © Eric Rotenberg 1 Microarchitectural Approaches to Exceeding the Complexity Barrier](https://reader035.vdocuments.us/reader035/viewer/2022071806/56649d055503460f949d9015/html5/thumbnails/8.jpg)
Microarchitectural Approaches to Exceeding the Complexity Barrier© Eric Rotenberg
8
DIVA[Austin99, MICRO32]
• Innovative approach for dynamically detecting and recovering from design faults
• Add simple checker processor at commit stage of complex processor– Complex core passes results to checker– Checker re-executes instructions to confirm
correctness of results before committing them– Checker is simple hence verifiable– Dynamic verification relieves burden of finding all
design bugs before shipping
![Page 9: Microarchitectural Approaches to Exceeding the Complexity Barrier © Eric Rotenberg 1 Microarchitectural Approaches to Exceeding the Complexity Barrier](https://reader035.vdocuments.us/reader035/viewer/2022071806/56649d055503460f949d9015/html5/thumbnails/9.jpg)
Microarchitectural Approaches to Exceeding the Complexity Barrier© Eric Rotenberg
9
• Simple checker can keep up with complex core– Like R-stream in AR-SMT, checker not bound
by control/data dependences
DIVA[Austin99, MICRO32]
SimpleChecker
Processor
ComplexProcessor
Core
Reg. File,Memory
![Page 10: Microarchitectural Approaches to Exceeding the Complexity Barrier © Eric Rotenberg 1 Microarchitectural Approaches to Exceeding the Complexity Barrier](https://reader035.vdocuments.us/reader035/viewer/2022071806/56649d055503460f949d9015/html5/thumbnails/10.jpg)
Microarchitectural Approaches to Exceeding the Complexity Barrier© Eric Rotenberg
10
Complexity Barrier(embedded systems)
• What constrains embedded system complexity– Conventional wisdom
• Power, cost, etc.• Not unique to embedded … general-purpose and embedded
systems benefit alike from technology scaling in these respects
– Real-time constraints demand analyzability• Need safe bound on worst-case execution time (WCET)• Worst-case timing analysis tools
– Scalar in-order pipeline with caches and static branch prediction is a complexity limit
• Contemporary processors excluded– Superscalar, OOO execution, dynamic branch prediction, etc.– Unsafe because can’t statically bound WCET
![Page 11: Microarchitectural Approaches to Exceeding the Complexity Barrier © Eric Rotenberg 1 Microarchitectural Approaches to Exceeding the Complexity Barrier](https://reader035.vdocuments.us/reader035/viewer/2022071806/56649d055503460f949d9015/html5/thumbnails/11.jpg)
Microarchitectural Approaches to Exceeding the Complexity Barrier© Eric Rotenberg
11
VISA[Anantaraman et al. 03, ISCA-30]
• Virtual simple architecture (VISA)– VISA is timing specification of hypothetical simple
processor– WCET derived for task assuming VISA– Speculatively execute task on complex pipeline
• Divide task into multiple sub-tasks• Sub-tasks assigned soft deadlines (checkpoints) based on
latest allowable completion time on VISA• Safe progress on unsafe processor confirmed for as long as
checkpoints are met• If miss checkpoint, reconfigure complex pipeline to simple
operating mode that directly implements VISA
![Page 12: Microarchitectural Approaches to Exceeding the Complexity Barrier © Eric Rotenberg 1 Microarchitectural Approaches to Exceeding the Complexity Barrier](https://reader035.vdocuments.us/reader035/viewer/2022071806/56649d055503460f949d9015/html5/thumbnails/12.jpg)
Microarchitectural Approaches to Exceeding the Complexity Barrier© Eric Rotenberg
12
Virtual Simple Architecture
Complex Processorwith Simple Mode
Worst-Case Timing Analysis
EDF scheduler,DVS scheduling, etc.
VISA[Anantaraman et al. 03, ISCA-30]
• Circumvent worst-case timing analysis of complex processors by dynamically confirming behavior bounded by WCET of simpler proxy
WCET abstraction
![Page 13: Microarchitectural Approaches to Exceeding the Complexity Barrier © Eric Rotenberg 1 Microarchitectural Approaches to Exceeding the Complexity Barrier](https://reader035.vdocuments.us/reader035/viewer/2022071806/56649d055503460f949d9015/html5/thumbnails/13.jpg)
Microarchitectural Approaches to Exceeding the Complexity Barrier© Eric Rotenberg
13
Summary• Microarchitectural approaches provide
innovative alternatives for dealing with uncertainty– Theme: View any unsafe system as
speculative, provide dynamic checking and recovery from “mispredictions”
– Mispredictions• Transient faults• Design faults• WCET faults