Skip to main content
QUICK REVIEW

[论文解读] Using Multi-Core HW/SW Co-design Architecture for Accelerating K-means Clustering Algorithm

Hadi Mardani Kamali|arXiv (Cornell University)|Jul 9, 2018
Advanced Data Compression Techniques参考文献 16被引用 3
一句话总结

本文提出了一种基于FPGA的软硬件协同设计架构MUCH-SWIFT,通过基于二叉kd树的两级过滤算法加速K-means聚类。通过利用ZYNQ Ultrascale+ SoC中的所有处理核心,并通过高吞吐量DMA通道优化数据流,该系统在大规模高维数据集上的软件仅实现中实现了330倍的加速。

ABSTRACT

The capability of classifying and clustering a desired set of data is an essential part of building knowledge from data. However, as the size and dimensionality of input data increases, the run-time for such clustering algorithms is expected to grow superlinearly, making it a big challenge when dealing with BigData. K-mean clustering is an essential tool for many big data applications including data mining, predictive analysis, forecasting studies, and machine learning. However, due to large size (volume) of Big-Data, and large dimensionality of its data points, even the application of a simple k-mean clustering may become extremely time and resource demanding. Specially when it is necessary to have a fast and modular dataset analysis flow. In this paper, we demonstrate that using a two-level filtering algorithm based on binary kd-tree structure is able to decrease the time of convergence in K-means algorithm for large datasets. The two-level filtering algorithm based on binary kd-tree structure evolves the SW to naturally divide the classification into smaller data sets, based on the number of available cores and size of logic available in a target FPGA. The empirical result on this two-level structure over multi-core FPGA-based architecture provides 330X speed-up compared to a conventional software-only solution.

研究动机与目标

  • 应对在高维性和大规模数据量背景下加速K-means聚类所面临的日益增长的计算挑战。
  • 克服纯软件实现的局限性,后者在数据规模增大时表现出超线性的时间增长。
  • 利用基于FPGA的硬件加速,在聚类工作负载中实现高吞吐量和低延迟。
  • 设计一种可重构、可扩展且模块化的架构,高效利用多核FPGA资源以应对动态聚类工作负载。
  • 将软件优化技术(例如kd树过滤)与硬件并行性相结合,以最大化性能和资源利用率。

提出的方法

  • 基于二叉kd树实现两级过滤算法,以划分搜索空间并减少K-means中的冗余距离计算。
  • 将K-means算法映射到ZYNQ Ultrascale+ SoC上,利用ARM处理核心与可编程逻辑实现混合并行处理。
  • 使用高带宽、基于DMA的PCIe接口,实现主机内存与ZYNQ SoC之间的高效数据传输,最小化I/O瓶颈。
  • 根据聚类数量和可用的FPGA资源,动态地将聚类工作负载分配到可用的处理单元。
  • 通过最大化BRAM和DSP的使用来优化资源分配,以支持高达80个并行算术单元用于聚类计算。
  • 在软件层面应用优化技术,如三角不等式和定点数运算,以减少硬件中的计算开销。

实验结果

研究问题

  • RQ1基于二叉kd树的两级过滤算法是否能在大规模数据集上显著减少K-means聚类中的距离计算次数?
  • RQ2与纯软件实现相比,基于ZYNQ Ultrascale+等FPGA平台的软硬件协同设计在多大程度上能提升K-means聚类的性能?
  • RQ3在单个SoC中集成多核ARM处理器与可编程逻辑,如何实现K-means的可扩展且高效的并行化?
  • RQ4在完全并行的FPGA基础K-means架构中,受资源限制前可支持的最大聚类数是多少?
  • RQ5当处理高维数据且输入数据量庞大时,所提出的架构如何保持高吞吐量和低延迟?

主要发现

  • MUCH-SWIFT架构在大规模数据集上相对于传统纯软件K-means实现实现了330倍的加速。
  • 两级kd树过滤算法显著减少了冗余的距离计算,大幅提升了高维数据聚类的收敛速度。
  • 系统在完全并行配置下最多可支持20个聚类,可在ZU9EG FPGA上实现80个并行算术单元,最大化硬件利用率。
  • 通过优先使用BRAM和DSP,实现了资源利用率的优化,这些资源对于维持高吞吐量的并行计算至关重要。
  • 基于DMA的PCIe接口实现了主机与ZYNQ SoC之间高效的数据传输,降低了I/O延迟,并支持大规模输入数据集。
  • 该架构在不同聚类数量和数据维度下均保持高性能,平均比先前工作(Canilho et al., 2016)快12倍,尤其在聚类数量增加时优势更加明显。

更好的研究,从现在开始

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

无需绑定信用卡

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