Presentation is loading. Please wait.

Presentation is loading. Please wait.

Analysis of Instruction-level Vulnerability to Dynamic Voltage and Temperature Variations ‡ Computer Science and Engineering, UC San Diego variability.org.

Similar presentations


Presentation on theme: "Analysis of Instruction-level Vulnerability to Dynamic Voltage and Temperature Variations ‡ Computer Science and Engineering, UC San Diego variability.org."— Presentation transcript:

1 Analysis of Instruction-level Vulnerability to Dynamic Voltage and Temperature Variations ‡ Computer Science and Engineering, UC San Diego http:// variability.org http:// mesl.ucsd.edu Abbas Rahimi ‡, Luca Benini †, Rajesh Gupta ‡ † Dipartimento di Elettronica, Informatica e Sistemistica, Università di Bologna http:// micrel.deis.unibo.it

2 Outline Dynamic variations Dynamic variability among pipeline stages Methodology and quantifying instruction- level vulnerability (ILV) Classification of instructions Adaptive clock scaling utilizing ILV Conclusion 2

3 Motivation: Increasing Dynamic Variations 3 Increasing dynamic environmental variations in ambient condition such as temperature fluctuations and supply voltage droops. Dynamic Variations contain high-frequency and low-frequency components which occur locally as well as globally across the die.

4 4 Voltage Temperature Aging Process HW  SW Compiler Instruction What will be happened for instructions when we have dynamic voltage and temperature variations? Instruction is a bridge to software side

5 Quantifying effects of operating conditions We analyze the effect of a full range of operating conditions on the performance and power of the LEON-3 ‎processor compliant with the SPARC V8 architecture. 5 Specifically, we used a temperature range of -40°C−125°C, and a voltage range of 0.72V−1.1V. Dynamic variations cause the critical path delay to increase by a factor of 6.1X. Consequently, a large conservative guard-band into the operating frequency is needed to ensure the error-free operation in presence of the dynamic variations. Critical path (ns)

6 6 Variability among pipeline stages The execute and memory parts are very sensitive to voltage and temperature variations, and also exhibit a large number of critical paths in comparison to the rest of processor. Similarly, we anticipate that the instructions that significantly exercise the execute and memory stages are likely to be more vulnerable to voltage and temperature variations  Instruction-level Vulnerability (ILV) V DD = 1.1V T= 125°C

7 7 Methodology for ISA-level Vulnerability Post-Synthesis Simulation for 32-bit RISC Leon3 Processor Voltage variation Temperature variation SPARC V8 instructions with random operands Probability of failure( PoF) for every instruction @ different (Voltage, Temperature, Frequency)  ILV to dynamic variations

8 Quantifying ILV To quantify the ILV to voltage and temperature variations, we define the probability of failure (PoF) for each instruction i – where N i is the total number of clock cycles in Monte Carlo simulation which takes to execute instruction i with random operands – Violation j indicates whether there is a violated stage at clock cycle j or not ( If any of the analyzed stages has one or more violated flip- flop at clock cycle j, we consider that stage as a violated stage at cycle j ) 8

9 9 Classification of instructions, cont. (V, T)(0.88V, -40°C)(0.88V, 0°C)(0.88V, 125°C) Cycle time (ns)1.001.021.061.081.101.121.001.021.061.101.121.041.061.081.101.161.18 Logical & Arithmetic add10000010000100000 and10000010000100000 or10000010000100000 sll10000010000100000 sra10000010000100000 srl10000010000100000 sub10000010000100000 xnor10000010000100000 xor10000010000100000 Mem load10.824000010.70700010.7960000 store10.847000010.74300010.8230000 Mul.& Div mul10.9960.0640.0270.017010.9960.0650.018010.876 0.0160.0060 div10.9910.989 0.984010.9940.9910.973010.991 0.9840 Probability of failure of ISA at 0.88V, while varying temperature 1 st 2 nd 3 rd Instructions are partitioned into three main classes: 1 st Logical & arithmetic; 2 nd Memory; 3 rd Multiply & divide. The 1st class shows an abrupt behavior when the clock cycle is slightly varied, mainly because the path distribution of the exercised part by this class is such that most of the paths have the same length, then we have a all-or-nothing effect, which implies that either all instructions within this class fail or all make it.

10 Classification of instructions Corners(0.72V, -40°C)(0.72V, 0°C)(0.72V, 125°C) Cycle time (ns)4.104.124.144.163.583.603.623.643.662.882.902.922.942.983.003.20 Logical & Arithmetic add1000100001000000 and1000100001000000 or1000100001000000 sll1000100001000000 sra1000100001000000 srl1000100001000000 sub1000100001000000 xnor1000100001000000 xor1000100001000000 Mem load10.823 01 001 0.796 0 store10.847 01 001 0.823 0 Mul.&Di v mul10.995 010.9960.9940010.9980.9970.996 0 div10.995 01 0.812010.994 0.9930.991 0 10 Probability of failure of ISA at 0.72V, while varying temperature All instruction classes act similarly across the wide range of operating conditions: as the cycle time increases gradually, the PoF becomes 0, firstly for the 1st class, then for the 2nd class, and finally for the 3rd class: PoF (3 rd Class) ≥ PoF (2 nd Class) ≥ PoF (1 st Class)

11 Adaptive clock scaling utilizing ILV 11 We define an adaptive clock cycle for each class of instructions to mitigate the conservative guard-banding, not only within a fix process corner, but also across corners. The ILV a valuable mechanism to alleviate the guard-banding: I.within a fixed corner, by acquiring the knowledge about which class of instructions is running, the processor can adapt the guard-banding accordingly. II.across every corner, processor adjusts its guard-banding by using a low-overhead variability observer. Therefore, adaptive clock scaling can decide on the clock speed of the processor at a very fine grain: just looking at the fetched instructions and keeping track of their entry into the stages of the pipeline and at the same time monitoring the current corner with a low- overhead monitoring hardware.

12 Effectiveness of Adaptive clock scaling 12 This figure shows how a procedure consists of various classes of instructions can benefit by this technique under different operating conditions: the performance improvement when processor runs a procedure only consists of specific classes, in comparison to the traditional worst-case design.

13 Conclusion The concept of instruction-level vulnerability to dynamic voltage and temperature variations is defined. Based on that, all exercised instruction in the integer pipeline of LEON-3 are partitioned into three classes for the full range of operating condition: – (i) the logical and arithmetic instructions – (ii) the memory instructions – (iii) the multiply and divide instructions. Leveraging this classification in conjunction with less intrusive variability observers, not only provides us a great opportunity to enhance processor performance by 1.1X- 5.5X, in TSMC 65nm technology. 13

14 14 Thank you! http://mesl.ucsd.edu http:// micrel.deis.unibo.it http://variability.org


Download ppt "Analysis of Instruction-level Vulnerability to Dynamic Voltage and Temperature Variations ‡ Computer Science and Engineering, UC San Diego variability.org."

Similar presentations


Ads by Google