期刊文献+

提高堆数据局部性的动态池分配技术 被引量:4

Dynamic Pool Allocation on Improving Heap Data Locality
下载PDF
导出
摘要 动态内存分配在现代程序中被广泛使用.通用的内存分配器通常关注于降低运行时开销和内存利用率,而在发掘所分配对象之间的特性方面有所欠缺.文中展示了一个低开销的动态优化技术"动态池分配".它在运行时构造存储形状图,从中发掘动态分配对象之间的亲缘性,把具有亲缘性的对象聚集到一段内存区域(称为内存池)里,改善了它们的数据布局.作者在实际机器上实现了动态池分配原型系统,并在GCC--O3编译的一些大量使用堆数据的SPEC 2000和2006程序上进行了测试.原型系统在两台实际机器上获得了13.1%和11.8%的平均加速比,对一些程序的加速高达82.2%.此外,作者还研究了CPU的高速缓存大小对池分配效果的影响. Dynamic memory allocation is widely used in modern programs.General-purpose heap allocators often focus more on reducing their run-time overhead and memory space utilization,but less on exploiting the characteristics of their allocated heap objects.This paper presents a lightweight dynamic optimization technique,named Dynamic Pool Allocation(DPA),which generates Storage Shape Graph at run-time,and exploits the affinity of the allocated heap objects.It uses heuristics to aggregate affinitive heap objects into dedicated memory regions,called memory pools.The authors have implemented DPA and measured its performance on several SPEC CPU 2000 and 2006 benchmarks that use extensive heap objects.Evaluations show that it could achieve an average speed up of 13.1% and 11.8% on two x86 commodity machines respectively using GCC——O3,and up to 82.2% for some benchmarks.The authors also examined the impact of cache size to the effectiveness of pool allocation.
出处 《计算机学报》 EI CSCD 北大核心 2011年第4期665-675,共11页 Chinese Journal of Computers
基金 国家自然科学基金(60736012) 国家自然科学基金创新群体(60921002) 工信部核高基重大专项(2009ZX01036-001-002) 国家"九七三"重点基础研究发展规划项目基金(2011CB302504) 国家"八六三"高技术研究发展计划项目基金(2007AA01Z110)资助
关键词 池分配 变长调用链 亲缘性 数据布局 动态优化 pool allocation adaptive partial call chain affinity data layout dynamic optimization
  • 相关文献

参考文献16

  • 1Moore G E. Cramming more components onto integrated cir cuits. Electronics, 1965, 38(8): 114-117.
  • 2Huang Xianglong, Blackburn Stephen M, McKinley KathrynS, Moss J Eliot B, Wang Zhenlin, Cheng Perry. The gar- bage collection advantage: Improving program locality//Proceedings of the 19th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA'04). New York, NY, USA, 2004: 69-80.
  • 3Chilimbi Trishul M, Larus James R. Using generational gar-bage collection to implement cache conscious data place- ment//Proeeedings of the 1st International Symposium on Memory Management(ISMM'98). New York, NY, USA, 1998::37-48.
  • 4Serrano Mauricio J, Zhuang Xiaotong. Placement optimiza-tion using data context collected during garbage collection// Proceedings of the 2009 International Symposium on MemoryManagement(ISMM'09). New York, NY, USA, 2009: 69-78.
  • 5Lattner Chris, Adve Vikram. Automatic pool allocation: Ira-proving performance by controlling data structure layout inthe heap//Proceedings of the 2005 ACM SIGPLAN Confer- ence on Programming Language Design and Implementation (PLDI'05). New York, NY, USA, 2005:129-142.
  • 6Seidl Matthew L, Zorn Benjamin G. Segregating heap objectsby reference behavior and lifetime//Proeeedings of the 8th International Conference on Architectural Support for Pro- gramming Languages and Operating Systems (ASPLOS- VIII). New York, NY, USA, 1998:12-23.
  • 7Barrett David A, Zorn Benjamin G. Using lifetime predictorsto improve memory allocation performance//Proeeedings of the ACM SIGPLAN 1993 Conference on Programming Lan-guage Design and Implementation (PLDI' 93). New York, NY, USA, 1993:187-196.
  • 8Chilimbi Trishul M, Hill Mark D, Larus James R. Cache-conscious structure layout//Proceedings of the ACM SIGP- LAN 1999 Conference on Programming Language Design andImplementation(PLDI'99). New York, NY, USA, 1999: 1-12.
  • 9Chilimbi Trishul M, Shaham Ran. Cache-conscious coalloca-tion of hot data streams//Proceedings of the 2006 ACM SIG-PLAN Conference on Programming Language Design and Im- plementation(PLDl'06). New York, NY, USA, 2006.. 252- 262.
  • 10Zhao Qin, Rabbah Rodric, Wong Weng-Fai. Dynamic mere-ory optimization using pool allocation and prefetching. ACM SIGARCH Computer Archlteeture News, 2005, 33(5), 27-32.

同被引文献27

  • 1朱沿旭,尹俊文.一种减少碎片的伙伴算法的改进[J].计算机工程与科学,2006,28(z2):175-176. 被引量:1
  • 2王丽杰,熊光泽,罗蕾.嵌入式RTOS安全保护机制的研究与实现[J].电子科技大学学报,2005,34(5):650-653. 被引量:13
  • 3张希元,赵海,孙佩刚,罗玎玎.WebitOS内核的实现机制及性能分析[J].东北大学学报(自然科学版),2006,27(4):394-397. 被引量:19
  • 4郭振宇,桑楠,杨霞.一种嵌入式系统内存管理的延迟合并伙伴机制[J].电子科技大学学报,2007,36(3):555-558. 被引量:4
  • 5Risco-Martin J L, Atienza D, Manuel Colmenar J, et al. A Parallel Evolutionary Algorithm to Optimize Dynamic Memory Managers in Embedded Systems [J]. Parallel Computing, 2010, 36(10-11): 572-590.
  • 6Xydis S, Stamelakos I, Bartzas A, et al. Runtime Tuning of Dynamic Memory Management for Mitigating Footprint- fragmentation Variations[C/OL] [2011-12-15]. http://conferences, microlab, ntua. gr/parma2011/slides/1.3, pdf.
  • 7Bendersky A, Petrank E. Space Overhead Bounds for Dynamic Memory Management with Partial Compaction[C/OL]. [2011-12-20]. http : / / www. cs. technion, ac. il/ erez/ Papers/ MemoryBounds-f ullver, pdf .
  • 8Soto M, Rossi A, Sevaux M. Two Iterative Metaheuristic Approaches to Dynamic Memory Allocation for Embedded Systems[J]. Computer Science, 2011, 6622: 250-261.
  • 9Risco-Martin I L, Atienza D, Gonzalo R, et at. Optimization of Dynamic Memory Managers for Embedded Systems Using Grammatical Evolution [C/OL]. [2011-09-12]. http://infoscience, epfl. ch/record/140705/files/p1609- GECCO09. pdf.
  • 10Masmano M, Ripoll I, Real J, et al. Implementation of a Constant-time Dynamic Storage Allocator [J]. Software: Practice and Experience, 2008, 38(10) : 995-1026.

引证文献4

二级引证文献13

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部