Mesh:面向C/C ++应用的紧凑存储管理
Mesh: Compacting Memory Management for C/C++ Applications
摘要:
用C/C++编写的程序可能会遭受严重的内存碎片,导致内存利用率低,性能下降,以及由于内存耗尽而导致的应用程序故障。本文介绍了Mesh,这是一个malloc的插件替代品,它首次消除了未经修改的C/C++应用程序中的碎片。Mesh将新颖的随机算法与广泛支持的虚拟内存操作相结合,以可证明的方式减少碎片,以高概率打破经典的Robson界限。Mesh在降低内存消耗的同时,通常与最先进的内存分配器的运行时性能相匹配;特别是,它将Firefox的内存消耗减少了16%,Redis减少了39%。
英文摘要:
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%.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。