[论文解读] Sentinel: Runtime Data Management on Heterogeneous Main MemorySystems for Deep Learning
Sentinel 是一种运行时系统,通过利用深度神经网络(DNN)的领域特定知识,优化异构主内存(HM)上的数据管理,以支持深度学习工作负载。它实现了细粒度、低开销的数据对象级性能分析,并主动将热数据迁移至高速内存,仅需纯高速内存系统所需20%的高速内存容量,即可实现接近峰值性能,相比最先进解决方案提升18%。
Software-managed heterogeneous memory (HM) provides a promising solution to increase memory capacity and cost efficiency. However, to release the performance potential of HM, we face a problem of data management. Given an application with various execution phases and each with possibly distinct working sets, we must move data between memory components of HM to optimize performance. The deep neural network (DNN), as a common workload on data centers, imposes great challenges on data management on HM. This workload often employs a task dataflow execution model, and is featured with a large amount of small data objects and fine-grained operations (tasks). This execution model imposes challenges on memory profiling and efficient data migration. We present Sentinel, a runtime system that automatically optimizes data migration (i.e., data management) on HM to achieve performance similar to that on the fast memory-only system with a much smaller capacity of fast memory. To achieve this,Sentinel exploits domain knowledge about deep learning to adopt a custom approach for data management. Sentinel leverages workload repeatability to break the dilemma between profiling accuracy and overhead; It enables profiling and data migration at the granularity of data objects (not pages), by controlling memory allocation. This method bridges the semantic gap between operating system and applications. By associating data objects with the DNN topology, Sentinel avoids unnecessary data movement and proactively triggers data movement. Using only 20% of peak memory consumption of DNN models as fast memory size, Sentinel achieves the same or comparable performance (at most 8% performance difference) to that of the fast memory-only system on common DNN models; Sentinel also consistently outperforms a state-of-the-art solution by 18%.
研究动机与目标
- 解决在高速内存容量有限的异构主内存(HM)系统上,DNN 训练存在的性能瓶颈问题。
- 克服在异构内存上运行时数据管理中,性能分析开销与精度之间的权衡。
- 通过与 DNN 拓扑结构和执行语义对齐,减少不必要的数据移动。
- 在最小化运行时影响的同时,实现高效的数据迁移并维持高性能。
- 证明仅使用纯高速内存系统所需20%的高速内存容量,即可实现接近峰值性能的 DNN 训练。
提出的方法
- Sentinel 利用 DNN 训练工作负载的可重复性,仅对一个训练步骤进行性能分析,从而在保持高分析精度的同时最小化运行时开销。
- 它以单个数据对象为粒度进行性能分析和数据迁移,而非内存页,弥合了操作系统与应用之间的语义鸿沟。
- 通过将数据对象与 DNN 计算图关联,Sentinel 可提前识别热数据并触发主动数据迁移。
- 它采用自定义内存分配策略,以控制数据放置并实现对数据对象级别的访问模式追踪。
- Sentinel 通过理解 DNN 拓扑结构和执行流程,避免不必要的数据移动,从而降低迁移开销。
- 它与应用运行时集成,协调数据迁移与计算阶段,最大限度减少性能停顿。
实验结果
研究问题
- RQ1能否利用关于 DNN 的领域特定知识,在保持高精度的同时降低异构内存上数据管理的性能分析开销?
- RQ2如何在数据对象级别而非页面级别优化数据迁移,以减少不必要的移动?
- RQ3基于 DNN 拓扑结构的主动数据迁移能否在仅使用极少高速内存容量的情况下提升性能?
- RQ4与纯高速内存系统相比,仅使用 20% 高速内存容量的性能影响如何?
- RQ5Sentinel 在性能和开销方面与最先进异构内存数据管理方案相比表现如何?
主要发现
- Sentinel 仅使用纯高速内存系统所需 20% 的高速内存容量,性能即可达到其性能的 92% 以内。
- 在极低运行时开销下,Sentinel 实现了数据对象级别的高精度性能分析,避免了页面级分析的高昂成本。
- 在常见 DNN 模型上,Sentinel 的性能始终比最先进异构内存数据管理方案高出 18%。
- 通过利用 DNN 特定的语义信息,Sentinel 减少了不必要的数据移动,提升了迁移效率。
- 该系统有效解决了 DNN 工作负载中操作系统级页面管理与应用级数据访问模式之间的冲突。
- Sentinel 证明了领域感知的数据管理能够打破异构内存系统中性能分析开销与精度之间的传统权衡。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。