透過您的圖書館登入
IP:34.201.28.181
  • 學位論文

調整解析度於剖析Android應用程式的耗時與耗電

Reconfiguring Resolutions in Profiling Time and Energy on Android Applications

指導教授 : 林盈達

摘要


嵌入式裝置上的應用程式於運算時經常受到運算資源和能源上的嚴格限制。然而因資源受限而導致運算時間過長及消耗大量能源是不被使用者接受的,因此應用程式是否能有效利用嵌入式裝置上的資源是一個重要的研究議題。現有的執行時間和耗能分析工具可幫助開發者找出應用程式其效能與耗能的瓶頸,但當這些工具提供詳細資訊給使用者的同時需要大量的記憶體空間來儲存分析過程中所產生的資訊,而記憶體空間在嵌入式裝置上也經常受到嚴格的限制。這篇論文提出一個於移動式裝置產品上可變更設定以切換解析度來多層級剖析耗時與耗電的工具。此工具先插入分析程式碼於所有目標應用程式的原始碼,然後再藉由設定所插入的分析程式碼來切換分析的範圍並過濾掉大量不需分析的資訊以達到減少分析資訊量的目的。分析出的資訊量在瀏覽網頁的情境下比Android的debug class少25倍,且我們工具分析的時間資訊在同樣的瀏覽網頁情境下其數據誤差率比debug class低24倍,這是因為debug class的數據是藉由java methods的進入時間點來計算而造成數據並不精確。另外此工具對於CPU和memory所造成的額外負擔在瀏覽網頁的情境下分別為5%和6.53%。最後,經由我們設計的工具剖析後發現瀏覽網頁的效能瓶頸在於2D繪圖函式是使用CPU來繪畫網頁內容,未使用任何硬體加速導致用繪畫速度很慢。

並列摘要


The computing of applications in embedded devices suffers tight constraints on computation and energy resources. Thus, applications spending long execution time and large energy consumption of embedded applications are not acceptable by users. The existing execution time and energy profiling tools can help developers to identify the bottlenecks of applications. However, the profiling tools need large memory space to store detailed profiling results at run time, causing that they are infeasible on embedded devices. In this thesis, a reconfigurable multi-resolution profiling (RMP) approach is proposed to handle the issue on off-the-shelf product devices. It instruments all profiling points into source code of targeted applications and configures the profiling points to change the profiling scope for filtering out useless profiling results to reduce the amount of profiling results. In the experiments, the required memory of profiling results using RMP for a browser application is smaller than debug class of Android 25 times, and the estimation error rate of execution time is proven lower than debug class 24 times because the debug class uses the entry time of java methods to calculate imprecise time results. Besides, the CPU and memory overhead of RMP are only 5% and 6.53% for the browsing scenario, respectively. From this evaluation, we found that the bottleneck of a browser is the web page drawing because the 2D graphical library does not use any hardware acceleration.

參考文獻


[13] W. K. Baek, Y. J. Kim, and J. H. Kim, "ePRO: A Tool for Energy and Performance Profiling for Embedded Applications," Proc. of International SoC Design Conference (ISOCC), Seoul, Korea, Oct. 2004, pp. 372-375.
[6] L. Adhianto, et al., "HPCTOOLKIT: Tools for Performance Analysis of Optimized Parallel Programs," Concurrency and Computation: Practice and Experience, 2009, vol. 22, pp. 685-701.
[8] Y. Yun-Chien and L. Ying-Dar, "Calibrating Parameters and Formula for Process-Level Energy Consumption Profiling," Mater thesis, NCTU, 2010.
[15] K. S. Banerjee and E. Agu, "PowerSpy: Fine-grained Software Energy Profiling for Mobile Devices," in Proc. of IEEE WirelessCom, 2005, pp. 1136-1141.
[16] "Jindent." [Online]. Available: http://www.jindent.com/.

延伸閱讀