Automated OS-level Device Runtime Power Management

dc.contributor.advisorZhong, Lin
dc.contributor.committeeMemberCavallaro, Joseph R
dc.contributor.committeeMemberVardi, Moshe Y
dc.contributor.committeeMemberWallach, Dan S
dc.creatorXu, Chao
dc.date.accessioned2016-01-07T22:20:53Z
dc.date.available2016-01-07T22:20:53Z
dc.date.created2014-12
dc.date.issued2014-12-01
dc.date.submittedDecember 2014
dc.date.updated2016-01-07T22:20:53Z
dc.description.abstractHardware devices on a modern System-on-Chip (SoC), ranging from accelerators to IO controllers, usually account for the largest portion of the chip area. It is therefore vital for Operating Systems (OS) to disable and enable these devices at run time, so that idle devices can enter low-power state timely while meeting user’s performance expectation. This is called device runtime Power Management (PM), for which individual device drivers in commodity OSes are held responsible. Based on the observations of existing drivers and their evolution, we consider counting on drivers for device runtime PM harmful. We identify three pieces of information essential to device runtime PM, and show that all of them can be obtained without involving drivers, either by using a software inference approach atop existing ARM-based SoC, or more efficiently, by adding one register bit to each device. We thus argue for a structural change to the current Linux runtime PM framework, replacing PM code in each individual driver with one kernel module called central PM agent. We experimentally show that central PM agent is just as effective as hand-tuned driver PM code. We also present a software tool called PowerAdvisor, as a remedy to simplify driver PM efforts without overhauling the current Linux runtime PM framework. PowerAdvisor analyzes trace generated from historic executions and suggests PM calls to be inserted at certain driver source locations. Although a best-effort tool, PowerAdvisor not only reproduces hand-tuned PM code that already exists in stock drivers, but also correctly suggests PM code never known before . Overall, our experiences show that it is promising to ultimately free driver developers from manual PM.
dc.format.mimetypeapplication/pdf
dc.identifier.citationXu, Chao. "Automated OS-level Device Runtime Power Management." (2014) Master’s Thesis, Rice University. <a href="https://hdl.handle.net/1911/87791">https://hdl.handle.net/1911/87791</a>.
dc.identifier.urihttps://hdl.handle.net/1911/87791
dc.language.isoeng
dc.rightsCopyright is held by the author, unless otherwise indicated. Permission to reuse, publish, or reproduce the work beyond the bounds of fair use or other exemptions to copyright law must be obtained from the copyright holder.
dc.subjectRuntime power management
dc.subjectSoC
dc.subjectOS
dc.titleAutomated OS-level Device Runtime Power Management
dc.typeThesis
dc.type.materialText
thesis.degree.departmentElectrical and Computer Engineering
thesis.degree.disciplineEngineering
thesis.degree.grantorRice University
thesis.degree.levelMasters
thesis.degree.majorSystem
thesis.degree.nameMaster of Science
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
XU-DOCUMENT-2014.pdf
Size:
1.32 MB
Format:
Adobe Portable Document Format
License bundle
Now showing 1 - 2 of 2
No Thumbnail Available
Name:
PROQUEST_LICENSE.txt
Size:
5.84 KB
Format:
Plain Text
Description:
No Thumbnail Available
Name:
LICENSE.txt
Size:
2.6 KB
Format:
Plain Text
Description: