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 条
  • [1] MESH: A Memory-Efficient Safe Heap for C/C plus
    Vintila, Emanuel Q.
    Zieris, Philipp
    Horsch, Julian
    ARES 2021: 16TH INTERNATIONAL CONFERENCE ON AVAILABILITY, RELIABILITY AND SECURITY, 2021,
  • [2] On Monitoring C/C plus plus Transactional Memory Programs
    Fiedor, Jan
    Letko, Zdenek
    Lourenco, Joao
    Vojnar, Tomas
    MATHEMATICAL AND ENGINEERING METHODS IN COMPUTER SCIENCE, MEMICS 2014, 2014, 8934 : 73 - 87
  • [3] Tracing Error Propagation in C/C plus plus Applications
    Kong, Shiyi
    Lu, Minyan
    Li, Luyi
    2018 IEEE 18TH INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY AND SECURITY COMPANION (QRS-C), 2018, : 308 - 315
  • [4] Enhanced Memory Corruption Detection in C/C plus plus Programs
    Lin, Ching-Yi
    Yang, Wuu
    PROCEEDINGS OF THE 52ND INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING WORKSHOPS PROCEEDINGS, ICPP-W 2023, 2023, : 71 - 78
  • [5] Genetic Optimisation of C plus plus Applications
    Giavrimis, Rafail
    Butler, Alexis
    Petrescu, Constantin Cezar
    Basios, Michail
    Dash, Santanu Kumar
    2021 36TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING ASE 2021, 2021, : 1180 - 1182
  • [6] C plus plus optimizations for mobile applications
    Chehimi, Fadi
    Coulton, Paul
    Edwards, Reuben
    2006 IEEE TENTH INTERNATIONAL SYMPOSIUM ON CONSUMER ELECTRONICS, PROCEEDINGS, 2006, : 389 - +
  • [7] Foundations of the C plus plus Concurrency Memory Model
    Boehm, Hans-J.
    Adve, Sarita V.
    PLDI'08: PROCEEDINGS OF THE 2008 SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN & IMPLEMENTATION, 2008, : 68 - 78
  • [8] A Comprehensive Detection of Memory Corruption Vulnerabilities for C/C plus plus Programs
    Gao, Yuhan
    Chen, Liwei
    Shi, Gang
    Zhang, Fei
    2018 IEEE INT CONF ON PARALLEL & DISTRIBUTED PROCESSING WITH APPLICATIONS, UBIQUITOUS COMPUTING & COMMUNICATIONS, BIG DATA & CLOUD COMPUTING, SOCIAL COMPUTING & NETWORKING, SUSTAINABLE COMPUTING & COMMUNICATIONS, 2018, : 354 - 360
  • [9] A Mechanized Semantics for C plus plus Object Construction and Destruction, with Applications to Resource Management
    Ramananandro, Tahina
    Dos Reis, Gabriel
    Leroy, Xavier
    POPL 12: PROCEEDINGS OF THE 39TH ANNUAL ACM SIGPLAN-SIGACT SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES, 2012, : 521 - 532
  • [10] C plus plus Metastring Library and Its Applications
    Szugyi, Zalan
    Sinkovics, Abel
    Pataki, Norbert
    Porkolab, Zoltan
    GENERATIVE AND TRANSFORMATIONAL TECHNIQUES IN SOFTWARE ENGINEERING III, 2011, 6491 : 461 - 480