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

在Java處理器上字串操作之效能分析與優化

Performance Evaluation and Optimization of String Manipulation on a Java Processor

指導教授 : 蔡淳仁

摘要


字串處理在Java和其他高階語言中是不可或缺的功能,例如web-based之應用程式裡,需要解析許多腳本語言檔案(scripts)。在本論文裡,我們試著量測與分析JAIP,一個具可重複使用性的異質雙核心Java處理器,處理字串操作之性能,並設計加速電路改進其性能。在Java語言中,字串之資料結構是以String和StringBuffer類別來包裝字元陣列,並且提供methods進行字串串接、比較與subString等等操作。這些字串操作重複地使用到heap memory access,其中包括了字元陣列的存取和物件field存取。為了加速這些大量迴圈結構的heap memory access程式碼,我們提出了一個String Accelerator Architecture,此架構中包含了兩個字串操作之加速器,分別為arraycopy與indexOf,與一個Hardware Native Interface。除此之外,為了增加heap memory之空間分配更加有效率,我們的heap使用了Heap Management Unit設計。經過Embedded CaffeineMark(ECM) benchmark的StringAtom分數測量,JAIP使用本研究提出的字串加速器再配合heap access之優化,比起heap未優化且未使用字串加速器之JAIP,可以得到4.85倍的效能提升;而比起使用JIT模式的CVM,我們的效能也高出1.31倍。

關鍵字

爪哇 字串處理 嵌入式

並列摘要


無資料

參考文獻


[2] R. S. Boyer and J. S. Moore, "A fast string searching algorithm," Communications of the ACM, vol. 20, pp. 762-772, 1977.
[3] R. A. Wagner and M. J. Fischer, "The string-to-string correction problem," Journal of the ACM (JACM), vol. 21, pp. 168-173, 1974.
[4] M. Aldwairi, T. Conte, and P. Franzon, "Configurable string matching hardware for speeding up intrusion detection," ACM SIGARCH Computer Architecture News, vol. 33, pp. 99-107, 2005.
[6] C. R. Clark and D. E. Schimmel, "Scalable pattern matching for high speed networks," in Field-Programmable Custom Computing Machines, 2004. FCCM 2004. 12th Annual IEEE Symposium on, 2004, pp. 249-257.
[7] J. M. O'connor and M. Tremblay, "picoJava-I: The Java virtual machine in hardware," Micro, IEEE, vol. 17, pp. 45-53, 1997.

延伸閱讀