(3.210.184.142) 您好!臺灣時間:2021/05/12 04:08
字體大小: 字級放大   字級縮小   預設字形  
回查詢結果

詳目顯示:::

我願授權國圖
: 
twitterline
研究生:劉家瑋
研究生(外文):Chia-Wei Liu
論文名稱:Java數值運算架構之改進
論文名稱(外文):Enhancement of Java Numerical Computing Framework
指導教授:陳俊良陳俊良引用關係
學位類別:碩士
校院名稱:國立臺灣大學
系所名稱:資訊工程學研究所
學門:工程學門
學類:電資工程學類
論文種類:學術論文
論文出版年:2004
畢業學年度:92
語文別:英文
論文頁數:60
中文關鍵詞:數值運算
外文關鍵詞:JavaNumerical
相關次數:
  • 被引用被引用:0
  • 點閱點閱:86
  • 評分評分:系統版面圖檔系統版面圖檔系統版面圖檔系統版面圖檔系統版面圖檔
  • 下載下載:0
  • 收藏至我的研究室書目清單書目收藏:0
Java技術在數值運算上的改良已經被廣泛的討論,大致可區分為兩個類別:

Michael Philippsen and Edwin Ghnthner和Brian Blout and Siddhartha Chatterjee等人進行的計畫著重在利用新的Java 編譯器,或者更改Java語言來達到增進效能。

Peng Wu, Sam Midkiff, Jose Moreira and Manish Gupta、Jose E. Moreira, Samuel P. Midkiff and Manish Gupta等人進行的專案,則著重在修改VM並配合自定的函式庫來增進效能。

但無論是靠修改Java語言或是修改VM,都有其不可避免的優缺點。修改Java語言或class格式將失去Java本身跨平台的特性,而只修改VM而不配合修改編譯器,將會使它增加釵h額外的負擔來檢查執行時物件的狀態。到目前為止,仍然沒有一個完整的架構能整合Java編譯器及VM,因此我們在這裡提出一套讓Java編譯器和VM能更緊密配合的架構,來支援像數值運算這樣的特殊運算環境。

我們的概念是利用class格式裡面彈性的attribute設計,不需要更改Java語言,只需修改Java編譯器在class檔中加入有用的attribute資訊,並修改VM去讀取這些資訊並做對應的動作來提升整體的效率,如此一來我們不但能保有class跨平台的特性,也能省去VM在執行時的釵h負擔,增進效能。
Enhancements of Java techniques on Numerical Computing have already undergone wide discussion. These attempts may be divided into two categories:

The works led by Michael Philippsen & Edwin Ghnthner, and Brian Blout & Siddhartha Chatterjee focus on improving Java through utilizing new Java compilers or modifying the Java language.

The research done by Peng Wu, Sam Midkiff, Jose Moreira & Manish Gupta, and Jose E. Moreira, Samuel P. Midkiff & Manish Gupta emphasizes performance enhancement through modification of Virtual Machine (VM), provided with self-defined class libraries.

However, despite the advantages of modifying Java or VM, they all have their own shortcomings. By altering the Java language or its class format, one risks losing the advantage of cross-platform portability, which is an important trait of Java. By altering only the VM but not the compiler, one would have to put more work into examining the status of objects at execution time. Until now there has not been a complete architecture capable of integrating Java compiler and VM, and it is the reason why we shall present a set of infrastructure that will bind the compiler and VM more closely so that they could support special computing environments such as numerical computing.

Our concept is to use the flexible attribute designs in the class format to keep the Java language unaltered, and to change only the Java compiler so that it would add useful attribute information to the class file during compilation. Then, we modify the VM to read in the information and to react correspondingly. In this way, we not only preserve class portability, but also free VM from excess status judgment at execution time, which greatly improves its performance.
Chapter 1 - Introduction......................1
Chapter 2 - Java Performance Difficulties.....4
2-1 Complex Issue...........................4
2-2 Array Issue.............................8
Chapter 3 - JNC Framework....................13
3-1 Java Numerical Computing Framework.....13
3-2 DAXPY Attribute........................15
3-3 Array Attributes.......................19
3-2 Complex Attributes.....................27
Chapter 4 - Implementation...................33
Chapter 5 - Experimental Results.............36
5-1 Seven Simple Programs..................36
5-2 Java Linpack...........................42
Chapter 6 – Conclusions and Future Works....48
6-1 Conclusions............................48
6-2 Future Works...........................49
References...................................51
Appendix.....................................54
[1] Brian Blout and Siddhartha Chatterjee, An Evaluation of Java for Numerical Computing, Unversity of North Carolina, 1999.

[2] Peng Wu, Sam Midkiff, Jose Moreira and Manish Gupta, Efficient Support for Complex Number in Java, IBM T.J. Watson Research Center,1999.

[3] Michael Philippsen and Edwin Ghnthner, Complex numbers for Java, University of Karlsruhe, 1999.

[4] P.V. Artigas, M. Gupta, S.P. Midkiff, and J.E. Moreira, High Performance Numerical Computing in Java : Language and Compiler Issues. IBM Thomas J. Watson Research Center, 1999.

[5] Ronald F. Boisvert, Jose Moreira, Michael Philippsen and Ronald Pozo, Java and Numerical Computing, IEEE 2001.

[6] Jose E. Moreira, Samuel P. Midkiff and Manish Gupta, Supporting Multidimensional Array in Java, IBM T.J. Watson Research Center, 2001.

[7] Jose E. Moreira, Samuel P. Midkiff and Manish Gupta, The NINJA Project: Making Java Work for High Performance Numerical Computing, IBM T.J. Watson Research Center, 2001.

[8] C. van Reeuwijk and H.J. Sips, Adding Tuples to Java: a Study in Lightweight Data Structures, Delft

[9] David M. Doolin, Jack Dongarra and Keith Seymour, JLAPACK-Compiling LAPACK Fortran to Java, May 26, 2000.

[10] J.E. Moreira, S.P. Midkiff, M. Gupta, P.V. Artigas, M. Snir and R.D. Lawrence, Java Programming for High Performance Numerical Computing, IBM T.J. Watson Research Center,2000.

[11] Keith Seymour and Jack Dongarra, Automatic Translation of Fortran to JVM Bytecode, Department of Computer Science, University of Tennessee,2000.

[12] Geir Gundersen and Trond Steihaug, Data Structure in Java for Matrix Computations, University of Bergen, October 15, 2002.

[13] Ronald F. Boisvert, Jack J. Dongarra, Ronald Pozo, Karin A. Remington and G..W. Stewart, Developing numerical libraries in Java, University of Tennesee,1998

[14] M. Gierniak and W. Li. Just-in-time optimization for high-performance Java programs. Concurrency, Pract. Exp. (UK), 9(11):1063-73, November 1997. Java for Computational Science and Engineering – Simulation and Modeling II, Las Vegas, NV, June 21, 1997.

[15] V. Getov, S. Flynn-Hummel and S. Mintchev. High performance parallel programming in Java : Exploiting native libraries. In ACM 1998 Workshop on Java for High-Performance Network Computing. ACM SIGPLAN, 1998, Available at http://www.cs.ucsb.edu/conferences/java98.

[16] Kaffe project, Kaffe 1.1.3 VM, available at http://www.kaffe.org.

[17] Sun’s javac , available at http://java.sun.com.

[18] Java numerics , available at http://math.nist.gov/javanumeric.
QRCODE
 
 
 
 
 
                                                                                                                                                                                                                                                                                                                                                                                                               
第一頁 上一頁 下一頁 最後一頁 top
系統版面圖檔 系統版面圖檔