CRUM:面向CUDA统一内存的检查点-重启支持
分布式、并行与集群计算
2018-08-02 v1
摘要
统一虚拟内存(UVM)近期在NVIDIA GPU上引入。通过软件和硬件支持,UVM在整个异构节点上提供一致的共享内存,并适时迁移数据。较旧的CUDA编程风格类似于较早的大型内存UNIX应用程序,后者曾直接加载和卸载内存段。较新的CUDA程序已开始利用UVM,原因与UNIX应用程序很久以前转向假定虚拟内存存在所带来的优越可编程性相同。因此,UVM的检查点化将变得日益重要,尤其是随着NVIDIA CUDA持续获得更广泛的普及:最新榜单上500台超级计算机中有87台为GPU加速,且当前趋势为每年新增十台基于GPU的超级计算机。本文展示了一种针对跨多个计算节点的混合CUDA/MPI计算的新可扩展检查点机制CRUM(统一内存检查点-重启,Checkpoint-Restart for Unified Memory)。CRUM支持快速的fork式检查点,其将CUDA计算与检查点映像在稳定存储中的存储大部分重叠。使用CRUM的运行时开销平均为6%,且fork式检查点所需时间比传统同步检查点最多减少40倍。
引用
@article{arxiv.1808.00117,
title = {CRUM: Checkpoint-Restart Support for CUDA's Unified Memory},
author = {Rohan Garg and Apoore Mohan and Michael Sullivan and Gene Cooperman},
journal= {arXiv preprint arXiv:1808.00117},
year = {2018}
}
备注
22 pages; 5 figures; accepted at IEEE Cluster-2018