Variability Modeling and Management In Mobile Devices
The problems of power consumption, temperature stress and reliability degradation will only worsen with CMOS scaling and the consequent increase in variability. Variability in integrated circuits refers to the deviation of the actual value of a design parameter from its nominal value, such as transistor channel length and threshold voltage. Sources of variation are static and dynamic. Static variations are due to the intrinsic inaccuracy of the fabrication process. Dynamic sources, such as ambient temperature and system workload, change their impact over time. In multicore processors, transistor-level static variability determines power and performance distributions across cores of the same model. Consequently, computing units have a power consumption, operating voltage/frequency and degradation rate which are different from nominal right after fabrication. The impact of variations becomes more dramatic as the scaling of CMOS technology progresses and dimensions of transistors shrink. Counteracting with higher design margins is extremely costly . Simulators have been developed to help designers make chips more robust to variations. These tools can be integrated into the design flow to estimate the resulting impact of variability. However, they cannot account for dynamic variations and cannot capture the real workload behavior. Moreover, they require a highly detailed architectural description, which may not be always available. Given that dynamic variations play an important role, a good strategy is to leverage sensors to expose variability to higher levels of the software stack (e.g. the operating system) to manage it at runtime. This strategy is referred to as Dynamic Variability Management (DVM). DVM can leverage common hardware sensors such as performance counters and temperature sensors, or more sophisticated ones, such as degradation sensors and frequency sensors (which are devices capable of monitoring path delays) [90]. The latter, however, are only available on prototypes and research platforms. Mobiles are characterized by interactive workloads, which are hard to simulate and predict, as they strongly depend on user needs [49]. Moreover, the goal of mobiles is to provide quality user experience, rather than high performance. It is crucial to be able to estimate the impact of variability on user experience, which is not possible with simulators. For the prototyping and implementation of dynamic variability management techniques it is necessary to emulate the effect of variability online, to enable what-if analysis on real devices.