(3.227.208.0) 您好!臺灣時間:2021/04/21 02:07
字體大小: 字級放大   字級縮小   預設字形  
回查詢結果

詳目顯示:::

我願授權國圖
: 
twitterline
研究生:楊欽麟
論文名稱:在JAVA虛擬機器上利用物件重用緩衝區加速物件存取
論文名稱(外文):To accelerate object-filed access with handle table by using object-field reusing buffer in JAVM
指導教授:單智君
學位類別:碩士
校院名稱:國立交通大學
系所名稱:資訊工程系
學門:工程學門
學類:電資工程學類
論文種類:學術論文
論文出版年:2003
畢業學年度:91
語文別:英文
中文關鍵詞:JAVA物件緩衝區
外文關鍵詞:Javaobjectbuffer
相關次數:
  • 被引用被引用:0
  • 點閱點閱:147
  • 評分評分:系統版面圖檔系統版面圖檔系統版面圖檔系統版面圖檔系統版面圖檔
  • 下載下載:10
  • 收藏至我的研究室書目清單書目收藏:0
Java為物件導向之語言,因此在Java程式中,會有許多物件存取的動作。然而這些動作需要很多的執行時間以及多次的記憶體存取。在本篇論文中,我們提出一個軟體緩衝區,我們稱作物件重用緩衝區,並且利用許多程式物件存取都有集中於一些少數的類別以及物件變數之特性,將這些經常使用的物件變數放入我們所設計之物件重用緩衝區。接下來物件存取都經由此物件重用緩衝區,以加速物件之存取動作。藉由Trace-driven的方式對Embedded CaffeineMark標竿程式進行模擬,結果顯示在JIT compiler中,若每次記憶體存取為兩個週期時,預估整體效能將增進1.12倍,並且於記憶體存取大於十個週期之平台之上,預估整體效能可以增進1.5倍之上。

One of Java program characteristic is object-oriented; there are lots of object access operation and these operation need lots of time and memory access. In this thesis, we proposed a method of software buffer and using characteristic of object field access are gathering to some classes and instance variables in lots of Java program. We buffer these instance variables in our object-field reusing buffer and access these instance variables from the buffer to accelerate object-field access. By Trace-driven simulation of the proposed method on Embedded CaffeineMark benchmark show that our proposed method can achieve 1.12 speedup over JIT compiler where memory access cycle counts is two cycles. And we predicted that our proposed method could achieve 1.5 above speedup over JIT compiler where memory access cycle counts is over ten cycles.

