online computing and predicting architectural vulnerability factor of microprocessor structures

26
1 Online Computing and Online Computing and Predicting Architectural Predicting Architectural Vulnerability Factor of Vulnerability Factor of Microprocessor Structures Microprocessor Structures Songjun Pan Yu Hu Xiaowei Li {pansongjun, huyu, lxw}@ict.ac.cn Key Laboratory of Computer System and Architecture, Institute of Computing Technology, Chinese Academy of Sciences Nov. 17, 2009 PRDC2009

Upload: babu

Post on 01-Feb-2016

23 views

Category:

Documents


0 download

DESCRIPTION

Online Computing and Predicting Architectural Vulnerability Factor of Microprocessor Structures. Songjun Pan Yu Hu Xiaowei Li {pansongjun, huyu, lxw}@ict.ac.cn Key Laboratory of Computer System and Architecture, I nstitute of C omputing T echnology, Chinese Academy of Sciences - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Online Computing and Predicting Architectural Vulnerability Factor of Microprocessor Structures

1111

Online Computing and Predicting Online Computing and Predicting Architectural Vulnerability Factor Architectural Vulnerability Factor

of Microprocessor Structuresof Microprocessor Structures

Songjun Pan Yu Hu Xiaowei Li{pansongjun, huyu, lxw}@ict.ac.cn

Key Laboratory of Computer System and Architecture,

Institute of Computing Technology, Chinese Academy of Sciences

Nov. 17, 2009

PRDC2009

Page 2: Online Computing and Predicting Architectural Vulnerability Factor of Microprocessor Structures

22

Outline

Background and Motivation

AVF Computing and Predicting

Experimental Results

Conclusions

PRDC2009 Nov. 17

Page 3: Online Computing and Predicting Architectural Vulnerability Factor of Microprocessor Structures

33

Soft Errors in Microprocessors

PRDC2009 Nov. 17

Soft errors– Caused by neutrons and alpha particles

Technology Scaling– Smaller transistors– Lower threshold voltage

Higher soft error rate

It is important to analyze the vulnerability of different structures to soft errors

Page 4: Online Computing and Predicting Architectural Vulnerability Factor of Microprocessor Structures

44

Reliability Analysis Method

Compute Architectural Vulnerability Factor (AVF) for different structures [Mukerjee, MICRO’03]– Reflect the vulnerability of a structure to soft errors

AVF: The probability a soft error in a structure would result in an external visible failure– AVF = 0% branch predictor– AVF ≈ 100% program counter– Higher AVF, higher vulnerable to soft errors

AVF computing is important!

PRDC2009 Nov. 17

Page 5: Online Computing and Predicting Architectural Vulnerability Factor of Microprocessor Structures

55

Offline AVF Computing MethodsOffline methods [Mukerjee, MICRO’03]– Analyze ACE bit/un-ACE bit

Sim-SODA method [Fu, Workshop of ISCA’06]– Compute AVF for different structures (IQ, ROB, register

file)– Accurate AVF result– Guide reliability estimation at early design stage

Average number of ACE bits in a cycleAVF

Total number of bits in the structure

PRDC2009 Nov. 17

Page 6: Online Computing and Predicting Architectural Vulnerability Factor of Microprocessor Structures

66

Motivation of Our WorkTraditional protection schemes (AR-SMT, SRT) for soft errors result in a high performance overhead [Mukerjee, ISCA’02]

AVF varies significantly across different workloads and individual structures [Li, DSN’05]

The AVF information can be used to guide the protection of microprocessors

PRDC2009 Nov. 17

Page 7: Online Computing and Predicting Architectural Vulnerability Factor of Microprocessor Structures

77

Online Methods Are Needed

PRDC2009 Nov. 17

Dynamically tuning, make a trade-off between reliability and performance

Offline methods are not enough

Online AVF computing methods are needed– Computing AVF during program execution

TimeActive protection scheme

AVFth

AVF AVF>AVFth AVF>AVFth

Page 8: Online Computing and Predicting Architectural Vulnerability Factor of Microprocessor Structures

