Skip navigation

DSpace

機構典藏 DSpace 系統致力於保存各式數位資料(如:文字、圖片、PDF)並使其易於取用。

點此認識 DSpace
DSpace logo
English
中文
  • 瀏覽論文
    • 校院系所
    • 出版年
    • 作者
    • 標題
    • 關鍵字
  • 搜尋 TDR
  • 授權 Q&A
    • 我的頁面
    • 接受 E-mail 通知
    • 編輯個人資料
  1. NTU Theses and Dissertations Repository
  2. 電機資訊學院
  3. 資訊工程學系
請用此 Handle URI 來引用此文件: http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/55753
完整後設資料紀錄
DC 欄位值語言
dc.contributor.advisor廖世偉
dc.contributor.authorBo-Yu Linen
dc.contributor.author林柏宇zh_TW
dc.date.accessioned2021-06-16T05:08:02Z-
dc.date.available2019-08-22
dc.date.copyright2014-08-22
dc.date.issued2014
dc.date.submitted2014-08-19
dc.identifier.citation1. K. Ishizaki, M. Kawahito, T. Yasue, M. Takeuchi, T. Ogasawara, T. Suganuma, T. Onodera, H.Komatsu, and T. Nakatani, “Design, implementation, and evaluation of optimizations in a just-in-time compiler,” in Proceedings of the ACM 1999 conference on Java Grande, San Francisco, California, USA, 1999, pp. 119-128.
2. T. Suganuma, T. Ogasawara, M. Takeuchi, T. Yasue, M. Kawahito, K. Ishizaki, H. Komatsu, and T. Nakatani, “Overview of the IBM Java just-in-time compiler,”
IBM systems Journal, vol. 39, no. 1, pp. 175-193, 2000.
3. T. Suganuma, T. Yasue, M. Kawahito, H. Komatsu, and T. Nakatani, 'A dynamic
optimization framework for a Java just-in-time compiler.' pp. 180-195.
4. H. Inoue, H. Hayashizaki, P. Wu, and T. Nakatani, 'A trace-based Java JIT
compiler retrofitted from a method-based compiler.' pp. 246-256.
5. H. Inoue, H. Hayashizaki, P. Wu, and T. Nakatani, “Adaptive multi-level compilation in a trace-based Java JIT compiler,” ACM SIGPLAN Notices, vol. 47,
no. 10, pp. 179-194, 2012.
6. D. Bornstein. Dalvik VM internals, 2008. https://sites.google.com/site/io/dalvik-vm-internals/
7. G. A. Perez, C.-M. Kao, Y.-C. Chung, and W.-C. Hsu, 'A hybrid just-in-time compiler for android: comparing JIT types and the result of cooperation.' pp. 41-50.
8. A. Gal, C. W. Probst, and M. Franz, 'HotpathVM: an effective JIT compiler for
resource-constrained devices.' pp. 144-153.
9. B. Cheng and B. Buzbee. A JIT compiler for Android’s Dalvik VM, 2010.
http://www.google.com/events/io/2010/sessions/jit-compiler-androids-dalvik-vm.html.
10. IDC:Smartphone OS Market Share, Q1 2014.
http://www.idc.com/prodserv/smartphone-os-market-share.jsp
11. Fog, Agner (2012-02-29). 'Optimizing subroutines in assembly language'. Copenhagen University College of Engineering. p. 100. Retrieved 2012-09-22.
'12.11 Loop unrolling'
12. Duff, Tom. 'Duff’s device.' Usenet posting: http://www. lysator. liu.se/c/
duffsdevice.html (Nov 1983) (2008).
dc.identifier.urihttp://tdr.lib.ntu.edu.tw/jspui/handle/123456789/55753-
dc.description.abstractLoop unrolling是一個相當知名的編譯器最佳化技巧,然而,由於Android Dalvik虛擬機採用Just-in-time的方式所以大部份的Loop unrolling機制並不適
用於此,詳細原因將在本論文的第二章節提到。
為了解決這個問題,我們使用一種名為Duff’s device的Loop unrolling技巧,在這種實作之下我們可以加入更多有關Loop unrolling的最佳化技巧,整體而言,
我們提升了Android知名benchmark約莫13%~14%的效能。
zh_TW
dc.description.abstractLoop unrolling is a well-known technique of the compiler optimization and has been widely used in many programming languages. However, most loop unrolling techniques are not suitable for Android Dalvik virtual machine because the Dalvik virtual machine applies Just-in-time compilation techniques. In Just-in-time compilation, codes are compiled to the binary at runtime, which means it’s more complicated to unroll the loop. The reason and the detail will be explained in chapter 2. To satisfy the requirements of applying loop unrolling in the Just-in-time compiler in Android Dalvik virtual machine, a mechanism called Duff’s device is conducted. In conclusion of our experiment, the
speedup on famous Android benchmarks is about 13~14%.
en
dc.description.provenanceMade available in DSpace on 2021-06-16T05:08:02Z (GMT). No. of bitstreams: 1
ntu-103-R01922121-1.pdf: 3552523 bytes, checksum: f5426ab295d9952c805c70ecf71b1a15 (MD5)
Previous issue date: 2014
en
dc.description.tableofcontents口試委員會審定書 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii
誌謝 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
摘要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv
ABSTRACT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
CONTENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi
1. Introduction 1
1.1. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Dalvik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3. Method-based and Trace-based JIT . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4. ART . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5. Dalvik and ART nowadays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2. Loop Unrolling 6
2.1. Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2. Why unrolling on dalvik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3. Mechanism of unrolling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4. Duff’s device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3. Implementation 12
3.1. Loop structure of dalvik’s trace . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2. Unroll the loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.3. Duff’s device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.4. Preload and hoist load instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.5. Optimization for basic induction variable . . . . . . . . . . . . . . . . . . . . . . 19
4. Experiment 23
4.1. Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.2. Experiment result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5. Conclusion 26
5.1. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5.2. Future work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Reference 28
dc.language.isoen
dc.titleAndroid Dalvik 最佳化之迴圈展開zh_TW
dc.titleTrace-based JIT Optimization of Loop Unrolling in Android Dalvik VMen
dc.typeThesis
dc.date.schoolyear102-2
dc.description.degree碩士
dc.contributor.oralexamcommittee黃維中,羅振綱
dc.subject.keyword迴圈展開,虛擬機,編譯器最佳化,zh_TW
dc.subject.keywordLoop unrolling,dalvik,dalvik vm,trace-based jit,en
dc.relation.page29
dc.rights.note有償授權
dc.date.accepted2014-08-20
dc.contributor.author-college電機資訊學院zh_TW
dc.contributor.author-dept資訊工程學研究所zh_TW
顯示於系所單位:資訊工程學系

文件中的檔案:
檔案 大小格式 
ntu-103-1.pdf
  目前未授權公開取用
3.47 MBAdobe PDF
顯示文件簡單紀錄


系統中的文件,除了特別指名其著作權條款之外,均受到著作權保護,並且保留所有的權利。

社群連結
聯絡資訊
10617臺北市大安區羅斯福路四段1號
No.1 Sec.4, Roosevelt Rd., Taipei, Taiwan, R.O.C. 106
Tel: (02)33662353
Email: ntuetds@ntu.edu.tw
意見箱
相關連結
館藏目錄
國內圖書館整合查詢 MetaCat
臺大學術典藏 NTU Scholars
臺大圖書館數位典藏館
本站聲明
© NTU Library All Rights Reserved