Contents
摘要 I
ABSTRACT II
ACKNOWLEDGMENT III
CONTENTS IV
LIST OF FIGURES VII
LIST OF TABLES VIII
CHAPTER 1 INTRODUCTION 1
1.1 JAVA OBJECT-FIELD ACCESS OVERVIEW 1
1.2 MOTIVATION 2
1.3 OBJECTIVES AND APPROACHES 2
1.4 ORGANIZATION OF THIS THESIS 3
CHAPTER 2 BACKGROUND 4
2.1 JAVA TECHNOLOGIES 4
2.1.1 Java Bytecode Execution Methods 4
2.1.2 Java Class File Organization 6
The File Header, Constant Pool and Class Descriptor 7
The Fields and Methods 9
Attributes 9
2.1.3 Java Annotations 10
2.2 JAVA RUNTIME ENVIRONMENT 11
2.2.1 Method Area 12
2.2.2 PC Register and Java Heap 12
2.2.3 Stack Frame 14
2.3 OBJECT TECHNOLOGY IN JAVA 15
2.3.1 what is Instance Variables 16
2.3.2 Instance Variables Structure and Inheritance 16
2.4 TWO POSSIBLE KINDS OF OBJECT LAYOUT 18
2.4.1 Object Layout with Handle Table 18
2.4.2 Object Layout without Handle Table 19
2.5 GARBAGE COLLECTION 20
2.5.1 Garbage Collection overview 20
2.5.2 Object Layout with Handle Table vs. Object Layout without Handle Table 22
Object Layout with Handle Table 22
Object Layout without Handle Table 23
2.6 SUMMARY OF DIFFERENT OBJECT LAYOUTS 24
CHAPTER 3 PROPOSED METHOD FOR OBJECT-FIELD REUSING BUFFER 26
3.1 OBJECT-FIELD ACCESS ANALYSIS 26
3.1.1 Execution Flow of Object-Field Access 26
3.1.2 Optimization Method Proposed by Sun 29
3.1.3 Object-Field Access Analysis for Different Plat-Form 31
Interpreter and Java processor without folding technique 32
JIT compiler and Java processor with folding technique 33
3.2 DESIGN CONCEPT OF OBJECT-FIELD REUSING BUFFER 34
3.2.1 Application Environment 34
3.2.2 Methodology Overview 35
3.2.3 Possible Face Problems 37
3.3 TWO KINDS OF DESIGN FOR OBJECT-FIELD REUSING BUFFER 39
3.3.1 Build-In Implementation 39
3.3.2 Annotation-base Implementation 40
Methodology 41
3.4 DESIGN FLOW 42
3.4.1 Object-Field Analysis 42
3.4.2 Modification of VM 44
Modification of Handle Table 46
Modification of bytecodes 47
getfield_quick vs. getfield_buff_offset 48
CHAPTER 4 SIMULATION ENVIRONMENT AND RESULT 50
4.1 SIMULATION ITEMS 50
4.2 SIMULATION ENVIRONMENT 50
4.3 BENCHMARKS 51
4.4 SIMULATION RESULT 53
4.4.1 Object Field Access Distribution 53
4.4.2 Hit Ratio of Object-field Reusing Buffer 55
Build-In Implementation 55
Annotation-base Implementation 56
4.5 PERFORMANCE EVALUATION 57
4.5.1 Methodology and Assumption 57
Methodology for B-Cycles 59
Methodology for B-Ratio and GC-Ratio 59
Methodology for Ratio of GC w/o handle and Ratio of GC w handle 60
Evaluation Step for Interpreter 60
Evaluation Step for JIT Compiler 61
4.5.2 Performance Evaluation Result 61
For Interpreter 61
For JIT compiler 64
4.5.3 Performance Evaluation Discussion 65
CHAPTER 5 CONCLUSIONS AND FUTURE WORK 67
REFERENCES 68

References
[1]. T. Lindholm, F. Yellin, The Java Virtual Machine specification, Addison Wesley, 1997.
[2]. “Java website by Sun Microsystems, Inc”, http://java.sun.com
[3]. Chandra Krintz, Brad Calder, Using Annotations to Reduce Dynamic Optimization Time, 2001
[4]. James Gosling, Henry McGilton, The Java(tm) Language Environment: A White Paper
[5]. Sun Microsystems, Inc. “Java 2 Platform, Micro Edition”
[6]. Pendragon Software Corporation, Embedded CaffeineMark 3.0 benchmark, http://www.webfayre.com, 1997
[7]. L.-C Chang, L.-R Ton, M.-F Kao, and C.-P Chung, “Stack Operations Folding in Java Processors” Computers and Digital Techniques, IEE Proceedings-, Volume:145 Issue:5, Sept. 1998
[8]. En-Shen Lin, “Boosting Java Processor Performance by reusing Object Fields”, 2000
[9]. CEKELEOV, M., and DUBOIS, M, “Virtual address caches, Part 1:Problems and solutions in uniprocessors”, IEEE Micro, 1997, p.64-71
[10]. Nik Shaylor, “A Just-In-Time compiler for memory constrained low-power device”, USENIX, 2002

QRCODE
 
 
 
 
 
                                                                                                                                                                                                                                                                                                                                                                                                               
第一頁 上一頁 下一頁 最後一頁 top
系統版面圖檔 系統版面圖檔