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 条
  • [31] Hovac: A Configurable Fault Injection Framework for Benchmarking the Dependability of C/C plus plus Applications
    Herscheid, Lena
    Richter, Daniel
    Polze, Andreas
    2015 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE SECURITY AND RELIABILITY (QRS 2015), 2015, : 1 - 10
  • [32] x86-64 Instruction Usage among C/C plus plus Applications
    Akshintala, Amogh
    Jain, Bhushan
    Tsai, Chia-Che
    Ferdman, Michael
    Porter, Donald E.
    SYSTOR '19: PROCEEDINGS OF THE 12TH ACM INTERNATIONAL SYSTEMS AND STORAGE CONFERENCE, 2019, : 68 - 79
  • [33] Mixed language programming in C/C plus plus and Java']Java for applications in mechatronic systems
    Cheetancheri, Kabileshkumar G.
    Cheng, Harry H.
    PROCEEDINGS OF THE 2006 IEEE/ASME INTERNATIONAL CONFERENCE ON MECHATRONIC AND EMBEDDED SYSTEMS AND APPLICATIONS, 2006, : 286 - +
  • [34] C plus plus and Interoperability Between Libraries: The GraphBLAS C plus plus Specification
    Brock, Benjamin
    McMillan, Scott
    Buluc, Aydin
    Mattson, Timothy G.
    Moreira, Jose E.
    2023 IEEE INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS, IPDPSW, 2023, : 207 - 215
  • [35] C plus plus Support and Applications for Embedded Multicore DSP Systems
    Kuan, Chi-Bang
    Li, Jia-Jhe
    Chen, Chung-Kai
    Lee, Jenq-Kuen
    JOURNAL OF SIGNAL PROCESSING SYSTEMS FOR SIGNAL IMAGE AND VIDEO TECHNOLOGY, 2014, 75 (02): : 109 - 122
  • [36] ACRE: An Automated Aspect Creator for Testing C plus plus Applications
    Duclos, Etienne
    Le Digabel, Sebastien
    Gueheneuc, Yann-Gael
    Adams, Bram
    PROCEEDINGS OF THE 17TH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING (CSMR 2013), 2013, : 121 - 130
  • [37] Towards Transactional Memory Semantics for C plus
    Shpeisman, Tatiana
    Adl-Tabatabai, Ali-Reza
    Geva, Robert
    Ni, Yang
    Welc, Adam
    SPAA'09: PROCEEDINGS OF THE TWENTY-FIRST ANNUAL SYMPOSIUM ON PARALLELISM IN ALGORITHMS AND ARCHITECTURES, 2009, : 49 - 58
  • [38] A Dynamic Detection Method to C/C plus plus Programs Memory Vulnerabilities Based on Pointer Analysis
    Ma, Rui
    Chen, Lingkui
    Hu, Changzhen
    Xue, Jingfeng
    Zhao, Xiaolin
    2013 IEEE 11TH INTERNATIONAL CONFERENCE ON DEPENDABLE, AUTONOMIC AND SECURE COMPUTING (DASC), 2013, : 52 - 57
  • [39] An improved C plus plus Poisson series processor with its applications
    Lopez Orti, Jose Antonio
    Agost Gomez, Vicente
    Barreda Rochera, Miguel
    COMPUTATIONAL AND MATHEMATICAL METHODS, 2021, 3 (06)
  • [40] Dynamic instrumentation of C plus plus applications on IA-64
    Hundt, R
    Ramasamy, V
    PDPTA'2001: PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED PROCESSING TECHNIQUES AND APPLICATIONS, 2001, : 1628 - 1633