翻译Performance, Energy and NVM Lifetime-Aware Data Structure Refinement and Placement for Heteroge

在过去的几年里,产生大量需要存储和处理的数据的应用程序的快速增长正在高速增长。例如,跨计算连续体的多个应用程序域由机器学习(ML)算法[1]启用,并依赖数据库来执行基于复杂查询的事务,或处理在计算机边缘实时生成的数据流。物联网网络[2]。此类应用程序范例通常依赖于复杂内存层次结构上的内存中和就地数据处理,以避免昂贵的数据传输。因此,开发人员试图通过对主内存子系统施加巨大压力来满足实时性能要求并解决能耗限制。

传统系统由基于 DRAM 的主存储器组成。然而,DRAM 技术在过去几年中已经达到了物理极限 [3],因为它们在可扩展性和可持续性方面都表现出局限性。由于 DRAM 技术的泄漏和刷新功率导致能耗增加,集成多个 DRAM DIMM 来实现更高的性能并满足增加的内存容量需求的效率变得低下。因此,最先进的超级计算系统的可维护成本使得投资完全基于 DRAM 的内存容量增加非常没有吸引力。现有文献表明,典型的 DRAM内存子系统消耗的能量高达典型 HPC 系统的 50% [4]

为了解决这些限制,人们对新兴存储器技术进行了研究,包括非易失性存储器(NVM)。 NVM 技术,例如 3D-XPoint [5](相变存储器 [6] 的子类)、自旋转移扭矩 RAM [7] 和电阻 RAM [8] 是活跃研究领域的产品,涉及学术界和工业界。英特尔傲腾 DPCM(数据中心持久内存)是迄今为止唯一的商用 NVM。各种最先进的 HPC 系统集成了高达 PB 级的 Optane DCPM,例如 DAOS [9] 和阿里云 [10],旨在以可持续且经济高效的方式扩展内存容量。此外,即将推出的 HPC 系统预计将进一步受益于先进互连协议支持的新兴内存技术。例如,Compute Express Link (CXL) 协议将允许基于三星内存扩展器等新产品增加容量[11]。

与 DRAM 相比,NVM 技术提供了更高的密度,从而以更低的成本提高了内存容量。此外,NVM技术的集成对能源消耗和可持续性具有重大影响[12],同时提供数据持久性功能,使得能够开发容错支持算法。尽管快速发展的 NVM 技术无疑带来了好处,但它们的局限性给应用程序开发人员带来了巨大的挑战。与 DRAM 技术相比,NVM 的访问延迟更长,带宽更低,耐用性更低。此外,NVM 在读/写操作的延迟和能量方面提供不对称性[13],同时直接用 NVM 替换 DRAM(例如英特尔傲腾 DCPM),由于写入限制和并发争用等影响,显着降低了性能 [14]。因此,NVM DIMM 通常与 DRAM 模块配对,组成一个异构 DRAM/NVM 系统。

为了有效利用 DRAM/NVM 异构内存系统,多年来已经提出了几种数据放置算法 [15]、[16]。这些算法通常建议或执行异构内存系统上的数据对象、内存页或应用程序数据结构的有效放置和/或运行时迁移,并将性能和/或能耗作为优化目标。

尽管数据放置算法通常很复杂,并且能够有效地利用正在执行的应用程序的复杂内存层次结构,但它们的结果通常受到以下事实的限制:原始应用程序通常是为 DRAM 而不是为异构内存设计的。特别是,开发人员通常不会考虑应用程序级别的任何数据优化,这可以进一步改进数据放置结果。尽管一些工作提出了针对 NVM 或异构存储器的数据结构设计,但应用程序仍然依赖于面向 DRAM 的数据结构,因为它们简单,并且与 NVM 技术相比有广泛的库支持 [13]、[17] 。此外,尽管几年前就提出了应用级数据优化方法[18]、[19],但它们的相互作用及其对异构存储器上数据放置的影响尚未得到研究。然而,改进应用程序级别的数据组织可以显着提高性能和能耗。

这项工作有助于弥合应用程序级数据优化和数据放置算法之间的差距并研究它们的交互。更具体地说,在这项工作中,我们提出了一种内存管理方法,该方法结合了动态数据结构细化步骤以及异构内存系统上的放置算法。数据结构细化方法(DDTR)通过探索和推荐应用程序级别的替代数据组织选项,在数据访问和内存容量要求方面优化应用程序的数据组织[18]。在这项工作的背景下,DDTR 方法通过扩展的设计空间进行了扩展,包括一组基于树的数据结构,由于其高效的插入和搜索方法,它们是存储和检索数据的有力候选者。来自容量增加的异构内存系统。此外,优化的内存分析方法避免了分析开销的增加,并减少了设计空间探索时间。随后,数据放置算法在性能、能耗和对NVM寿命的影响方面为异构DRAM/NVM系统提供了一套帕累托最优的数据结构放置解决方案。该方法使用多种 NVM 技术进行评估:真实(Optane DCPM)和仿真(PCM、RRAM、STT-MRAM)。它由开源工具流程支持,可自动执行该方法的许多步骤。它针对的是开发人员,他们的目标是在集成 Optane DCPM(或其他类型的 NVM DIMM)的计算系统上部署应用程序,或者他们的目标是通过仿真/模拟来研究他们的应用程序在异构内存系统上的行为方式。性能/能源/对 NVM 寿命的影响。

本文的其余部分安排如下。第 2 节概述了相关工作,第 3 节说明了基本背景和动机。第 4 节详细描述了拟议的方法和实施。第五部分展示了实验评估和主要观察结果的讨论。最后,第 6 节总结了这项工作。

相关工作

数据结构优化:基于设计空间探索[18]或利用人工智能技术[20],在应用程序级别的数据结构优化方面已经开展了各种工作。关于针对 DRAM/NVM 系统优化的数据结构,[13]的作者提出了一个用于实现 NVM 持久数据结构的框架,而在[21]中,持久存储器的树和基于哈希的数据结构的集成是建议的。同样,[22] 的作者重新审视了 NVM 上流行的持久索引结构,并根据性能结果对其进行了评估。

异构 DRAM/NVM 系统上的通用布局:这些工作可以根据布局粒度级别进行分类:数据结构、内存对象或内存页 [23] [15] [24] [25]。每种方法都有不同的优点和缺点。 [23] 的作者提出了一种在线配置文件引导的数据分层解决方案&

你可能感兴趣的:(#,论文笔记,linux)