Research Website
https://engineering.purdue.edu/~xzl/xsel/
Keywords
Linux, Power Management, Dynamic Binary Translation
Presentation Type
Poster
Research Abstract
System suspend/resume is crucial to energy proportionality of modern computers, from wearable to cloud servers. Ironically, this OS mechanism itself is slow and energy hungry. Through characterizing the Linux kernel on a variety of modern system-on-chips (SoCs), we show the major reason as slow power state transitions of IO, which keeps CPU waiting. Furthermore, we argue that the IO wait can hardly be reduced to a satisfactory level, because most of slow transitions of IO are bounded by peripherals, low-speed buses, or physical factors. Therefore, the kernel execution for suspend/resume should be offloaded to a miniature core that waits more efficiently. To fix this problem, we propose a power management core running novel hypervisor that dynamically translates and executes Power Management functions. This method not only supports offloading a complex kernel subsystem but also provides forward compatibility with a commodity kernel. Based on QEMU, an open source hypervisor, we implement the backend for ARMv7M ISA. We optimize QEMU’s translation by directly mapping flag emulation to hardware. In the end, we are able to achieve 100% increase performance compared with QEMU’s original version.
Session Track
Modeling and Simulation
Recommended Citation
Shuang Zhai and Felix Xiaozhu Lin,
"Decelerating I/O Power Management"
(August 4, 2016).
The Summer Undergraduate Research Fellowship (SURF) Symposium.
Paper 130.
https://docs.lib.purdue.edu/surf/2016/presentations/130
Included in
Decelerating I/O Power Management
System suspend/resume is crucial to energy proportionality of modern computers, from wearable to cloud servers. Ironically, this OS mechanism itself is slow and energy hungry. Through characterizing the Linux kernel on a variety of modern system-on-chips (SoCs), we show the major reason as slow power state transitions of IO, which keeps CPU waiting. Furthermore, we argue that the IO wait can hardly be reduced to a satisfactory level, because most of slow transitions of IO are bounded by peripherals, low-speed buses, or physical factors. Therefore, the kernel execution for suspend/resume should be offloaded to a miniature core that waits more efficiently. To fix this problem, we propose a power management core running novel hypervisor that dynamically translates and executes Power Management functions. This method not only supports offloading a complex kernel subsystem but also provides forward compatibility with a commodity kernel. Based on QEMU, an open source hypervisor, we implement the backend for ARMv7M ISA. We optimize QEMU’s translation by directly mapping flag emulation to hardware. In the end, we are able to achieve 100% increase performance compared with QEMU’s original version.
https://docs.lib.purdue.edu/surf/2016/presentations/130