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
基金
美国国家科学基金会;
关键词
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
相关论文
共 50 条
  • [21] C for C plus plus programmers
    Stevens, A
    DR DOBBS JOURNAL, 1997, 22 (07): : 99 - 102
  • [22] Comparison of Garbage Collector Prototypes for C plus plus Applications
    Mcheick, Hamid
    Sioud, Aymen
    2009 IEEE/ACS INTERNATIONAL CONFERENCE ON COMPUTER SYSTEMS AND APPLICATIONS, VOLS 1 AND 2, 2009, : 668 - +
  • [23] CCmutator: A Mutation Generator for Concurrency Constructs in Multithreaded C/C plus plus Applications
    Kusano, Markus
    Wang, Chao
    2013 28TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE), 2013, : 722 - 725
  • [24] An Effective Strategy for Porting C plus plus Applications on Cell
    Varbanescu, Ana Lucia
    Sips, Henk
    Ross, Kenneth A.
    Liu, Qiang
    Liu, Lurng-Kuo
    Natsev, Apostol
    Smith, John R.
    2007 INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING WORKSHOPS (ICPP), 2007, : 489 - +
  • [25] HWASanIO: Detecting C/C plus plus Intra-object Overflows with Memory Shading
    Hohentanner, Konrad
    Kasten, Florian
    Auer, Lukas
    PROCEEDINGS OF THE 12TH ACM SIGPLAN INTERNATIONAL WORKSHOP ON THE STATE OF THE ART IN PROGRAM ANALYSIS, SOAP 2023, 2023, : 27 - 33
  • [26] C plus plus Memory Detection Tool Based on Dynamic Instrumentation
    Fu, Siran
    Cui, Baojiang
    Guo, Tao
    Song, Xuyan
    ADVANCES IN INTERNET, DATA & WEB TECHNOLOGIES, 2018, 17 : 663 - 674
  • [27] A C plus plus computational environment for biomolecular sequence management
    Chiusano, M. L.
    Gojobori, Takashi
    Toraldo, G.
    COMPUTATIONAL MANAGEMENT SCIENCE, 2005, 2 (03) : 165 - 180
  • [28] DMTI: Accelerating Memory Error Detection in Precompiled C/C plus plus Binaries with ARM Memory Tagging Extension
    Hager-Clukas, Andreas
    Hohentanner, Konrad
    PROCEEDINGS OF THE 19TH ACM ASIA CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, ACM ASIACCS 2024, 2024, : 825 - 837
  • [29] Synchronising C/C plus plus and POWER
    Sarkar, Susmit
    Memarian, Kayvan
    Owens, Scott
    Batty, Mark
    Sewell, Peter
    Maranget, Luc
    Alglave, Jade
    Williams, Derek
    ACM SIGPLAN NOTICES, 2012, 47 (06) : 311 - 321
  • [30] Securing C/C plus plus Applications with a SEcube™-based Model-driven Approach
    Gossen, Frederik
    Neubauer, Johannes
    Steffen, Bernhard
    2017 12TH IEEE INTERNATIONAL CONFERENCE ON DESIGN & TECHNOLOGY OF INTEGRATED SYSTEMS IN NANOSCALE ERA (DTIS 2017), 2017,