88

Our Contributions

Propose an occupancy-based online AVF computing method

Predict the AVF based on history information to guide reliability design

Demonstrate the efficiency of our method

PRDC2009 Nov. 17

Page 9: Online Computing and Predicting Architectural Vulnerability Factor of Microprocessor Structures

99

Schematic Diagram

Online AVF computing and predicting architecture

Front-End…

Load/Store Queue

Issue Queue

Extra BitReorder Buffer

Extra Bit

…Register File

FU AVF Computing&

Predicting

Activated Protection

scheme

AVF>AVFth

PRDC2009 Nov. 17

Page 10: Online Computing and Predicting Architectural Vulnerability Factor of Microprocessor Structures

1010

Occupancy-based online AVF computing– The percentage of entries have been taken during a

program execution

Occupancy-based Method

Reorder Buffer Occupancy

IN

OUT

4/95/93/9

PRDC2009 Nov. 17

0/9Cycle 4Cycle 1Cycle 2Cycle 3

Page 11: Online Computing and Predicting Architectural Vulnerability Factor of Microprocessor Structures

1111

Key Observations

Efficient to get the occupancy information during program execution

Assuming the occupancy of a structure as the AVF of that structure

This method takes all the bits as ACE bits, which results in a conservative AVF

We need to further refine the AVF result

PRDC2009 Nov. 17

Page 12: Online Computing and Predicting Architectural Vulnerability Factor of Microprocessor Structures

1212

Refine AVF Computing

PRDC2009 Nov. 17

Instruction types– NOP instructions (NOP): not affect the program output– Dynamic dead instructions (DDI)

Not affect the program output, BUT

Need a long time to differentiate– ACE instructions (ACE): affect the program output

Refine AVF result– Exclude NOP instructions– Counter dynamic dead instructions as ACE

instructions

Page 13: Online Computing and Predicting Architectural Vulnerability Factor of Microprocessor Structures

1313

Our Online Computing Method

PRDC2009 Nov. 17

AVF

IN

OUT

NOP

NOP

Reorder Buffer

3/9

Flag Bit

02/9Cycle 4Cycle 1Cycle 2Cycle 3

0 3 3 2

9 4AVF

Interval

Computing AVF online at interval granularity

Page 14: Online Computing and Predicting Architectural Vulnerability Factor of Microprocessor Structures

1414

AVF Predicting

PRDC2009 Nov. 17

Activate a protection scheme when AVF > AVFth

Predicting the next interval’s AVF based on the history AVF information– Algorithm 1: last-value based– Algorithm 2: average of the latest three interval’s value

interval

Interval length: 1000 cycles

Time

latest interval

nextinterval

L1L2L3 N1

Page 15: Online Computing and Predicting Architectural Vulnerability Factor of Microprocessor Structures

1515

Overall FlowchartDecode

NOP ?

Record Occupancy

End of interval

AVF computing and predicting

FLAG=1

Cycle++

FLAG=0

PRDC2009 Nov. 17

NoYes

Yes

No

Activate Protection scheme

AVF>AVFth

AVF<AVFth

Repeat

Page 16: Online Computing and Predicting Architectural Vulnerability Factor of Microprocessor Structures

1616

Experimental Setup

Simulated machine configurations– 4 integer ALUs, 2 integer multipliers, 2 float ALUs – IQ/ROB/LSQ 20/80/64 entries– Hybrid, 4K global + 2-level 1K local + 4K choice branch

predictor– 64KB 2-way L1 data cache, 2MB direct mapped L2

cache

Workload– SPEC2000 Integer benchmark suite– Simulate 100M instructions starting from each SimPoint.

PRDC2009 Nov. 17

Page 17: Online Computing and Predicting Architectural Vulnerability Factor of Microprocessor Structures

1717

Experimental Results (1/4)

PRDC2009 Nov. 17

Online computed AVF for IQ 、 ROB, and LSQ

0

10

20

30

40

50

60

70

AV

F%

IQ_ON IQ_OFF ROB_ON

