[论文解读] Novel Model-based Methods for Performance Optimization of Multithreaded 2D Discrete Fourier Transform on Multicore Processors
本文提出 PFFT-FPM 和 PFFT-FPM-PAD,两种基于模型的新方法,用于在多核处理器上通过功能性能模型(FPM)实现可移植、自适应的负载均衡,从而优化多线程 2D 离散傅里叶变换(2D-DFT)。在 Intel Haswell 服务器上的实验表明,与 FFTW-3.3.7 和 Intel MKL FFT 相比,平均加速比分别达到 2.0x 和 1.4x,最大加速比高达 9.4x,显著优于未优化版本的性能。
In this paper, we use multithreaded fast Fourier transforms provided in three highly optimized packages, FFTW-2.1.5, FFTW-3.3.7, and Intel MKL FFT, to present a novel model-based parallel computing technique as a very effective and portable method for optimization of scientific multithreaded routines for performance, especially in the current multicore era where the processors have abundant number of cores. We propose two optimization methods, PFFT-FPM and PFFT-FPM-PAD, based on this technique. They compute 2D-DFT of a complex signal matrix of size NxN using p abstract processors. Both algorithms take as inputs, discrete 3D functions of performance against problem size of the processors and output the transformed signal matrix. Based on our experiments on a modern Intel Haswell multicore server consisting of 36 physical cores, the average and maximum speedups observed for PFFT-FPM using FFTW-3.3.7 are 1.9x and 6.8x respectively and the average and maximum speedups observed using Intel MKL FFT are 1.3x and 2x respectively. The average and maximum speedups observed for PFFT-FPM-PAD using FFTW-3.3.7 are 2x and 9.4x respectively and the average and maximum speedups observed using Intel MKL FFT are 1.4x and 5.9x respectively.
研究动机与目标
- 为应对在快速演进的硬件环境下,架构特定代码优化所面临的局限性,特别是因‘红后效应’导致的过度优化无法获得长期性能收益的问题。
- 挑战‘厂商优化库(如 Intel MKL FFT)始终优于开源替代品(如 FFTW)’的假设,尤其是在平均性能方面。
- 开发一种可移植的、基于模型的优化技术,以适应不同问题规模和处理器配置下的性能变化。
- 通过由功能性能模型引导的智能自适应数据分区,提升现代多核系统上多线程 2D-DFT 实现的平均性能。
- 证明基于模型的优化可在多种问题规模下超越传统和高度调优的厂商库。
提出的方法
- 该方法使用功能性能模型(FPM)作为问题规模的连续函数,以预测处理器性能,从而实现数据驱动的负载均衡。
- PFFT-FPM 基于 FPM 将 2D 信号矩阵在 p 个抽象处理器上进行划分,以最小化总执行时间。
- PFFT-FPM-PAD 通过引入填充机制增强 PFFT-FPM,以改善负载均衡并减少负载不平衡的影响。
- 该算法以离散的 3D 性能函数(处理器、问题规模、性能)作为输入,输出优化后的 2D-DFT 结果。
- 性能模型通过在 36 核系统上对 1000 种问题规模的 FFTW-2.1.5、FFTW-3.3.7 和 Intel MKL FFT 进行性能分析后经验推导得出。
- 通过重复执行和 Student’s t 检验进行统计验证,确保性能测量结果的 95% 置信区间精度达到 2.5%。
实验结果
研究问题
- RQ1在快速演进的多核系统中,由于‘红后效应’,架构特定优化是否会导致收益递减?
- RQ2一种可移植的、基于模型的优化方法是否能在平均性能上超越传统开源 FFT 库和高度调优的厂商库?
- RQ3功能性能模型(FPM)在多核处理器上实现 2D-DFT 的自适应、负载均衡并行化方面,其作用程度如何?
- RQ4与未优化和厂商优化的 FFT 实现相比,所提出的 PFFT-FPM 和 PFFT-FPM-PAD 方法在不同问题规模下的性能提升程度如何?
- RQ5填充机制(PFFT-FPM-PAD)对多线程 2D-DFT 计算中的负载均衡和性能提升有何影响?
主要发现
- 尽管 FFTW-2.1.5 平均速度更快,但使用 PFFT-FPM 优化后,FFTW-3.3.7 的平均性能相比未优化的 FFTW-2.1.5 提升了 42%。
- PFFT-FPM 相较于 FFTW-3.3.7 实现了平均 1.9 倍、最大 6.8 倍的加速比;相较于 Intel MKL FFT,实现了平均 1.3 倍、最大 2 倍的加速比。
- PFFT-FPM-PAD 相较于 FFTW-3.3.7 实现了平均 2.0 倍、最大 9.4 倍的加速比;相较于 Intel MKL FFT,实现了平均 1.4 倍、最大 5.9 倍的加速比。
- FFTW-3.3.7 的性能波动范围显著大于 FFTW-2.1.5,表明其对问题规模和工作负载不平衡更敏感。
- 尽管 Intel MKL FFT 的峰值性能(39,424 MFLOPs)高于 FFTW-2.1.5(17,841 MFLOPs),但其平均性能(9,572 MFLOPs)仍被 PFFT-FPM-PAD 框架中的优化 FFTW-2.1.5 所超越。
- 结果证实,基于模型的优化可实现高于未优化和高度调优的厂商库的平均性能,验证了所提方法的可移植性和有效性。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。