Hardware-Software Interface in Presence of Variability

While a well-defined firm hardware-software in- terface enabled advances in software and hardware design methods, it is increasingly harder to sustain as the newer semiconductor technologies exhibit growing manufacturing variabil- ity across different instances of a chip, aging-related wear-out, and variability due to the operating environment. We are developing techniques to establish a bidirectional dataflow between the system/application layer and the physical/circuit implementation layer to en- able software to opportunistically take advantage of underdesigned hardware systems. The resulting Underdesigned and Opportunistic (UnO) computing machines monitor hardware power/performance and use instance-specific adaptation in software to relax variation-induced guard-bands in hardware design.

Circuit Performance Monitoring

Students: Liangzhen Lai

Circuit performance monitors are essential for systems with hardware and software adaptation to reduce the design margin. This project aims at developing accurate and inexpensive performance monitoring methodologies. Design-dependent ring oscillator (DDRO) is a replica monitoring methodology, which designs multiple smart canary structures that can reliably predict achievable chip frequency but with margins for local variations. Early silicon results indicate that DDROs can reduce delay monitoring error by 35% compared to conventional ring oscillators. To further improve the prediction (albeit at a higher overhead), we propose SlackProbein situ slack monitors which can match local variations as well at overheads much smaller than monitoring all sequential elements. SlackProbe reduces the number of monitors required by over 15X with 5% additional delay margin in several commercial processor benchmarks.

Hardware Variability-Aware Duty Cycling for Embedded Sensors

Instance and temperature-dependent power variation has a direct impact on quality of sensing for battery powered, long running sensing applications. We measure and characterize active and leakage power for an ARM Cortex M3 processor, and show that across a temperature range of 2060◦C there is 10% variation in active power, and 14x variation in leakage power. We introduce variability aware duty cycling methods and a duty cycle abstraction for TinyOS that allows ap- plications to explicitly specify lifetime and minimum duty cycle requirements for individual tasks, and dynamically adjusts duty cycle rates so that overall quality of service is maximized in the presence of power variability. We show that variability-aware duty cycling yields a 322x improve- ment in total active time over schedules based on worst- case estimations of power, with an average improvement of 6.4x across a wide variety of deployment scenarios based on collected temperature traces. Conversely, datasheet power specifications fail to meet required lifetimes by 7 15%, with an average 37 days short of a required lifetime of one year. Finally, we show that a target localization application using variability-aware duty cycle yields a 50% improvement in quality of results over one based on worst- case estimations of power consumption.

A demo of variability-aware duty-cycling using our own testchip and testbed platform is shown in the following youtube video. Detailed description can be found in the technical report(link).

AppAdapt: Leveraging Application Adaptativity to Compensate Hardware Variation

Students: Aashish Pant

Objective: In this project, we seek to build on the flexible hardware-software interface paradigm by proposing the notion of hardware instance guided software adaptation for performance constrained applications. where the actual hardware state guides application adaptation on a die specific basis. We show that, by adapting the application to the post manufacturing hardware characteristics (hardware signatures) across different die, it is possible to compensate for application quality losses that might otherwise be significant in presence of process variations. This in turn results in improved manufacturing yield, relaxed requirement for hardware over-design and better application quality.

This work is motivated by the fact that a plethora of modern applications are reconfigurable and adaptive, i.e. they are capable of operating in various configurations by adapting to certain input or environmental conditions in turn producing similar or different quality of service. Moreover, process variation is increasing and hence, the conventional methods of incorporating variation-resistant design techniques, post manufacturing hardware tuning or hardware over-design have become too expensive to use for practical reasons. We observe that it is easier and cheaper to implement adaptation at the software layer as compared to designing a robust and dependable hardware in the presence of manufacturing variations. Moreover, adaptation is much better informed of the die-specific variation scenario at the application software layer.

Please see the videos below for a comparison of hardware adaptive vs non-adaptive encoder. Use the player provided with a frame resolution of 352x288 (CIF).

  • vidview.exe: VidView Player to play the raw .yuv video files (CIF 352x288 frame format)

  • orig.yuv: Original Un-Encoded Mobile Video Sequence

  • output_29_m15.yuv: Encoded Video on 20% over-designed hardware which is slower by 15%

  • output_59_m10.yuv: Encoded Video on 20% over-designed hardware which is slower by 10%

  • output_85_m5.enc: Encoded Video on 20% over-designed hardware which is slower by 5%

  • output_87_0.yuv: Encoded Video on 20% over-designed hardware which is slower by 0%

Variation Aware Binning of Multi-core Processors

Students: Aashish Pant

Objective: Number of cores per multi-core processor die, as well as variation between the maximum operating frequency of individual cores, is rapidly increasing. This makes performance binning of multi-core processors a non-trivial task. In this paper, we study, for the first time, multi-core binning metrics and strategies to evaluate them efficiently. In this project, our major focus is to leverage information obtained from a process variation model to evaluate the binning metrics more efficiently and accurately.

Publications List:

BibtexPlugin Errors:
Uncaught exception: Sys_error("bibtex2htmlinputc431b7.bib: Permission denied")

Copyright (C) 2018 NanoCAD. All Rights Reserved.
For questions and feedbacks, contact Webmaster