ROB_OFF LSQ_ON LSQ_OFF

Page 18: Online Computing and Predicting Architectural Vulnerability Factor of Microprocessor Structures

1818

Experimental Results (2/4)

PRDC2009 Nov. 17

AVF Results for different configurations

Different Configurations - IQ/ROB/LSQ entries– Base : 20/80/64 – 20/10/64 40/80/64 20/80/8

0

20

40

60

80

100IQ_ON IQ_OFFROB_ON ROB_OFFLSQ_ON LSQ_OFF

Config2

Config4

Config3

Page 19: Online Computing and Predicting Architectural Vulnerability Factor of Microprocessor Structures

1919

Experimental Results (3/4)

AVF results with different predicting algorithms

Algorithm 2: higher prediction accuracy

PRDC2009 Nov. 17

0 2 4 6 8 10

x 104

10

20

30

40

50

60

70

80

Time (Execution Cycles)

AV

F%

Algorithm 1Algorithm 2Sim-SODA[3]

0 2 4 6 8 10

x 104

5

10

15

20

25

Time (Execution Cycles)

AV

F%

Algorithm 1Algorithm 2Sim-SODA[3]

IQ ROB

Page 20: Online Computing and Predicting Architectural Vulnerability Factor of Microprocessor Structures

2020

Experimental Results (4/4)

AVF for IQ, ROB, and LSQ during executing crafty and gap

PRDC2009 Nov. 17

crafty gap

8.614 8.616 8.618 8.62 8.622 8.624 8.626

x 107

0

10

20

30

40

50

Time (Execution Cycles)

AV

F%

IQROBLSQ

2 2.02 2.04 2.06 2.08 2.1

x 106

0

5

10

15

20

25

30

35

Time (Execution Cycles)

AV

F%

IQROBLSQ

AVFthAVFth

Page 21: Online Computing and Predicting Architectural Vulnerability Factor of Microprocessor Structures

2121

ConclusionsWe propose an occupancy-based method to compute and predict AVF onlineOur method can compute AVF efficiently, the difference between our method and an offline method are 0.10, 0.01, and 0.039 respectivelyOur method is also independent of the microprocessor configurations.Our method combines AVF to activate protection scheme, ensuring high reliability while with less performance overhead.

PRDC2009 Nov. 17

Page 22: Online Computing and Predicting Architectural Vulnerability Factor of Microprocessor Structures

2222

Thanks!Q&A

PRDC2009 Nov. 17

Page 23: Online Computing and Predicting Architectural Vulnerability Factor of Microprocessor Structures

2323

Backup Slices

Page 24: Online Computing and Predicting Architectural Vulnerability Factor of Microprocessor Structures

2424

T = 3 ACE% = 0/4T = 2 ACE% = 1/4

Vulnerability of a structureVulnerability of a structureACE bit and un-ACE bit

T = 1 ACE% = 2/4

Average number of ACE bits in a cycleAverage number of ACE bits in a cycleTotal number of bits in the structureTotal number of bits in the structure=

T = 4 ACE% = 3/4

( 2 + 1 + 0 + 3 ) / 4( 2 + 1 + 0 + 3 ) / 4

44=

PRDC2009 Nov. 17

Page 25: Online Computing and Predicting Architectural Vulnerability Factor of Microprocessor Structures

2525

Interval length

PRDC2009 Nov. 17

Choose an appropriate interval length– Single cycle / length of the entire application

Interval length: 1000 cycles

0 2 4 6 8 10

x 104

0

20

40

60

80

100

Time(Execution Cycles)

AV

F%

200 Cycles1000 Cycles5000 Cycles

Page 26: Online Computing and Predicting Architectural Vulnerability Factor of Microprocessor Structures

2626

0%

20%

40%

60%

80%

100%

NOP

DDI

ACE

Refine AVF Computing

PRDC2009 Nov. 17

Instruction types– NOP instructions (NOP) / Dynamic dead instructions

(DDI) / ACE instructions (ACE)

NOP 10.7% DDI 15.8% ACE 73.5%