- 简介目前大多数数据预处理都在CPU上完成。虽然一些研究使用多处理和双缓冲等技术来加速CPU预处理,但CPU计算速度和存储带宽仍然限制了处理速度。其他研究尝试使用智能数据存储设备,如计算存储设备,来代替CPU完成数据预处理。当前的研究仅使用一个设备来完成数据预处理操作,无法完全重叠数据预处理和加速器计算时间。为了充分利用新型CSD的独立性和高带宽,本文提出了一种先进的、高度并行的双重数据预处理算法(DDLP),显著提高了异构设备之间的执行效率和计算重叠。DDLP使CPU和CSD分别从数据集的两端开始数据预处理操作。同时,我们提出了两种自适应动态选择策略,使DDLP控制GPU自动从不同的来源读取数据。我们实现了足够的计算重叠,使CSD数据预处理与CPU预处理、GPU计算和GPU数据读取之间相互重叠。此外,DDLP利用GPU Direct Storage技术实现了高效的SSD到GPU数据传输。DDLP减少了昂贵的CPU和DRAM资源的使用,减少了SSD到GPU数据传输的数量,提高了预处理的能效,同时降低了总体预处理和训练时间。广泛的实验结果表明,DDLP可以在ImageNet数据集上将学习速度提高23.5%,同时将能源消耗降低19.7%,将CPU和DRAM使用率降低37.6%。DDLP还可以在Cifar-10数据集上将学习速度提高27.6%。
-
- 图表
- 解决问题本论文旨在提高数据预处理的执行效率和计算重叠度,通过提出一种高度并行的双重数据预处理算法(DDLP)来解决当前使用CPU进行数据预处理的速度限制问题。
- 关键思路DDLP算法通过同时利用CPU和计算存储设备(CSD)从数据集的两端开始数据预处理操作,并使用两个自适应动态选择策略来控制GPU自动从不同来源读取数据,从而实现了CSD数据预处理和CPU预处理、GPU计算和GPU数据读取之间的充分计算重叠。此外,DDLP利用GPU Direct Storage技术实现了高效的SSD到GPU数据传输,减少了昂贵的CPU和DRAM资源的使用,降低了预处理和训练时间,并提高了能源效率。
- 其它亮点通过在ImageNet和Cifar-10数据集上的实验,DDLP算法在减少能源消耗19.7%和CPU和DRAM使用量37.6%的同时,提高了23.5%和27.6%的学习速度。值得关注的是,DDLP算法采用了GPU Direct Storage技术实现高效的SSD到GPU数据传输,同时也开源了相关代码。
- 最近的相关研究包括使用多处理和双缓冲技术加速CPU预处理、使用计算存储设备等智能数据存储设备完成数据预处理等。然而,这些方法仅使用一个设备完成数据预处理操作,不能充分利用CSD的独立性和高带宽。因此,本论文提出了一种新的高度并行的双重数据预处理算法(DDLP),以提高执行效率和计算重叠度。
NEW
提问交流
提交问题,平台邀请作者,轻松获得权威解答~
向作者提问

提问交流