Dynamic Prediction of Dynamic Prediction of Architectural Vulnerability Architectural Vulnerability
from from Microarchitectural StateMicroarchitectural State
Kristen R. WalcottKristen R. Walcott
Masters PresentationMasters PresentationMay 2, 2007May 2, 2007
To be presented at ISCA, June 2007
http://www.cs.virginia.edu/~krw7c/avf.html
B
S D
p substrate
G
n+n+
n channel
+ - + -+ -
+ -+-
+ -+ -
+ -+ -
Neutron
Energetic Particles Attack!Energetic Particles Attack!
http://www.cs.virginia.edu/~krw7c/avf.html
Transient FaultsTransient Faults
: least amount of collected charge necessary to : least amount of collected charge necessary to produce an upsetproduce an upset
: Charge collection efficiency = (Collected : Charge collection efficiency = (Collected Charge/Generated Charge)Charge/Generated Charge)
Circuit SER = Constant * Flux * Area * e³
Q cr i tQ col l
´
Qcr i t
Qcoll
Voltage decreases -> QVoltage decreases -> Qcritcrit decreases decreases
When QWhen Qcritcrit is low enough, likelihood of is low enough, likelihood of transient faults increasetransient faults increase
http://www.cs.virginia.edu/~krw7c/avf.html
Originally considered a risk only for large memory storage
• Latches
• Combinatorial logic
• Other processor core structures
Transient Faults: Transient Faults: A Rising ProblemA Rising Problem
Processors are becoming more susceptible to transient faults
• Lowered supply voltages
• Increasing clock frequencies
1
10
100
1000
10000
100000
2003 2004 2005 2006 2007 2008 2009 2010 2011 2012
Dat
a C
orru
ptio
n FIT
FIT
1000 MTBF Goal Error Rate
http://www.cs.virginia.edu/~krw7c/avf.html
Protecting the Processor Protecting the Processor CoreCore
Parity and error-correcting codesParity and error-correcting codes– Large areaLarge area– Long delayLong delay– High power usageHigh power usage
RedundancyRedundancy– HardwareHardware– Redundant Multithreading (RMT)Redundant Multithreading (RMT)
http://www.cs.virginia.edu/~krw7c/avf.html
Redundant MultithreadingRedundant Multithreading
Successful in Successful in protectionprotection
Performance degraded:– 30% on single-threaded
workloads – 32% on multithreaded
workloads
InputReplicator
OutputComparator
Rest of the System
http://www.cs.virginia.edu/~krw7c/avf.html
Architectural VulnerabilityArchitectural Vulnerability
Is protection always needed?Is protection always needed? Architectural Vulnerability Factor Architectural Vulnerability Factor
(AVF)(AVF)– Probability that an internal fault in
the structure would result in an externally visible error
– Tracking instantaneous AVF expensive
http://www.cs.virginia.edu/~krw7c/avf.html
Why Track AVF?Why Track AVF?
If only we knew…– Balance vulnerability and
performance– Balance vulnerability and power– Control application specific RMT– Perform AVF-profiling– and probably much more!
http://www.cs.virginia.edu/~krw7c/avf.html
Main ContributionsMain Contributions
A demonstration that AVF varies over A demonstration that AVF varies over time and across SPEC2000 benchmarkstime and across SPEC2000 benchmarks
A rigorous characterization of AVF A rigorous characterization of AVF based on a thorough statistical analysisbased on a thorough statistical analysis
An a posteriori analysis of our AVF predictor quantitatively validates our approach
Proof-of-concept RMT implementation Proof-of-concept RMT implementation
http://www.cs.virginia.edu/~krw7c/avf.html
Little’s Law estimates AVF as:
: average bandwidth of the ACE bits into the structure : average residence time of ACE bits in the structure
Architectural Architectural Vulnerability FactorVulnerability Factor
The probability that a fault in a structure will result in an architecturally visible incorrect execution
Fraction of time that a bit is in a state of Architecturally Correct Execution (ACE)
AVF = (Bace) (Lace) =#B
Bace
Lace
http://www.cs.virginia.edu/~krw7c/avf.html
Past Redundancy Past Redundancy TechniquesTechniques
Hardware replication Hardware replication ((Bernick et al. 2005, Slegal et al. 1999Bernick et al. 2005, Slegal et al. 1999))
Redundant Multithreading (RMT) Redundant Multithreading (RMT) – ((Mukherjee et al. 2002, Reinhardt and Mukherjee 2000, Reis et al. Mukherjee et al. 2002, Reinhardt and Mukherjee 2000, Reis et al.
20052005))– Less hardware necessaryLess hardware necessary– Better performance by dynamically partitioning Better performance by dynamically partitioning
resourcesresources Partial RMTPartial RMT
– Reduce power consumptionReduce power consumption– Increase performanceIncrease performance
http://www.cs.virginia.edu/~krw7c/avf.html
Partial RMT Partial RMT TechniquesTechniques
Performance-Efficient RMTPerformance-Efficient RMT– Exploiting instruction reuse (Exploiting instruction reuse (Parashar et al.,Parashar et al., ISCA 2004))– Opportunistic DIE-IRB Opportunistic DIE-IRB ((Gomaa et al., ISCA 2005Gomaa et al., ISCA 2005))– Using speculation as a form of redundancy Using speculation as a form of redundancy
((Parashar et al., ASPLOS 2006))– Relaxing input replication (Relaxing input replication (Smolens et al., MICRO 2006Smolens et al., MICRO 2006))
Power-Efficient RMTPower-Efficient RMT– ((Madan and Balasubramonian SELSE 2006, Madan and Balasubramonian SELSE 2006,
Rashid et al. ISCA 2005Rashid et al. ISCA 2005))
Problem:Problem: RMT schemes are oblivious to RMT schemes are oblivious to the actual vulnerabilitythe actual vulnerability
http://www.cs.virginia.edu/~krw7c/avf.html
Experiment DesignExperiment Design
SimpleScalar 3.0SimpleScalar 3.0 Modified to track AVFModified to track AVF
– Load/Store Queue (LSQ)Load/Store Queue (LSQ)– Issue Queue (ISQ)Issue Queue (ISQ)– Reorder Buffer and Physical Register File Reorder Buffer and Physical Register File
(RUU)(RUU) Modified to perform RMTModified to perform RMT
– Based on Simultaneous and Redundantly Threaded (SRT) design
http://www.cs.virginia.edu/~krw7c/avf.html
Experiment DesignExperiment Design
26 SPEC2000 benchmarks26 SPEC2000 benchmarks
Each benchmark is run for multiple 100-million instruction SimPoints
Checkpoint the entire microarchitectural state (160 variables) and calculate AVF every 4 million instructions(25 “snapshots” per SimPoint)
http://www.cs.virginia.edu/~krw7c/avf.html
Experimental ResultsExperimental Resultsperlbmk bzip2 art
2 SimPoints measuring RUU AVF
AVF can vary significantly over time and across applications
http://www.cs.virginia.edu/~krw7c/avf.html
A single metric is likely not enough.
More sophisticated prediction mechanism needed!
Experimental ResultsExperimental Resultsperlbmk bzip2 art
RU
U
AV
FIP
C
http://www.cs.virginia.edu/~krw7c/avf.html
Detecting CorrelationsDetecting Correlations
Visual trendsVisual trends– Too many metrics to considerToo many metrics to consider– Correlation may not hold in all casesCorrelation may not hold in all cases
Principal Component AnalysisPrincipal Component Analysis Regression techniquesRegression techniques
– Linear regressionLinear regression– Quadratic regressionQuadratic regression
http://www.cs.virginia.edu/~krw7c/avf.html
Principal Component Principal Component AnalysisAnalysis
Optimal linear transformation for projecting data into a new coordinate system
Identified 69 principal components
Four components had substantially higher singular values
R2 values:– 0.61 RUU – 0.47 ISQ – 0.55 LSQ
Good results, but spanning eigenvectors
are linear combinations of the
original 160 performance variables
http://www.cs.virginia.edu/~krw7c/avf.html
Searching for Searching for CorrelationsCorrelations
Identify strong correlations between structural AVF values and a small
set of easily measurable processor metrics.
http://www.cs.virginia.edu/~krw7c/avf.html
Practical AVF Practical AVF PredictionPrediction
Regression techniques– Gives a function to predict the value of
a dependent variable Problem: Find the optimal representation of
as a weighted combination of basis functions , where each depends only on the values of a subset of the predictor variables (minimize the sum of squared errors )
yi = ¯0 + ¯1f 1i + ¯2f 2i +:::+ ¯kf ki + ²i
f1;f 2; : : :f k
ypredictor variablesresponse variable (AVF)
¯ i¯ i
y
Pi ²2
i
http://www.cs.virginia.edu/~krw7c/avf.html
Linear RegressionLinear Regression Include the single variable with the highest correlation Consider all remaining 159 variables in turn Select the best and repeat, until all variables used. Select subset for predictor
Quadratic RegressionQuadratic Regression For each pair we perform a nonlinear least-
squares fit using the basis
pairs were considered
f1,x,y,xy,x2;y2g(x,y)
µ1602
¶
= 12720
http://www.cs.virginia.edu/~krw7c/avf.html
(0.02 ) + (0.55 ) – (27.38 * ) + (2.73 (0.02 ) + (0.55 ) – (27.38 * ) + (2.73 ) )
-2.27 + (0.71 ) + (0.017 * )-2.27 + (0.71 ) + (0.017 * )
-1.07 – (5.03e-9 ) + (1.35 ) – (5.65e-9 -1.07 – (5.03e-9 ) + (1.35 ) – (5.65e-9 ) + (0.01 * ) + (5.77e-9 )) + (0.01 * ) + (5.77e-9 )
Resulting PredictorsResulting Predictors P1: Multi-variable linear predictorP1: Multi-variable linear predictor P2: Quadratic predictorP2: Quadratic predictor P3: Linear predictor whose terms are those P3: Linear predictor whose terms are those
variables with the highest individual correlation variables with the highest individual correlation to AVFto AVF
PredictPredictoror
StrucStructt
EquationEquation
P1P1 RUURUU
ISQISQ
LSQLSQ SCRcLoLc
R2
Ro
Rl Ro SB WIPC
IPB
IPB
0.93
0.74
0.94
LLccLSQ countLSQ count
LLooAvg LSQ occupancyAvg LSQ occupancy
RRccRUU countRUU count
SCSC Total # of slip cycles Total # of slip cycles (issue to retirement)(issue to retirement)
RRooRUU occupancyRUU occupancy
IPBIPB Instructions per branchInstructions per branch
RRllRUU latencyRUU latency
IPCIPC Instructions per cycleInstructions per cycle
SSBWBWTotal instructions exec.Total instructions exec.
(Speculative and (Speculative and committed)committed)
http://www.cs.virginia.edu/~krw7c/avf.html
Comparison of Comparison of PredictorsPredictors
Multivariable Linear
Quadratic Simple Linear
All 3 predictors are able to capture noisy behavior
http://www.cs.virginia.edu/~krw7c/avf.html
AVF-Aware RMTAVF-Aware RMT
Every two million cycles, estimate the AVF for LSQ, ISQ, and RUU
Add together for total AVF
If AVF > threshold, generate a processor interrupt and enable RMT
After a fixed number of cycles (10 million), disable RMT
http://www.cs.virginia.edu/~krw7c/avf.html
IPC Variations for IPC Variations for twolftwolfThreshold = AVF ValuesThreshold = AVF Values
Between 14% and 55% performance improvement
http://www.cs.virginia.edu/~krw7c/avf.html
ConclusionConclusion
AVF does vary and is correlated with the microarchitectural state
AVF can be modeled – High accuracy– Inexpensive quadratic or linear model – Based on a few easily-tracked
processor performance variables Can be used as an online predictor
http://www.cs.virginia.edu/~krw7c/avf.html
Future WorkFuture Work
Develop sophisticated toggling scheme– Adaptive AVF thresholds – Non-constant RMT window sizes
Examine tradeoffs– Performance– Power– Fault-tolerance
http://www.cs.virginia.edu/~krw7c/avf.html
Questions?Questions?
http://www.cs.virginia.edu/~krw7c/avf.html
Resulting PredictorsResulting Predictors
Var. DescriptionRc RUU countRl RUU latencyRo RUU occupancySB W Total instructions executed
(speculativeand committed)L c LSQ countL l LSQ latencyLo LSQ occupancySC Total number of \ slip" cycles
(from issueto retirement)ASC Averagenumber of slip cyclesI o IFQ occupancy
Pred. Struct. Equation R2
P1 RUU ¡ 2:27+(0:71Ro) +(0:017¤IPB) 0:93ISQ (0:20Rl) +(0:55Ro) ¡ (27:38¤IPC) +(2:73SB W ) 0:74LSQ ¡ 1:07¡ (5:03e¡ 9Lc) +(1:35Lo)¡ 0:94
(5:65e¡ 9Rc) +(0:01¤IPB)+(5:77e¡ 9SC)
P2 RUU 1:14+(0:001Rl ) ¡ (1:47e¡ 6R2l ) +(0:10¤IPC)+ 0:96
(0:73Rl ¤IPC) ¡ (0:09¤IPC2)ISQ ¡ 25:48¡ (0:02ASC) +(1:41e¡ 6ASC2)+ 0:81
(16:42¤IPC) +(0:51ASC ¤IPC)¡(3:47¤IPC2)
LSQ ¡ 1:49+(0:03L l ) ¡ (0:00003L2l ) +(2:92¤IPC)+ 0:94
(1:41L l ¤IPC) ¡ (0:80¤IPC2)P3 RUU ¡ 3:06+(0:73Ro) 0:92
ISQ ¡ 0:90¡ (4:83I o) +(0:74Lo) +(0:81Ro) 0:69LSQ ¡ 1:23+(1:41Lo) 0:90
http://www.cs.virginia.edu/~krw7c/avf.html
Comparison of Comparison of PredictorsPredictors
No one predictor No one predictor constantly does bestconstantly does best
P1 (multivariable P1 (multivariable linear predictor) gives linear predictor) gives good compromise good compromise – Cost of implementationCost of implementation– AccuracyAccuracy
http://www.cs.virginia.edu/~krw7c/avf.html
More Related WorkMore Related Work
Fu, X., Poe, J., Li, T., and Fortes, J. A. 2006. Characterizing Fu, X., Poe, J., Li, T., and Fortes, J. A. 2006. Characterizing Microarchitecture Soft Error Vulnerability Phase Behavior. In Microarchitecture Soft Error Vulnerability Phase Behavior. In Proceedings of the 14th IEEE international Symposium on Proceedings of the 14th IEEE international Symposium on Modeling, Analysis, and SimulationModeling, Analysis, and Simulation (September 11 - 14, 2006). (September 11 - 14, 2006). MASCOTS. IEEE Computer Society, Washington, DC, 147-155.MASCOTS. IEEE Computer Society, Washington, DC, 147-155.
Show that AVF varies for microarchitecture structures Show that AVF varies for microarchitecture structures over time over time and across applicationsand across applications Attempt to find correlation with 5 individual metricsAttempt to find correlation with 5 individual metrics
– Goal to link vulnerability with phase behaviorGoal to link vulnerability with phase behavior– Consider each metric by itselfConsider each metric by itself
Metrics were few in number and exhibited inconsistent Metrics were few in number and exhibited inconsistent correlation to AVF -> Gave up the idea of a predictive correlation to AVF -> Gave up the idea of a predictive approachapproach