Automated OS-level Device Runtime Power Management

dc.contributor.advisorZhong, Linen_US
dc.contributor.committeeMemberCavallaro, Joseph Ren_US
dc.contributor.committeeMemberVardi, Moshe Yen_US
dc.contributor.committeeMemberWallach, Dan Sen_US
dc.creatorXu, Chaoen_US
dc.date.accessioned2016-01-07T22:20:53Zen_US
dc.date.available2016-01-07T22:20:53Zen_US
dc.date.created2014-12en_US
dc.date.issued2014-12-01en_US
dc.date.submittedDecember 2014en_US
dc.date.updated2016-01-07T22:20:53Zen_US
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.en_US
dc.format.mimetypeapplication/pdfen_US
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>.en_US
dc.identifier.urihttps://hdl.handle.net/1911/87791en_US
dc.language.isoengen_US
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.en_US
dc.subjectRuntime power managementen_US
dc.subjectSoCen_US
dc.subjectOSen_US
dc.titleAutomated OS-level Device Runtime Power Managementen_US
dc.typeThesisen_US
dc.type.materialTexten_US
thesis.degree.departmentElectrical and Computer Engineeringen_US
thesis.degree.disciplineEngineeringen_US
thesis.degree.grantorRice Universityen_US
thesis.degree.levelMastersen_US
thesis.degree.majorSystemen_US
thesis.degree.nameMaster of Scienceen_US
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: