Skip to main content
QUICK REVIEW

[论文解读] Hoard: A Distributed Data Caching System to Accelerate Deep Learning Training on the Cloud

Christian Pinto, Yiannis Gkoufas|arXiv (Cornell University)|Dec 3, 2018
Advanced Neural Network Applications参考文献 10被引用 15
一句话总结

Hoard 是一种分布式数据缓存系统,通过在多个 GPU 节点的本地 NVMe 磁盘上使用分布式文件系统缓存数据集,加速云集群上的深度学习训练。与 10Gb/s NFS 相比,它实现了 2.1 倍的性能提升,并通过共置缓存消除 I/O 瓶颈,实现双倍系统利用率,同时提供符合 POSIX 标准的访问接口,实现与现有框架的无缝集成。

ABSTRACT

Deep Learning system architects strive to design a balanced system where the computational accelerator -- FPGA, GPU, etc, is not starved for data. Feeding training data fast enough to effectively keep the accelerator utilization high is difficult when utilizing dedicated hardware like GPUs. As accelerators are getting faster, the storage media \& data buses feeding the data have not kept pace and the ever increasing size of training data further compounds the problem. We describe the design and implementation of a distributed caching system called Hoard that stripes the data across fast local disks of multiple GPU nodes using a distributed file system that efficiently feeds the data to ensure minimal degradation in GPU utilization due to I/O starvation. Hoard can cache the data from a central storage system before the start of the job or during the initial execution of the job and feeds the cached data for subsequent epochs of the same job and for different invocations of the jobs that share the same data requirements, e.g. hyper-parameter tuning. Hoard exposes a POSIX file system interface so the existing deep learning frameworks can take advantage of the cache without any modifications. We show that Hoard, using two NVMe disks per node and a distributed file system for caching, achieves a 2.1x speed-up over a 10Gb/s NFS central storage system on a 16 GPU (4 nodes, 4 GPUs per node) cluster for a challenging AlexNet ImageNet image classification benchmark with 150GB of input dataset. As a result of the caching, Hoard eliminates the I/O bottlenecks introduced by the shared storage and increases the utilization of the system by 2x compared to using the shared storage without the cache.

研究动机与目标

  • 解决由于中心存储速度慢于 GPU 等快速加速器而导致的深度学习训练中的 I/O 瓶颈问题。
  • 改善多 GPU、多任务云环境中的系统利用率,其中将数据复制到本地磁盘效率低下且资源竞争激烈。
  • 在不重新从中心存储复制数据的情况下,实现缓存数据在多个训练任务和超参数调优实验中的高效重用。
  • 提供透明、开箱即用的缓存解决方案,通过 POSIX 接口与现有深度学习框架无缝集成。
  • 设计一种可扩展的云原生缓存中间件,将数据集生命周期与作业生命周期解耦,以提升资源效率。

提出的方法

  • Hoard 使用分布式文件系统将训练数据分条并缓存在多个 GPU 节点的本地 NVMe 磁盘上。
  • 它采用一组微服务来协调缓存创建、作业调度共置以及独立的数据生命周期管理。
  • 该系统提供符合 POSIX 标准的文件系统接口,使现有深度学习框架无需修改代码即可访问缓存数据。
  • 数据在作业执行前或执行期间从中心存储系统(如 NFS、S3)预先缓存,支持跨轮次和作业的重复使用。
  • Hoard 支持机架感知调度,以优化数据局部性并减少网络干扰。
  • 它支持将训练作业及其数据共置于同一节点或机架上,以最小化 I/O 延迟和网络负载。

实验结果

研究问题

  • RQ1分布式缓存系统能否有效减少 GPU 集群上深度学习训练的 I/O 瓶颈?
  • RQ2使用本地 NVMe 存储在多个节点上缓存数据,与依赖中心 NFS 或对象存储相比,性能表现如何?
  • RQ3在多任务、多 GPU 云环境中,缓存系统能在多大程度上提升系统利用率和训练吞吐量?
  • RQ4透明的、符合 POSIX 标准的缓存层是否能在不修改框架代码的情况下有效应用于深度学习工作流?
  • RQ5解耦数据集生命周期与作业生命周期对超参数调优工作负载中的性能和资源重用有何影响?

主要发现

  • 在 16 个 GPU 集群上运行 AlexNet ImageNet 基准测试(150GB 数据集)时,Hoard 相较于 10Gb/s NFS 存储系统实现了 2.1 倍的性能提升。
  • 与未使用缓存的共享存储相比,系统利用率提高了一倍,原因是 I/O 竞争减少且数据访问速度加快。
  • 缓存机制消除了 I/O 饥渴,使 GPU 在整个训练过程中保持高利用率。
  • 缓存数据可在多个训练轮次以及具有相同数据需求的不同作业之间重用,减少了冗余数据传输。
  • 该系统支持在更大规模集群上的高效扩展,随着共享存储负载增加,预期性能提升更加显著。
  • POSIX 接口实现了与现有深度学习框架的无缝集成,无需修改代码。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。