Online Application Guidance for Heterogeneous Memory Systems

Online Application Guidance for Heterogeneous Memory Systems
复制标题

DOI:
10.1145/3533855
复制
发表时间:
2021-10
期刊:
ACM Transactions on Architecture and Code Optimization (TACO)
影响因子:
--
通讯作者:
Matthew Ben Olson;Brandon Kammerdiener;K. Doshi;T. Jones;Michael R. Jantz
Matthew Ben Olson;Brandon Kammerdiener;K. Doshi;T. Jones;Michael R. Jantz
中科院分区:
其他
文献类型:
--
作者:
Matthew Ben Olson;Brandon Kammerdiener;K. Doshi;T. Jones;Michael R. Jantz

文献摘要

被引文献

相似文献

随着传统存储器设备的扩展已经停滞,许多高端计算系统已经开始结合替代存储器技术以满足性能目标。由于这些技术与传统DDR* SDRAM相比具有明显的优势和折衷,例如更高的带宽和更低的容量,反之亦然,因此它们通常与传统SDRAM一起封装在异构存储器架构中。为了有效地利用不同类型的内存,需要新的数据管理策略来使应用程序的使用与最佳可用内存技术相匹配。然而,当前用于管理异构存储器的提议是有限的,因为它们(1)在将数据分配给不同类型的存储器时不考虑高级应用行为,或者(2)需要单独的程序执行(具有代表性输入)来收集关于应用如何使用存储器资源的信息。这项工作提出了一个新的数据管理工具集,以解决现有的方法管理复杂的内存的局限性。它通过自动监控和管理例程扩展了应用程序运行时层,这些例程根据以前的使用情况将应用程序数据分配到最佳内存层,而无需修改源代码或单独运行分析。它使用内存密集型高性能计算(HPC)应用程序和标准基准测试,在配备传统DDR4 SDRAM和非易失性Intel Optane DC内存的最先进服务器平台上评估了这种方法。总的来说,结果表明,这种方法显着提高程序性能相比,在各种工作负载和系统配置的标准无指导的方法。HPC应用程序表现出最大的优势,最佳情况下的加速比为1.4倍至7倍。此外,我们表明,这种方法实现了类似的性能作为一个相当的离线分析为基础的方法后,一个短暂的启动期,而不需要单独的程序执行或离线分析步骤。
As scaling of conventional memory devices has stalled, many high-end computing systems have begun to incorporate alternative memory technologies to meet performance goals. Since these technologies present distinct advantages and tradeoffs compared to conventional DDR* SDRAM, such as higher bandwidth with lower capacity or vice versa, they are typically packaged alongside conventional SDRAM in a heterogeneous memory architecture. To utilize the different types of memory efficiently, new data management strategies are needed to match application usage to the best available memory technology. However, current proposals for managing heterogeneous memories are limited, because they either (1) do not consider high-level application behavior when assigning data to different types of memory or (2) require separate program execution (with a representative input) to collect information about how the application uses memory resources. This work presents a new data management toolset to address the limitations of existing approaches for managing complex memories. It extends the application runtime layer with automated monitoring and management routines that assign application data to the best tier of memory based on previous usage, without any need for source code modification or a separate profiling run. It evaluates this approach on a state-of-the-art server platform with both conventional DDR4 SDRAM and non-volatile Intel Optane DC memory, using both memory-intensive high-performance computing (HPC) applications as well as standard benchmarks. Overall, the results show that this approach improves program performance significantly compared to a standard unguided approach across a variety of workloads and system configurations. The HPC applications exhibit the largest benefits, with speedups ranging from 1.4× to 7× in the best cases. Additionally, we show that this approach achieves similar performance as a comparable offline profiling-based approach after a short startup period, without requiring separate program execution or offline analysis steps.