[论文解读] An Experimental Evaluation of Machine Learning Training on a Real Processing-in-Memory System
本文在基于 UPMEM 架构的真实通用存内计算(PIM)系统上,对经典机器学习算法——线性回归、逻辑回归、决策树和 K-均值聚类——的训练进行了评估。结果表明,PIM 通过利用高内存带宽和数千个并行处理单元,显著加速了内存受限的工作负载,在硬件原生支持所需操作和数据类型时,相比 CPU 最快可实现 113× 的加速,相比 GPU 最快可实现 4.5× 的加速。
Training machine learning (ML) algorithms is a computationally intensive process, which is frequently memory-bound due to repeatedly accessing large training datasets. As a result, processor-centric systems (e.g., CPU, GPU) suffer from costly data movement between memory units and processing units, which consumes large amounts of energy and execution cycles. Memory-centric computing systems, i.e., with processing-in-memory (PIM) capabilities, can alleviate this data movement bottleneck. Our goal is to understand the potential of modern general-purpose PIM architectures to accelerate ML training. To do so, we (1) implement several representative classic ML algorithms (namely, linear regression, logistic regression, decision tree, K-Means clustering) on a real-world general-purpose PIM architecture, (2) rigorously evaluate and characterize them in terms of accuracy, performance and scaling, and (3) compare to their counterpart implementations on CPU and GPU. Our evaluation on a real memory-centric computing system with more than 2500 PIM cores shows that general-purpose PIM architectures can greatly accelerate memory-bound ML workloads, when the necessary operations and datatypes are natively supported by PIM hardware. For example, our PIM implementation of decision tree is $27 imes$ faster than a state-of-the-art CPU version on an 8-core Intel Xeon, and $1.34 imes$ faster than a state-of-the-art GPU version on an NVIDIA A100. Our K-Means clustering on PIM is $2.8 imes$ and $3.2 imes$ than state-of-the-art CPU and GPU versions, respectively. To our knowledge, our work is the first one to evaluate ML training on a real-world PIM architecture. We conclude with key observations, takeaways, and recommendations that can inspire users of ML workloads, programmers of PIM architectures, and hardware designers & architects of future memory-centric computing systems.
研究动机与目标
- 评估经典机器学习训练工作负载在真实通用 PIM 架构上的性能表现。
- 理解以内存为中心的计算系统在加速内存受限的机器学习训练工作负载方面的潜力。
- 从准确性、性能和可扩展性角度,将基于 PIM 的实现与最先进的 CPU 和 GPU 实现进行比较。
- 识别 PIM 实现显著加速机器学习训练所需的关键软硬件需求。
- 为机器学习从业者、PIM 架构师以及未来以内存为中心的系统设计者提供可操作的见解。
提出的方法
- 在 UPMEM PIM 架构上实现具有代表性的经典机器学习算法(线性回归、逻辑回归、决策树、K-均值聚类)。
- 在拥有超过 2,500 个 PIM 核心的真实 PIM 系统上执行所有算法,使用原生 PIM 指令进行算术运算和数据类型处理。
- 测量不同数据规模和工作负载下的性能、准确性和可扩展性特征。
- 将 PIM 结果与优化后的 CPU(8 核 Intel Xeon)和 GPU(NVIDIA A100)实现进行直接对比。
- 使用开源代码和数据集以确保可复现性,并支持社区扩展。
- 分析性能瓶颈,并识别推动 PIM 加速的关键因素,如内存带宽和并行性。
实验结果
研究问题
- RQ1通用 PIM 架构能否显著加速内存受限的机器学习训练工作负载?
- RQ2基于 PIM 的经典机器学习算法实现与最先进的 CPU 和 GPU 版本相比,在性能和准确性方面如何?
- RQ3硬件对操作和数据类型的原生支持在决定 PIM 性能提升中起到什么作用?
- RQ4随着数据规模和工作负载复杂度的增加,PIM 的可扩展性与 CPU 和 GPU 的可扩展性相比如何?
- RQ5哪些关键的架构和编程因素能够促进或限制 PIM 在机器学习训练中的加速?
主要发现
- 在 8 核 Intel Xeon 上,PIM 实现的决策树比最先进的 CPU 版本快 27× 至 113×。
- 在 NVIDIA A100 上,PIM 实现的决策树比最先进的 GPU 版本快 1.34× 至 4.5×。
- PIM 实现的 K-均值聚类比 CPU 版本快 2.8×,比 GPU 版本快 3.2×。
- 由于更高的内存带宽和可随内存容量扩展的数千个并行处理单元,PIM 在内存受限的机器学习工作负载中表现出更优性能。
- PIM 优于 GPU,因为主机-加速器带宽更高,因为 PIM 核心通过内存通道连接,而非 PCIe。
- 本研究证实,对所需算术运算和数据类型的原生硬件支持,是实现在 PIM 系统上显著加速的关键前提。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。