Timescale functions for parallel memory allocation

Timescale functions for parallel memory allocation
复制标题

DOI:
10.1145/3315573.3329987
复制
发表时间:
2019-06
期刊:
Proceedings of the 2019 ACM SIGPLAN International Symposium on Memory Management
影响因子:
--
通讯作者:
Pengcheng Li;Hao Luo;C. Ding
Pengcheng Li;Hao Luo;C. Ding
中科院分区:
其他
文献类型:
--
作者:
Pengcheng Li;Hao Luo;C. Ding

文献摘要

相似文献

内存分配对于并行性能越来越重要,但是由于程序具有多种尺寸的数据,并且需求因线程而异,现代分配器使用高度调整的启发式方法。从几个线程到数百个线程。使用单个参数的同步频率,称为每个fetch(APF)。 MongoDB的占55%,将Web服务器的尾部潜伏期降低了60%以上,并将合成基准选择的速度提高了24倍,而使用相同量记忆。
Memory allocation is increasingly important to parallel performance, yet it is challenging because a program has data of many sizes, and the demand differs from thread to thread. Modern allocators use highly tuned heuristics but do not provide uniformly good performance when the level of concurrency increases from a few threads to hundreds of threads. This paper presents a new timescale theory to model the memory demand in real time. Using the new theory, an allocator can adjust its synchronization frequency using a single parameter called allocations per fetch (apf ). The paper presents the timescale theory, the design and implementation of APF tuning in an existing allocator, and evaluation of the effect on program speed and memory efficiency. APF tuning improves the throughput of MongoDB by 55%, reduces the tail latency of a Web server by over 60%, and increases the speed of a selection of synthetic benchmarks by up to 24× while using the same amount of memory.