Logo image
混合JIT提早編譯策略與提前式編譯架構的Android Dalvik效能強化分析機制
Thesis

混合JIT提早編譯策略與提前式編譯架構的Android Dalvik效能強化分析機制

Chen, Sheng-Yu
Masters, 國立清華大學, 資訊工程學系
2010

Abstract

嵌入式系統 Android Dalvik虛擬機器 即時編譯器 效能分析 Embedded System Android Dalvik Virtual Machine Just-In-Time Compiler Performance Profiling
Google在2007年釋出了Android開放手機平台,吸引許多硬體、軟體開發者去研究,至今學界、業界皆投入相當的資源在Android嵌入式產品的研發,國內廠商宏達電、華碩、宏□等開發商亦推出了基於Android作業系統的智慧型手機與小型筆記型電腦且廣受國際市場歡迎;現在,平板電腦、電子書、甚至車用電子也皆以Android為作業系統的產品問世,不可否認,Android是個趨勢,也是國內在嵌入式軟體平台的一個機會。 目前Android平台的效能是被廣泛討論的議題,為了強調應用程式的高移植性,Google選擇了以Java作為其應用程式開發語言,並創造了名為Dalvik的虛擬機器(VM)和Run-Time Library來支援Java應用程式的運行;根據實驗比較,Dalvik VM的效能比其傳統Java VM在嵌入式系統上的表現,還有很多最佳化的空間;直至2009年11月,Google整合了Dalvik動態編譯器(JIT)至其最新的Code tree,來嘗試解決Dalvik效能低落的問題。 動態編譯器利用執行期間來做Profiling與Compilation的動作,除了有直接影響使用者反應時間的缺點外,因其在嵌入式平台的計算效能有限制,能產生code的quality以及執行Profiling的速度上也有瓶頸在;本論文提出一個完整機制來強化應用程式的執行效能,預先將Static-Time profiling資訊送給Dalvik Virtual Machine,以達成減少Just in Time Compiler(JIT)執行期間做Profiling與Compilation的overhead,並輔以一Ahead-of-Time Compiler(AOTC): 事先在off-line時將程式的熱門片段編譯成native code來避開VM直譯器的overhead;另外此機制的Static-Time Profiling能依Ahead-of-Time Compiler(AOTC)與Just in Time Compiler(JIT)的特性,將程式中的method分成適合AOTC或JIT兩種類,藉由結合兩個Compiler的優點,來提升整體Android應用程式的效能。 在這篇論文我們會詳細介紹各個部份的實作方式。數據方面,比起JIT-only的Android,加上輔助(無AOTC)能將其效能平均會提升16%。而加上AOTC的輔助能將其效能平均提升3.05倍。

Metrics

1 Record Views

Details

Logo image