MESH: Compacting Memory Management for C/C plus plus Applications

被引:17
作者
Powers, Bobby [1 ]
Tench, David [1 ]
Berger, Emery D. [1 ]
McGregor, Andrew [1 ]
机构
[1] Univ Massachusetts, Coll Informat & Comp Sci, Amherst, MA 01003 USA
来源
PROCEEDINGS OF THE 40TH ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION (PLDI '19) | 2019年
基金
美国国家科学基金会;
关键词
Memory management; runtime systems; unmanaged languages;
D O I
10.1145/3314221.3314582
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Programs written in C/C++ can suffer from serious memory fragmentation, leading to low utilization of memory, degraded performance, and application failure due to memory exhaustion. This paper introduces Mesh, a plug-in replacement for malloc that, for the first time, eliminates fragmentation in unmodified C/C++ applications. Mesh combines novel randomized algorithms with widely-supported virtual memory operations to provably reduce fragmentation, breaking the classical Robson bounds with high probability. Mesh generally matches the runtime performance of state-of-the-art memory allocators while reducing memory consumption; in particular, it reduces the memory of consumption of Firefox by 16% and Redis by 39%.
引用
收藏
页码:333 / 346
页数:14
相关论文
共 34 条
  • [1] Adger Mads, 2013, BLINK DEV OILPAN EXP
  • [2] [Anonymous], 2010, Huge pages part 2: Interfaces
  • [3] Berger ED, 2000, ACM SIGPLAN NOTICES, V35, P117, DOI 10.1145/384264.379232
  • [4] Berger ED, 2006, ACM SIGPLAN NOTICES, V41, P158, DOI 10.1145/1133981.1134000
  • [5] Casey Michele, 2013, PERFORMANCE ISSUES T
  • [6] Click Cli, 2005, P 1 ACM USENIX INT C, P46, DOI [DOI 10.1145/1064979.1064988EVENT-PLACE:CHICAGO,IL,USA, 10.1145/1064979.1064988, DOI 10.1145/1064979.1064988]
  • [7] Cloudera, 2019, OPT PERF CDH
  • [8] Limitations of Partial Compaction: Towards Practical Bounds
    Cohen, Nachshon
    Petrank, Erez
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2017, 39 (01):
  • [9] Limitations of Partial Compaction: Towards Practical Bounds
    Cohen, Nachshon
    Petrank, Erez
    [J]. ACM SIGPLAN NOTICES, 2013, 48 (06) : 309 - 319
  • [10] Coppeard Jon, 2015, Compacting Garbage Collection in SpiderMonkey.