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

在記憶體密集型應用程式中的最佳化技術

Techniques in Optimizing Memory-Intensive Applications

指導教授 : 廖世煒

摘要


在電腦系統中,記憶體管理扮演了一個重要的角色。一般而言,記 憶體管理員負責分配記憶體給程式和回收不再被使用的記憶體。有鑑 於Memory Wall 的問題,記憶體管理已成為提升電腦系統效能的重要 研究主題。在本篇論文提出了數種的記憶體管理決策,並探討這些方 法在不同的電腦層級中對效能的影響。 第一個實驗探討了不同的參數設定對memory copy 效能的影響。從 實驗中發現,正確的參數設定可以比預設的效能要好上8% 。另一方 面,若選錯了參數設定,相較於最好的參數設定,效能上的差距將會 達到三倍之多。然而最好的參數並非那麼顯而易見。 在第二個實驗中,我們探討並改善了Android 中Dalvik 虛擬機器 的垃圾收集機制的效能,與原始的設計相比,垃圾收集的效能提升約 67%。最後,我們也改善了Dalvik 中配置記憶體的速度,其速度提升 了43%。

並列摘要


Memory management is the act of governing the memory sub-system in computers. Generally, memory management software involves the ways to allocate portions of memory requests by programs and recycle the memory when it is no longer needed. Due to the Memory Wall problem, memory management has been an important research topic to boost the performance of computer systems. In this thesis, the performance of different memory management strategies at different levels is evaluated. Several practical methods for memory management are provided to boost the system performance. First, the experiments were done to evaluate the performance of memory copy operations with different configurations. From empirical experiments, we found that with proper configuration, the performance of memory copy operation can achieve about 8% speedup as compared with the default configuration. On the other hand, if the configuration is not chosen judiciously, the performance delivered by the best configuration, which is not obvious to find, can be 3.94 times faster than the worst configuration. Second, we evaluated the performance of Garbage Collection mechanism implemented in Android’s Dalvik virtual machine. The speed of garbage collecting operation is improved up to 67% compared to original design. Finally, the memory allocation mechanism in Dalvik is studied as well. The speed of memory allocation operation is accelerated by up to 43%.

參考文獻


[1] Android developers, the developer’s guide. http://developer.android.
[5] D. Callahan, K. Kennedy, and A. Porterfield. Software prefetching. In Proceedings
of the fourth international conference on Architectural support for programming
languages and operating systems, pages 40–52. ACM New York, NY, USA, 1991.
[6] T. Chen and J. Baer. A performance study of software and hardware data prefetching

延伸閱讀