TECHNISCHE UNIVERSIT¨AT M¨UNCHEN Power
Total Page:16
File Type:pdf, Size:1020Kb
TECHNISCHE UNIVERSITAT¨ MUNCHEN¨ Lehrstuhl f¨urRealzeit-Computersysteme Power Management for Closed-Source Interactive Games on Mobile Devices Benedikt Dietrich Vollst¨andigerAbdruck der von der Fakult¨atf¨urElektrotechnik und Informationstechnik der Technischen Universit¨atM¨unchenzur Erlangung des akademischen Grades eines Doktor-Ingenieurs (Dr.-Ing.) genehmigten Dissertation. Vorsitzender: Univ.-Prof. Dr.-Ing. habil. Gerhard Rigoll Pr¨uferder Dissertation: 1. Univ.-Prof. Dr. sc. (ETH Z¨urich)Samarjit Chakraborty 2. Prof. Preeti Ranjan Panda, Ph.D. Indian Institute of Technology Delhi, Indien Die Dissertation wurde am 25.09.2014 bei der Technischen Universit¨atM¨uncheneingereicht und durch die Fakult¨atf¨urElektrotechnik und Informationstechnik am 07.09.2015 angenom- men. Abstract On mobile devices like smartphones and tablet PCs, games account for the class of most popular, but at the same time most power hungry applications. The processor of such de- vices is one of the main contributors to the total power consumption when games are being played. A common technique to reduce the processor's power consumption is dynamic voltage and frequency scaling. Power managers of modern operating systems reduce the processor's power consumption by scaling the processing frequency and voltage merely based on the processor's current utilization and without considering the requirements of running applications. Since high frame rates are commonly attributed to a good gam- ing experience, most games process as many frames as possible resulting in a high system utilization. Traditional power managers in turn select constantly high processing frequen- cies resulting in a high power consumption. Studies have shown that frame rates above a particular point don't improve the gaming experience. Hence today's gaming platforms perform not required computations and thereby waste a significant amount of energy. In this thesis a power manager is presented that is aware of the game application, predicts its future computing requirements and efficiently selects the processor's clock frequency that guarantees the desired frame rate and at the same time provides optimal power savings. Core of this power manager is the workload prediction which is based on statis- tical relationships between processing times of past frames and the current frame. While predictors like the PID controller-based predictor have been widely studied for video de- coding applications in the past, there is only little work on workload prediction for games. We systematically evaluate workload predictors and identify that techniques such as PID controller-based workload predictors lack the robustness to accurately predict the highly dynamic game workloads and result in poor power savings and a deteriorated user expe- rience. Our results show that autoregressive model-based predictors { the most general form of linear models { provide significant power savings for all considered games (up to 32.4 % compared to Android's default power manager) while maintaining the quality perceived by the user. While many multimedia applications like video decoders are open-source and can be di- rectly instrumented to measure frame timings, which are required as input to the workload prediction, most modern games are closed-source. In this work we for the first time present a technique that does not only allow measuring the frame timings of any closed-source game, but as well can be used to identify a game's current state, e.g., if the game is view- ing a menu, the loading screen or is in the actual gaming state. This state information is leveraged to implement a state-specific power management that exploits state-specific workload characteristics and requirements and thereby further reduces the power con- sumption by up to 43.2 % compared to Android's default power manager. iii The discussed techniques have been successfully verified for modern closed-source games from different genres. We have developed measurement setups that allow detailed mea- surements of system parameters and the power consumption for three different operating systems (Linux, Windows and Android). For all platforms highly portable and widely applicable solutions have been found and significant power savings were obtained. Based on a user study we verified that developed methods don't deteriorate the gaming quality experienced by the user. By investigating the theoretical limits of power savings and modeling an optimal workload predictor, we reveal the remaining gap of our approach to the theoretical optimal power manager and thereby motivate future research endeavors. In summary, the main contributions of this thesis are: i) We identified a suitable work- load prediction technique for highly variable game workloads which guarantees significant power savings while maintaining the gaming quality. ii) We present a technique which for the first time allows not only applying the developed power management scheme to closed-source games, but as well identifying the game's current state. iii) The devel- oped measurement setups provide detailed insight into the current state of the systems and their power consumption. Based on these setups, we verified the described algorithms and showed significant power savings of up to 43.2 % compared to Android's default power manager. iv) We determined the theoretical limits of power savings, revealed the gap be- tween our approach and the theoretical optimum and thereby motivate future research in the domain of game power management. iv Kurzfassung Spiele z¨ahlenauf mobilen Endger¨atenwie Smartphones und Tablet PCs zu den be- liebtesten Anwendungen, weisen allerdings auch den gr¨oßtenEnergiebedarf auf. Im Falle von Spielanwendungen wird der gr¨oßteTeil der Energie vom Prozessor verbraucht. Power Manager heutiger Betriebssysteme passen die Rechenfrequenz und Versorgungss- pannung dynamisch an die aktuellen Rechenanforderungen an, um den Energieverbrauch des Prozessors zu reduzieren. In der Regel w¨ahltder Power Manager hierzu die ben¨otigte Rechenfrequenz allein basierend auf der momentanen Auslastung des Prozessors aus, ohne die realen Anforderungen laufender Anwendungen zu ber¨ucksichtigen. Ublicherweise¨ berechnen Spiele so viele Bilder pro Sekunde wie m¨oglich, da eine hohe Bildwiederhol- rate generell mit einem guten Spielerlebnis assoziiert wird. Dies resultiert in einer hohen Systemauslastung, auf Grund welcher herk¨ommliche Power Manager durchgehend hohe Rechenfrequenzen verwenden, die wiederum in einem hohen Energieverbrauch resultieren. Studien haben hingegen gezeigt, dass sehr hohe Bildwiederholraten das Spielerlebnis nicht verbessern. Somit werden auf heutigen Spieleplattformen unn¨otigviele Bilder berechnet und Energie verschwendet. Im Rahmen dieser Arbeit wurde ein Power Manager entwickelt, der sich der laufenden Spielanwendung bewusst ist, die zuk¨unftigben¨otigteRechenzeit der Anwendung vorher- sagt und die Rechenfrequenz so skaliert, dass eine gew¨unschte Bildwiederholrate auf en- ergieeffiziente Art und Weise garantiert wird. Herz des Power Managers ist die Vorhersage k¨unftigerRechenzeitanforderungen, welche auf statistischen Abh¨angigkeiten zwischen ak- tuellen und vergangenen Rechenzeiten basiert. W¨ahrendPr¨adiktoren,wie PID Controller- basierte Pr¨adiktoren,in der Vergangenheit umfassend f¨urdie Rechenzeit-Vorhersage von Videodekodern untersucht wurden, gibt es nur wenige Arbeiten, die sich mit der Vorher- sage von Spieleanforderungen besch¨aftigen.Diese Arbeit evaluiert Rechenzeit-Pr¨adiktoren systematisch und zeigt auf, dass Techniken, wie etwa der PID Controller-basierte Pr¨adik- tor, nicht f¨urdie Vorhersage von stark variierenden Rechenzeiten von Spielen geeignet sind. Unsere Analyse zeigt weiterhin, dass Pr¨adiktoren, die auf autoregressiven Modellen basieren { die allgemeinste Form linearer Modelle { f¨uralle getesteten Spiele erhebliche Energieersparnisse von bis zu 32.4 % im Vergleich zu Android's eigenem Power Manager erzielen, ohne die Spielqualit¨atzu beeintr¨achtigen. W¨ahrendder Quelltext vieler Multimediaanwendungen, wie etwa Videodekodern, frei erh¨altlich ist und direkt instrumentiert werden kann, um die Rechenzeit einzelner Bilder zu messen, ist der Quelltext der meisten aktuellen Spieletitel nicht erh¨altlich. In dieser Arbeit wird eine Methode pr¨asentiert, die es nicht nur erlaubt, diese Rechenzeiten f¨urbe- liebige Closed-Source Spiele zu messen, sondern auch die M¨oglichkeit bietet, den aktuellen Zustand des Spiels zu ermitteln. Es wird zum Beispiel erkannt, ob das Spiel momentan v einen Ladebildschirm, ein Men¨uoder den tats¨achlichen Spielinhalt anzeigt. Dieses Wis- sen wird verwendet, um f¨urjeden Zustand eine spezifische Power Management Strategie anzuwenden und somit den Energiebedarf weiter zu senken (um bis zu 43.2 % im Vergleich zu Android's eigenem Power Manager). Beschriebene Methoden wurden erfolgreich f¨uraktuelle Closed-Source Spiele verschiedener Genres getestet. Im Zuge dessen wurden f¨urdrei verschiedene Betriebssysteme (Linux, Windows und Android) Messplattformen entwickelt, die das detaillierte Aufzeichnen von Systemeigenschaften und des Energieverbrauchs erm¨oglichen. F¨uralle Plattformen wur- den leicht portierbare, flexible L¨osungenentwickelt und erhebliche Energieersparnisse erzielt. Basierend auf einer Nutzerstudie wurde verifiziert, dass der entwickelte Power Manager keinen Einfluss auf die Spielqualit¨athat. Zus¨atzlich wurden theoretische Gren- zen analysiert, um das noch bestehende Potential an m¨oglichen Energieersparnissen zu ermitteln