TY - GEN
T1 - Fence
T2 - 2015 USENIX Annual Technical Conference, USENIX ATC 2015
AU - Li, Tao
AU - Rafetseder, Albert
AU - Fonseca, Rodrigo
AU - Cappos, Justin
PY - 2015
Y1 - 2015
N2 - Applications such as software updaters or a run-away web app, even if low priority, can cause performance degradation, loss of battery life, or other issues that reduce a computing device's availability. The core problem is that OS resource control mechanisms unevenly apply uncoordinated policies across different resources. This paper shows how handling resources-e.g., CPU, memory, sockets, and bandwidth-in coordination, through a unifying abstraction, can be both simpler and more effective. We abstract resources along two dimensions of fungibility and renewability, to enable resource-agnostic algorithms to provide resource limits for a diverse set of applications. We demonstrate the power of our resource abstraction with a prototype resource control subsystem, Fence, which we implement for two sandbox environments running on a wide variety of operating systems (Windows, Linux, the BSDs, Mac OS X, iOS, Android, OLPC, and Nokia) and device types (servers, desktops, tablets, laptops, and smartphones). We use Fence to provide systemwide protection against resource hogging processes that include limiting battery drain, preventing overheating, and isolating performance. Even when there is interference, Fence can double the battery life and improve the responsiveness of other applications by an order of magnitude. Fence is publicly available and has been deployed in practice for five years, protecting tens of thousands of users.
AB - Applications such as software updaters or a run-away web app, even if low priority, can cause performance degradation, loss of battery life, or other issues that reduce a computing device's availability. The core problem is that OS resource control mechanisms unevenly apply uncoordinated policies across different resources. This paper shows how handling resources-e.g., CPU, memory, sockets, and bandwidth-in coordination, through a unifying abstraction, can be both simpler and more effective. We abstract resources along two dimensions of fungibility and renewability, to enable resource-agnostic algorithms to provide resource limits for a diverse set of applications. We demonstrate the power of our resource abstraction with a prototype resource control subsystem, Fence, which we implement for two sandbox environments running on a wide variety of operating systems (Windows, Linux, the BSDs, Mac OS X, iOS, Android, OLPC, and Nokia) and device types (servers, desktops, tablets, laptops, and smartphones). We use Fence to provide systemwide protection against resource hogging processes that include limiting battery drain, preventing overheating, and isolating performance. Even when there is interference, Fence can double the battery life and improve the responsiveness of other applications by an order of magnitude. Fence is publicly available and has been deployed in practice for five years, protecting tens of thousands of users.
UR - http://www.scopus.com/inward/record.url?scp=85064546321&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85064546321&partnerID=8YFLogxK
M3 - Conference contribution
AN - SCOPUS:85064546321
T3 - Proceedings of the 2015 USENIX Annual Technical Conference, USENIX ATC 2015
SP - 177
EP - 191
BT - Proceedings of the 2015 USENIX Annual Technical Conference, USENIX ATC 2015
PB - USENIX Association
Y2 - 8 July 2015 through 10 July 2015
ER -