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

利用不同記憶體配置增進連結器效能

Speed Improvement of MCLinker with Different Memory Layout

指導教授 : 廖世偉

摘要


連結器這個程式的功能是將一個或多個編譯器產生的檔案合併成為 一個單一的檔案。 由於連結器需要從輸入的檔案讀取資料, 所以輸 入、輸出所花費的時間在連結過程扮演著重要的角色。 在這篇論文中,我們說明了加速裝置上連結器的方法。 為了降低 輸入輸出所花費的時間, 我們在原先的架構上針對從檔案讀取資料的 演算法進行修改, 並且更換了記憶體配置方式。 在測量效能方面,我們使用擁有不同輸入檔案的程式做為測試程 式。 實驗結果顯示連結器執行的時間增快百分之五到百分之十一, 而 且連結擁有較多輸入檔的應用程式時,可以降低百分之十六的分頁錯 誤。

關鍵字

連結器 記憶體映射

並列摘要


A linker or link editor is a program that takes one or more objects gener- ated by a compiler and combines them into a single executable program[2]. Since linker should read data from input files, I/O time plays an important role in linking. It make sense to reduce I/O time for a linker. In this paper, we describe the design for speeding up linking time of an on-device linker. In order to reduce I/O time, we use a different algorithm for reading data from input files and change memory layout based on host architecture. To evaluate the performance, we use applications with different number of input files as benchmarks. In our experence, the linking time is 5% faster than original version and we reduce 15% to 20% page faults when linking with the applications with more input files.

並列關鍵字

MCLinker memory map

參考文獻


[4] W. R. Stevens. Advanced Programming in the UNIX Environment. Addison-Wesley,
[1] Fish fillets. http://fillets.sourceforge.net/index.php.
[2] J. R. Levine. Linker and Loader. Morgan-Kauffman, 1999.
[3] T. Luba. Llvm linker for moblie computing. http://code.google.com/p/
mclinker/.

延伸閱讀