Analysis of ISA and Instruction Sequence Vulnerability to Dynamic Voltage and Temperature Variations Abbas Rahimi‡, Luca Benini†, and Rajesh Gupta‡ ‡CSE, UC San Diego †DEIS, Università di Bologna http://mesl.ucsd.edu http://variability.org
Our Cross-layer Vision [ILV] A. Rahimi, L. Benini, R. K. Gupta, “Analysis of Instruction-level Vulnerability to Dynamic Voltage and Temperature Variations,” DATE, 2012. [SLV] A. Rahimi, L. Benini, R. K. Gupta, “Application-Adaptive Guardbanding to Mitigate Static and Dynamic Variability,” TC, 2013.
Agenda Dynamic Voltage and Temperature Variation Delay Variability Among Pipeline Stages Instruction-level Vulnerability (ILV) Sequence-level Vulnerability (SLV) Classification of Instructions Classification of Sequence of Instructions Adaptive Guardbanding Utilizing ILV and SLV Experimental Results
Increasing Dynamic Variations 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.
Quantifying Effects of Operating Conditions • We analyze the effect of a full range of operating conditions (a temperature range of -40C−125C, and a voltage range of 0.72V−1.1V) on the delay and power of LEON processor in 65nm TSMC. Critical path (ns) • Dynamic variations cause the critical path delay to increase by a factor of 6.1×. Consequently, a large conservative guardband into the operating frequency is needed to ensure the error-free operation in presence of the dynamic variations.
Delay Variability Among Pipeline Stages T= 125°C • 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) VDD= 1.1V
Methodology for ISA-level and Sequence-level Analysis • For SPARC V8 instructions (V, T, F) are varied and • ILVi is evaluated for every instructioniwith random operands • SLVi is evaluated for a high-frequent sequencei of instructions
ILV and SLV Metadata • The ILV (SLV) for each instructioni (sequencei) at every operating condition is quantified: • where Ni (Mi) is the total number of clock cycles in Monte Carlo simulation of instructioni (sequencei) with random operands. • Violationj indicates whether there is a violated stage at clock cyclej or not. • ILVi (SLVi) defines as the total number of violated cycles over the total simulated cycles for the instructioni (sequencei).
Classification of Instructions, cont. ILV at 0.88V, while varying temperature: • Instructions are partitioned into three main classes: (i) Logical & arithmetic; (ii) Memory; (iii) 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 all-or-nothing effect, which implies that either all instructions within this class fail or all make it.
Classification of Instructions ILV 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 ILV becomes 0, firstly for the 1st class, then for the 2nd class, and finally for the 3rd class. • For every operating conditions • ILV (3rd Class) ≥ ILV (2nd Class) ≥ ILV (1st Class)
Classification of Sequence of Instructions SLV at (0.81V, 125C) • The top 20 high-frequent sequences (Seq1-Seq20) are extracted from 80 Billion dynamic instructions of 32 benchmarks. • Sequences are classified into two classes based on their similarities in SLV values: • Class I (Seq1-Seq19) is a mixture of all types of instructions including the memory, arithmetic/logical, and control instructions. • Class II (Seq20) only consists of the arithmetic/logical instructions.
Classification of Sequence of Instructions For every operating conditions: SLV (Class I) ≥ SLV (Class II) • The sequence classification is consistent across operating corners. • SLV value of two classes of the sequences at the same corner and with the same cycle time is not equal. • Sequences in Class I need higher guardbands compared to Class II, because in addition of ALU's critical paths, the critical paths of memory are activated (for the load/store instructions) as well as the critical paths of integer code conditions (for the control instructions).
ILV and SLV ? • For every operating conditions: ILV (3rd Class) ≥ ILV (2nd Class) ≥ ILV (1st Class) SLV (Class I) ≥ SLV (Class II)
Adaptive Guardbanding Utilizing ILV and SLV • We define an adaptive clock scaling for each class of instructions/ sequences to mitigate the conservative inter- and intra-corner guardbanding. • At the runtime, in every cycle, the PLUT module sends the desired frequency to the adaptive clocking circuit utilizing the characterized SLV metadata of the current sequence and the operating condition monitored by CPM.
Effectiveness of Adaptive Guardbanding Full layout results on 45nm TSMC technology confirms: For the intolerant applications, in comparison to the worst-case design, the adaptive guardbanding eliminates the inter-corner guardbanding by up to 40% for sequences of Class II, and 37% for sequences of Class I. Simultaneously, it reduces intra-corner guardbanding among the two classes of the sequences by up to 5%. It achieves up to 87% performance improvement for error-tolerant (probabilistic) applications in comparison to the traditional worst-case design. It incurs only 0.022%, 0.012%, and 0.034% overheads for the total area, leakage power, and total power respectively.
Conclusion • The notion of ILV and SLV to dynamic voltage and temperature variations is defined. • Based on that, ISA partitioned into three classes: • (i) ALU, (ii) MEMORY, (iii) MULTPLY & DIVIDE • Sequence of instructions are partitioned into two classes: • (i) a mixture of all types including ALU, MEM, CONTROL, etc. • (ii) only ALU type instructions • Leveraging these classifications across adaptive guardbanding techniques enables up to 40% speedup for error-intolerant (traditional) applications and 87% speedup for error-tolerant (probabilistic) application, in 45nm TSMC technology.
Thank you! http://mesl.ucsd.edu http://variability.org
Classification of Sequence of Instructions SLV at (0.81V, -40C).