標題: 一個針對LLVM直譯器最佳化之研究
A Study of LLVM Interpreter Optimization
作者: 楊琬菁
Yang, Wan-Ching
楊千
Yang, Chyan
資訊管理研究所
關鍵字: LLVM;直譯器;LLVM;Interpreter
公開日期: 2012
摘要: LLVM提供了即時編譯(JIT)的技術,並且受到許多公司和開放原始碼的專案使用。但是他們往往受限於JIT初次執行的缺陷,因為識別頻繁的執行以及編譯這些方法需要時間,所以在開始的準備過程中運行效果不佳。而事實上,LLVM亦有提供直譯器的功能,因此融合LLVM直譯器與JIT是許多專案未來的研究方向目標。但現今LLVM直譯器運行效能並不好,因此本論文的目的是希望能將LLVM直譯器加速,提供一個高效能的工具讓其他研究使用。 本文首先針對LLVM直譯器增添一些直譯實作,讓其直譯的功能更加完備。繼而,虛擬暫存器資料結構的最佳化,透過改善堆疊棧(stack frame)中Values的資料結構,減少運算擷取(Operand Fetch)與結果寫回(Write Result Back)的時間。 根據最後進行的研究測試,分別針對四種測資進行測試,虛擬暫存器資料結構的最佳化平均可以有39%的效能改進。
This thesis addresses the challenges of building a high performance LLVM interpreter. LLVM provides just-in-time compilation (JIT) technology, and is used by many companies and open-source project. But they are often limited by the JIT implementation pitfalls at the beginning, to identify frequently executed and compile takes time, so in the beginning of the process of preparing ineffective. As a matter of fact, LLVM also provides interpreter, so fusion the LLVM interpreter and JIT is many project goal of future research directions. But the present LLVM interpreter running performance is not good. In the beginning, this thesis adds some interpretation implementation, let the capacity of interpreter more complete. Then, the data structure of virtual register optimizations, by improving the data structure of Values in stack frame, reduce the Operand Fetch and Write the Result Back time. According to the test conducted on four test cases last research, the data structure of virtual register optimization can have an average of 39% performance improvements.
URI: http://140.113.39.130/cdrfb3/record/nctu/#GT070053421
http://hdl.handle.net/11536/71869
顯示於類別:畢業論文