arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 2108.07223cs.DC
收藏

Metall:一个面向数据中心分析的持久内存分配器

Metall: A Persistent Memory Allocator For Data-Centric Analytics

Keita Iwabuchi, Karim Youssef, Kaushik Velusamy, Maya Gokhale, Roger Pearce

摘要:

数据分析应用程序在执行分析之前将原始输入数据转换为特定于分析的数据结构。不幸的是,这样的数据摄取步骤通常比分析更昂贵。此外,各种类型的NVRAM设备已经在当今的许多HPC系统中使用。这样的设备对于在单个过程生存周期之外存储和重用数据结构将是有用的。我们开发了Metall,一个建立在内存映射文件机制之上的持久内存分配器。Metall使应用程序能够透明地将自定义C++数据结构分配到各种类型的持久性内存中。Metall融合了受Supermalloc启发的简洁且高性能的存储管理算法和由Boost.Interprocess库开发的丰富C++接口。在动态图构建工作负载上,Metall的性能分别比Boost.Interprocess和memkind(PMEM类)提高了11.7倍和48.3倍。我们还展示了Metall的高适应性集成到一个图形处理框架,GraphBLAS模板库。这项研究的结果表明,Metall将是一个强大的工具,通过允许应用程序有效地利用持久内存来加速未来的大规模数据分析。

英文摘要:

Data analytics applications transform raw input data into analytics-specific data structures before performing analytics. Unfortunately, such data ingestion step is often more expensive than analytics. In addition, various types of NVRAM devices are already used in many HPC systems today. Such devices will be useful for storing and reusing data structures beyond a single process life cycle. We developed Metall, a persistent memory allocator built on top of the memory-mapped file mechanism. Metall enables applications to transparently allocate custom C++ data structures into various types of persistent memories. Metall incorporates a concise and high-performance memory management algorithm inspired by Supermalloc and the rich C++ interface developed by Boost.Interprocess library. On a dynamic graph construction workload, Metall achieved up to 11.7x and 48.3x performance improvements over Boost.Interprocess and memkind (PMEM kind), respectively. We also demonstrate Metall's high adaptability by integrating Metall into a graph processing framework, GraphBLAS Template Library. This study's outcomes indicate that Metall will be a strong tool for accelerating future large-scale data analytics by allowing applications to leverage persistent memory efficiently.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