基于Flink流处理框架的FFT并行及优化
信息技术与网络安全
钟旭阳1,2,徐 云1,2
(1.中国科学技术大学 计算机科学与技术学院,安徽 合肥230026; 2.安徽省高性能计算重点实验室,安徽 合肥230026)
摘要: FFT作为雷达信号处理的关键计算步骤之一,本质上是一个基于数据流的处理过程。以往的FFT计算大多集中在通用计算平台上进行并行计算实现,计算系统存在扩展性和鲁棒性问题。随着科学计算应用在Flink上的逐渐兴起,将FFT在Flink上进行并行和优化,不仅可以很好地利用框架自身良好的系统扩展性和鲁棒性,同时也能使其具备高吞吐的实时性能。基于Flink对FFT流处理算法流程进行了设计和优化,同时针对Flink对适用于FFT计算的缓存窗口机制进行了设计,实验结果表明,改进后FFT并行算法在多个大规模点数下计算速度均有所提高。
中图分类号: TP311.1
文献标识码: A
DOI: 10.19358/j.issn.2096-5133.2021.08.009
引用格式: 钟旭阳,徐云. 基于Flink流处理框架的FFT并行及优化[J].信息技术与网络安全,2021,40(8):53-59.
文献标识码: A
DOI: 10.19358/j.issn.2096-5133.2021.08.009
引用格式: 钟旭阳,徐云. 基于Flink流处理框架的FFT并行及优化[J].信息技术与网络安全,2021,40(8):53-59.
FFT parallel algorithm and optimization based on Flink stream processing framework
Zhong Xuyang1,2,Xu Yun1,2
(1.School of Computer Science and Technology,University of Science and Technology of China,Hefei 230026,China; 2.Key Laboratory of High Performance Computing of Anhui Province,Hefei 230026,China)
Abstract: As one of the key calculation steps of radar signal processing, FFT is essentially a processing process based on data stream. In the past, most of the previous FFT calculations concentrated on the implementation of parallel calculations on a general-purpose computing platform, and the computing system has problems with scalability and robustness. With the increasing popularity of scientific computing applications on Flink, parallelizing and optimizing FFT on Flink can not only make good use of the framework′s own strong system scalability and robustness, but also enable it to have high-throughput real-time performance. Based on Flink, this paper designs and optimizes the FFT stream processing algorithm flow. At the same time, it designs a buffer window mechanism suitable for FFT calculation in Flink. The experimental results show that the improved FFT parallel algorithm has a better calculation speed at multiple large-scale points.
Key words : FFT parallel algorithm;radar signal processing;distributed stream processing;Apache Flink
0 引言
快速傅里叶变换(Fast Fourier Transform,FFT)是实现离散傅里叶变换及其逆变换的算法。FFT使用分而治之的主要思想,其主要目的是将一个复杂的大问题分解成多个简单的小问题,然后分别解决这些小问题[1]。FFT在科学计算领域具有极其重要的地位[2]。利用FFT能够在计算离散傅里叶变换时大大减少所需要的乘法次数,并且FFT点数规模越大,FFT算法所能够节省的计算量就越显著,因此FFT广泛应用于数据信号处理、地震预报、石油勘探等领域。
已有的FFT分布式计算方法大多基于MapReduce批处理系统[1,3-5],其中FFT计算作为一个整体,在某一个转换操作中直接计算来自上一个操作的整个输出数据,忽视了FFT计算特性的同时,还需要等待较长时间才能延迟得到处理结果。目前并未有成熟的、基于流粒度的对FFT的流处理分布式算法并行优化相关研究。且现如今Flink分布式流处理框架大都用于社交网络等领域中简单的数据项统计应用,对于FFT此类耗时大、数据量大的科学计算问题并不适用,因此需要对Flink相关的机制进行应用和改造,使得其符合FFT计算的要求。
本文详细内容请下载:http://www.chinaaet.com/resource/share/2000003725
作者信息:
钟旭阳1,2,徐 云1,2
(1.中国科学技术大学 计算机科学与技术学院,安徽 合肥230026;
2.安徽省高性能计算重点实验室,安徽 合肥230026)
此内容为AET网站原创,未经授权禁止转载。
