How to Save 10 mW in Smartphones for Free

Feb 4, 2015  |  4:00pm | ESB 1001
Lin Zhong
Associate Professor of Electrical and Computer Engineering, Rice University

The answer is: Relieve driver developers from doing power management. Non-CPU devices on a modern system-on-a-chip, ranging from accelerators to I/O controllers, account for a significant portion of the chip area. It is therefore vital for system energy efficiency that idle devices can enter a low-power state while still meeting the performance expectation. This is called device runtime power management for which individual device drivers in commodity OSes are held responsible today. Based on the observations of existing drivers and their evolution, we consider this practice harmful and suggest an overhaul of today’s runtime power management, replacing the power management code in all applicable drivers with a single kernel module. We show this central module can infers if a device has pending tasks without help from device drivers and is just as effective as hand-tuned driver PM code for many devices. For those who insist device drivers do it, we provide a tool called PowerAdvisor that simplifies driver power management efforts under the current Linux runtime power management framework. PowerAdvisor analyzes execution traces of drivers and suggests where to insert PM calls in driver source code. Despite being a best-effort tool, PowerAdvisor not only reproduces hand-tuned power management code from stock drivers, but also correctly suggests power management code never known before. Overall, our experience shows that it is promising to ultimately free driver developers from manual power management. More information about this project can be found from

BiographyLin Zhong received his B.S and M.S. from Tsinghua University and Ph.D. from Princeton University. He has been with Rice University since September 2005 where he is currently an associate professor. He was a visiting researcher with Microsoft Research for the summer of 2011 and March to December 2012. At Rice, he leads the Efficient Computing Group to make computing, communication, and interfacing more efficient and effective. He and his students received the best paper awards from ACM MobileHCI 2007, IEEE PerCom 2009, and ACM MobiSys 2011, 2013 and 2014, and ACM ASPLOS 2014.


Event TypeSeminar