实际场景中动态存储分配装箱算法出人意料的高效性:一种学术摘要
编程语言
2023-05-03 v1
摘要
近期工作表明将分配器视为黑盒 2DBP 求解器是有意义的。例如,存在一种基于 2DBP 的碎片度量,常最大化驻留集大小(RSS)单调相关。鉴于该领域在碎片定义上的不确定性,以及物理内存节省的巨大价值,我们致力于将分配器生成的布局与其 2DBP 设计、最小化完工时间的对应方案对比。当然,分配器必须在线运行,而 2DBP 算法处理完整请求轨迹;但由于双方优化的准则均关乎最小化内存浪费,研究二者关系仍具学术——及实践——意义。遗憾的是,尚无面向 DSA 的 2DBP 算法实现。本文给出最先进算法首个(虽部分)实现。我们通过将其输出完工时间与原作者给出的理论上界比较来验证功能。在此过程中,我们识别并记录关键细节以助未来类似工作。实验包含 4 个现代分配器与 8 个真实应用负载。我们基于经验证据作出若干显著观察:在完工时间上,分配器 93.75% 的时间优于 Robson 最坏情况下界。87.5% 的案例中,GNU 的 \texttt{malloc} 实现表现等同或优于离线运行的 2DBP 最先进算法。最令人惊讶的是,2DBP 算法在碎片方面表现胜任,产生至多 x 更优解。未来研究可利用此类洞见面向内存定向优化。
引用
@article{arxiv.2305.01497,
title = {The Unexpected Efficiency of Bin Packing Algorithms for Dynamic Storage Allocation in the Wild: An Intellectual Abstract},
author = {Christos P. Lamprakos and Sotirios Xydis and Francky Catthoor and Dimitrios Soudris},
journal= {arXiv preprint arXiv:2305.01497},
year = {2023}
}
备注
13 pages, 10 figures, 3 tables. To appear in ISMM '23