CN109543137B - 一种云中并行快速傅里叶变换数据处理方法及装置 - Google Patents
一种云中并行快速傅里叶变换数据处理方法及装置 Download PDFInfo
- Publication number
- CN109543137B CN109543137B CN201811383328.0A CN201811383328A CN109543137B CN 109543137 B CN109543137 B CN 109543137B CN 201811383328 A CN201811383328 A CN 201811383328A CN 109543137 B CN109543137 B CN 109543137B
- Authority
- CN
- China
- Prior art keywords
- data
- computing
- fft
- module
- rdd
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/141—Discrete Fourier transforms
- G06F17/142—Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A90/00—Technologies having an indirect contribution to adaptation to climate change
- Y02A90/10—Information and communication technologies [ICT] supporting adaptation to climate change, e.g. for weather forecasting or climate simulation
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Discrete Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种云中并行快速傅里叶变换数据处理方法及装置,包括:将获取的快速傅里叶变换FFT的初始数据进行数据预处理,得到运算数据;基于云计算大数据处理框架,将所述运算数据分成P个运算数据集,并存储于弹性分布式数据集RDD中;将所述RDD映射到云中的P个计算节点;给P个所述计算节点分配计算资源;按照分配的所述计算资源,在每个计算节点对所述运算数据集进行FFT蝶形运算,得到每个计算节点本地运算数据集,并将所述本地运算数据集存储于RDD中;将所述RDD中当前数据集两两交换后,进行FFT蝶形运算,得到运算结果,并将所述运算结果存储于所述RDD中,重复本步骤,直到得到唯一的最终运算结果。
Description
技术领域
本发明涉及数据处理技术领域,特别是指一种云中并行快速傅里叶变换FFT数据处理方法及装置。
背景技术
在信号处理领域,快速傅里叶变换(FFT)是一种广泛使用的算法,用于将信号数据从时间变换到频率。但当数据规模变得巨大时,这种传统算法不能有效地解决信号处理问题。随着数据的指数增长,大规模FFT存在着三大挑战,即大数据量、实时性要求高和资源利用率高。在云网络等需要大数据处理的场景中,传统方法无法满足这些大数据的大规模计算需求计算资源。
目标检测通常采用一些传统的方法,如雷达检测来检测航空目标。但是,当来自高空飞行器的信号较弱时,这些方法就不可用。幸运的是,利用卫星的空间电信号来检测目标是探测航空目标的一种可行的发展方法。由于飞机会反射来自卫星的信号,因此地面接收站会获得两个不同的信号,包括直接来自卫星的纯信号和飞机反射的反射信号。通过对纯信号和反射信号进行分析比较,可以得到空中目标的位置信息。需要说明的是,比较过程中需要实时处理一个小时的大量数据,这就要求后台的数据处理系统具有对大容量数据进行计算的能力,在时间上缩放信号数据。
具体来说,在信号比较中,需要处理大量数据,同时产生巨大的中间数据。在这个过程中,傅立叶变换起着不可或缺的作用。傅立叶变换将时间函数分解为频率。作为傅立叶变换序列中的一种算法,离散傅立叶变换被广泛用于检测接收信号的特征。从这些特征可以获得目标的信息。但是,离散傅里叶变换的计算量很大,导致效率低下。FFT算法,有效地简化和加速了离散傅里叶变换,成功地将离散傅立叶变换的复杂度降低。
尽管快速傅立叶变换比离散傅里叶变换更有效,但当数据规模变得巨大时,这种传统算法不能有效地解决信号处理问题。FFT算法不仅用于信号处理,而且还应用于许多其他领域,如图像处理,光谱分析,数据压缩,数据压缩,数据压缩等等,因此提高大数据FFT算法的效率对很多的研究领域都有利。
发明内容
有鉴于此,本发明的目的在于提出一种云中并行快速傅里叶变换数据处理方法及装置,以缓解现有技术中存在的大数据量信号处理效率低,实时性不高以及资源利用率低的问题。
基于上述目的,本发明提供了一种云中并行快速傅里叶变换数据处理方法,包括:
将获取的快速傅里叶变换FFT的初始数据进行数据预处理,得到运算数据;
基于云计算大数据处理框架,将所述运算数据分成P个运算数据集,并存储于弹性分布式数据集RDD中;
将所述RDD映射到云中的P个计算节点;
给P个所述计算节点分配计算资源;
按照分配的所述计算资源,在每个计算节点对所述运算数据集进行FFT蝶形运算,得到每个计算节点本地运算数据集,并将所述本地运算数据集存储于RDD中;
将所述RDD中当前数据集两两交换后,进行FFT蝶形运算,得到运算结果,并将所述运算结果存储于所述RDD中,重复本步骤,直到得到唯一的最终运算结果。
进一步的,所述将获取的快速傅里叶变换FFT的初始数据进行数据预处理,得到运算数据,包括:
将获取的快速傅里叶变换FFT的初始数据按位逆序重新排列,得到重新排列后的运算数据。
进一步的,所述给P个所述计算节点分配计算资源,包括:
将所述计算资源设置为n个CPU核心和m个GB缓存,设1个CPU核心和2个GB缓存为一个计算单元,共n个计算单元,n为一个整数;
根据所述计算节点的运算数据量,将P个所述计算节点分成K个部分,每部分包括1~P个所述计算节点;
根据所述计算节点的运算数据量,给各个部分的所述计算节点分配所述计算单元,每个所述计算节点包括1~n/P个所述计算单元。
进一步的,所述将所述RDD中当前数据集两两交换后,进行FFT蝶形运算,得到运算结果,并将所述运算结果存储于所述RDD中,重复本步骤,直到得到唯一的最终运算结果,包括:
所述运算数据在第一个部分进行FFT蝶形运算后,将运算结果发送给第二部分进行FFT蝶形运算,再将运算结果发给第三个部分进行FFT蝶形运算,直到完成K个部分的FFT蝶形运算,得到最终运算结果。
进一步的,所述给P个所述计算节点分配计算资源,包括:
将所述计算资源平均分成p个,其中,p=P;
将p个所述计算资源分配给P个所述计算节点。
进一步的,所述FFT的初始数据有N个采样点,每个采样点有16位数据。
进一步的,所述将所述RDD中当前数据集两两交换后,进行FFT蝶形运算,得到运算结果,并将所述运算结果存储于所述RDD中,重复本步骤,直到得到唯一的最终运算结果,包括:
在其中一个所述计算节点进行FFT蝶形运算的同时,在另一个所述计算节点将N/p数据发送到相应计算节点,并等待交换后的数据返回。
另一方面,本发明还提供一种云中并行快速傅里叶变换数据处理装置,包括:数据预处理模块,数据存储模块,数据映射模块,资源分配模块,本地数据运算模块,并行数据运算模块;
所述数据预处理模块,用于将获取的快速傅里叶变换FFT的初始数据进行数据预处理,得到运算数据;
所述数据存储模块,用于基于云计算大数据处理框架,将所述运算数据分成P个运算数据集,并存储于弹性分布式数据集RDD中;
所述数据映射模块,用于将所述RDD映射到云中的P个计算节点;
所述资源分配模块,用于给P个所述计算节点分配计算资源;
所述本地数据运算模块,用于按照分配的所述计算资源,在每个计算节点对所述运算数据集进行FFT蝶形运算,得到每个计算节点本地运算数据集,并将所述本地运算数据集存储于RDD中;
所述并行数据运算模块,用于将所述RDD中当前数据集两两交换后,进行FFT蝶形运算,得到运算结果,并将所述运算结果存储于所述RDD中,重复本步骤,直到得到唯一的最终运算结果。
进一步的,所述数据预处理模块,包括:数据排列模块;
所述数据排列模块,用于将获取的快速傅里叶变换FFT的初始数据按位逆序重新排列,得到重新排列后的运算数据。
进一步的,所述资源分配模块,包括:优化拆分策略模块,均匀分割策略模块;
所述优化拆分策略模块,用于将所述计算资源设置为n个CPU核心和m个GB缓存,设1个CPU核心和2个GB缓存为一个计算单元,共n个计算单元,n为一个整数,根据所述计算节点的运算数据量,将P个所述计算节点分成K个部分,每部分包括1~P个所述计算节点,根据所述计算节点的运算数据量,给各个部分的所述计算节点分配所述计算单元,每个所述计算节点包括1~n/P个所述计算单元;
所述均匀分割策略模块,用于将所述计算资源平均分成p个,其中,p=P,将p个所述计算资源分配给P个所述计算节点。
进一步的,在所述并行数据运算模块中,所述运算数据在第一个部分进行FFT蝶形运算后,将运算结果发送给第二部分进行FFT蝶形运算,再将运算结果发给第三个部分进行FFT蝶形运算,直到完成K个部分的FFT蝶形运算,得到最终运算结果。
进一步的,所述FFT的初始数据有N个采样点,每个采样点有16位数据。
进一步的,所述并行数据转换模块,还用于在其中一个所述计算节点进行FFT蝶形运算的同时,在另一个所述计算节点将N/p数据发送到相应计算节点,并等待交换后的数据返回。
从上面所述可以看出,本发明提供的云中并行快速傅里叶变换FFT数据处理方法及装置,通过并行运算的方式,在不同的计算节点中同时进行FFT蝶形运算,优化了信号处理的性能,提高了数据处理效率;通过使用Apache Spark是大数据处理框架,引入弹性分布式数据集(RDD),在数据处理过程中将中间数据存储在缓存中,避免在磁盘上进行无用的读取或写入操作,减少了FFT的时间,提高了循环计算工作速度;并行FFT蝶形运算存在计算节点间数据交换过多的问题导致算法效率低,本发明通过采用重新分配计算资源的策略,将CPU内核和缓存优化拆分到每个计算节点,提高了资源的利用率,避免了计算节点之间的冗余数据交换,减少了计算节点之间的数据交换量,提高了计算效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一种云中并行快速傅里叶变换数据处理方法的流程示意图;
图2为本发明实施例一种云中并行快速傅里叶变换数据处理装置的组织结构示意图;
图3为本发明实施例数据集交换过程示意图;
图4为本发明实施例在使用10MB数据单元的并行快速FFT算法和Matlab的FFT算法的结果对比图;
图5为本发明实施例在使用2MB数据单元的并行快速FFT算法和Matlab的FFT算法的结果对比图;
图6为本发明实施例采用不同数量CPU内核的并行快速FFT算法的结果对比图;
图7为本发明实施例采用不同分区和不同数量CPU内核的并行快速FFT算法的结果对比图;
图8为本发明实施例采用优化拆分策略和平均分配策略的并行快速FFT数据处理方法的结果对比图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
如图1所示,为本发明提供的一种云中并行FFT数据处理方法的流程图,包括:
步骤101,将获取的快速傅里叶变换FFT的初始数据进行数据预处理,得到运算数据。
步骤102,基于Apache Spark云计算大数据处理框架,将所述运算数据分成P个运算数据集,并存储于弹性分布式数据集RDD中。
步骤103,将所述RDD映射到云中的P个计算节点,通过基于MapReduce的机制,有效地将信号数据分配给计算节点。
步骤104,给P个所述计算节点分配计算资源。
步骤105,按照分配的所述计算资源,在每个计算节点对所述运算数据集进行FFT蝶形运算,得到每个计算节点本地运算数据集,并将所述本地运算数据集存储于RDD中。
步骤106,将所述RDD中当前数据集两两交换后,进行FFT蝶形运算,得到运算结果,并将所述运算结果存储于所述RDD中,重复本步骤,直到得到唯一的最终运算结果。
本发明提供的云中并行快速傅里叶变换FFT数据处理方法,通过并行运算的方式,在不同的计算节点中同时进行FFT蝶形运算,优化了信号处理的性能,提高了数据处理效率;通过使用Apache Spark是大数据处理框架,引入弹性分布式数据集(RDD),在数据处理过程中将中间数据存储在缓存中,避免在磁盘上进行无用的读取或写入操作,减少了FFT的时间,提高了循环计算工作速度;并行FFT蝶形运算存在计算节点间数据交换过多的问题导致算法效率低,本发明通过采用重新分配计算资源的策略,将CPU内核和缓存优化拆分到每个计算节点,提高了资源的利用率,避免了计算节点之间的冗余数据交换,减少了计算节点之间的数据交换量,提高了计算效率。
进一步的,步骤101,将获取的快速傅里叶变换FFT的初始数据进行数据预处理,得到运算数据,具体包括:
将获取的快速傅里叶变换FFT的初始数据按位逆序重新排列,得到重新排列后的运算数据。
进一步的,步骤104,给P个所述计算节点分配计算资源,具体包括:
采用一种优化拆分策略将计算资源进行拆分,将所述计算资源设置为n个CPU核心和m个GB缓存,设1个CPU核心和2个GB缓存为一个计算单元,共n个计算单元,n为一个整数;
根据所述计算节点的运算数据量,将P个所述计算节点分成K个部分,每部分包括1~P个所述计算节点,在第一部分的每个计算节点进行本地数据的蝶形运算,得到运算结果;将得到的运算结果发送到第二部分的各个计算节点,每个节点再进行本地数据的蝶形运算,得到运算结果;以此类推,得到最终运算结果;
根据所述计算节点的运算数据量,给各个部分的所述计算节点分配所述计算单元,每个所述计算节点包括1~n/P个所述计算单元。
在优化拆分策略中,计算资源被分配到不同大小的计算节点中,为了执行FFT的不同阶段,计算云被分成几个部分,不同的计算部分执行FFT的不同阶段,在每个节si内部,资源被等分为若干计算节点,计算节点的大小在不同的部分中有所不同。为了提高数据处理的效率,我们通过定义每个部分的大小以及每个节的大小来搜索每个节的最佳部分。
优化拆分策略的核心思想是在云中使数据流成为流。这种方法可以避免数据交换。虽然平均分配总资源的策略是一种简单的并行FFT算法,但不幸的是,太多的数据交换导致了低速。为了更好地使用计算资源,我们设计了优化拆分策略来重新分配计算资源。
进一步的,步骤104,给P个所述计算节点分配计算资源,还包括:
采用平均分配总资源的策略,将所述计算资源平均分成p个,其中,p=P;将p个所述计算资源分配给P个所述计算节点。在均分策略中,计算云由p个计算节点和管理这些计算节点的额外主节点组成,由于计算资源平均分配给每个计算节点,因此每个计算节点都有n/p个内核和m/p个GB缓存,所有计算节点都从头到尾参与数据处理过程。
进一步的,步骤106,将所述RDD中当前数据集两两交换后,交换方式参见图3所示,进行FFT蝶形运算,得到运算结果,并将所述运算结果存储于所述RDD中,重复本步骤,直到得到唯一的最终运算结果,具体包括:
所述运算数据在第一个部分进行FFT蝶形运算后,将运算结果发送给第二部分进行FFT蝶形运算,再将运算结果发给第三个部分进行FFT蝶形运算,直到完成K个部分的FFT蝶形运算,得到最终运算结果。
进一步的,所述FFT的初始数据有N个采样点,每个采样点有16位数据。
进一步的,步骤106,所述将所述RDD中当前数据集两两交换后,进行FFT蝶形运算,得到运算结果,并将所述运算结果存储于所述RDD中,重复本步骤,直到得到唯一的最终运算结果,包括:
在其中一个所述计算节点进行FFT蝶形运算的同时,在另一个所述计算节点将N/p数据发送到相应计算节点,并等待交换后的数据返回。
另一方面,本发明还提供一种云中并行快速傅里叶变换数据处理装置,如图2所示,包括:数据预处理模块201,数据存储模块202,数据映射模块203,资源分配模块204,本地数据运算模块205,并行数据运算模块206;
所述数据预处理模块201,用于将获取的快速傅里叶变换FFT的初始数据进行数据预处理,得到运算数据;
所述数据存储模块202,用于基于云计算大数据处理框架,将所述运算数据分成P个运算数据集,并存储于弹性分布式数据集RDD中;
所述数据映射模块203,用于将所述RDD映射到云中的P个计算节点;
所述资源分配模块204,用于给P个所述计算节点分配计算资源;
所述本地数据运算模块205,用于按照分配的所述计算资源,在每个计算节点对所述运算数据集进行FFT蝶形运算,得到每个计算节点本地运算数据集,并将所述本地运算数据集存储于RDD中;
所述并行数据运算模块206,用于将所述RDD中当前数据集两两交换后,进行FFT蝶形运算,得到运算结果,并将所述运算结果存储于所述RDD中,重复本步骤,直到得到唯一的最终运算结果。
进一步的,所述数据预处理模块201,包括:数据排列模块207;
所述数据排列模块207,用于将获取的快速傅里叶变换FFT的初始数据按位逆序重新排列,得到重新排列后的运算数据。
进一步的,所述资源分配模块204,包括:优化拆分策略模块208,均匀分割策略模块209;
所述优化拆分策略模块208,用于将所述计算资源设置为n个CPU核心和m个GB缓存,设1个CPU核心和2个GB缓存为一个计算单元,共n个计算单元,n为一个整数,根据所述计算节点的运算数据量,将P个所述计算节点分成K个部分,每部分包括1~P个所述计算节点,根据所述计算节点的运算数据量,给各个部分的所述计算节点分配所述计算单元,每个所述计算节点包括1~n/P个所述计算单元;
所述均匀分割策略模块209,用于将所述计算资源平均分成p个,其中,p=P,将p个所述计算资源分配给P个所述计算节点。
进一步的,在所述并行数据运算模块中,所述运算数据在第一个部分进行FFT蝶形运算后,将运算结果发送给第二部分进行FFT蝶形运算,再将运算结果发给第三个部分进行FFT蝶形运算,直到完成K个部分的FFT蝶形运算,得到最终运算结果。
进一步的,所述并行数据转换模块,还用于在其中一个所述计算节点进行FFT蝶形运算的同时,在另一个所述计算节点将N/p数据发送到相应计算节点,并等待交换后的数据返回。
如图4和图5所示,分别表示云中并行快速傅里叶变换FFT数据处理方法在使用10MB数据单元和使用2MB数据单元时的结果比较,计算云具有48个CPU核心和96个GB缓存资源,Apache Spark安装在虚拟机中以发送数据并执行计算,Cloud实施了不同的分配策略。使用10MB数据单元和2MB数据单元来进行实验,当数据比例较小时,传统Matlab中的FFT比此发明所述的云中并行FFT数据处理方法花费的时间更少,原因是Apache Spark被设计为对大数据进行计算。当数据规模较小时,Spark引擎的初始化占用了总时间的很大一部分时间,当数据量级上升时,Spark的初始化占用较小的部分,所以此发明所述的云中并行快速FFT数据处理方法表现更好。随着数据规模的增加,计算时间急剧增加,相比之下,尽管并行FFT在数据规模较小时花费的时间比Matlab快,但此发明所述的云中并行快速FFT数据处理方法在数据规模较大时显示出其优势。由此可见,当数据单元的尺寸较小时,FFT算法更容易进行,并行FFT在数据单元较小(2MB)时显示出更明显的优势。
如图6和图7所示,分别表示不同CPU内核数量的10MB数据单元和2MB数据单元的并行快速FFT数据处理方法的结果对比,随着CPU内核数量的增加,算法的速度会提高,如果云中有1个CPU内核,则FFT不会并行化,速度也很低,当有2个内核时,算法花费的时间大大减少到近一半,随着越来越多的内核,算法的增加变得越来越不明显。FFT的并行化有效地缩短了算法时间。另外,分区号也会影响算法速度,太多的分区意味着低效率,这个结果是因为更多的数据分区意味着在Spark中形成更多的数据RDD,Spark将原始数据划分为更多的数据分区,这需要多余的时间。因此,找到更少数量的数据分区可能非常有效。
如图8所示,表示云中并行快速FFT数据处理方法在采用平均分配策略和优化拆分策略之间的比较,该比较在具有16个CPU核心和32G高速缓存的云中进行。在平均分配策略中,有8名工人拥有2个CPU核心和4G缓存。在优化拆分策略中,有4个拥有2个CPU核心和4G缓存的小型工作者,以及1个拥有8个CPU核心和16G缓存的大型工作者。当数据量较小时,平均分割策略的执行效果会优于优化拆分策略。但是,当数据量变大时,优化拆分策略显示出其优势。
由此可见,本发明提供的云中并行快速傅里叶变换FFT数据处理方法及装置,通过并行运算的方式,在不同的计算节点中同时进行FFT蝶形运算,优化了信号处理的性能,提高了数据处理效率;通过使用Apache Spark是大数据处理框架,引入弹性分布式数据集(RDD),在数据处理过程中将中间数据存储在缓存中,避免在磁盘上进行无用的读取或写入操作,减少了FFT的时间,提高了循环计算工作速度;并行FFT蝶形运算存在计算节点间数据交换过多的问题导致算法效率低,本发明通过采用重新分配计算资源的策略,将CPU内核和缓存优化拆分到每个计算节点,提高了资源的利用率,避免了计算节点之间的冗余数据交换,减少了计算节点之间的数据交换量,提高了计算效率。
上述实施例的装置用于实现前述实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本发明难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本发明难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本发明的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本发明的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本发明。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本发明的具体实施例对本发明进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本发明的实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本发明的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (13)
1.一种云中并行快速傅里叶变换数据处理方法,其特征在于,包括:
将获取的快速傅里叶变换FFT的初始数据进行数据预处理,得到运算数据;
基于云计算大数据处理框架,将所述运算数据分成P个运算数据集,并存储于弹性分布式数据集RDD中;
将所述RDD映射到云中的P个计算节点;
给P个所述计算节点分配计算资源;
按照分配的所述计算资源,在每个计算节点对所述运算数据集进行FFT蝶形运算,得到每个计算节点本地运算数据集,并将所述本地运算数据集存储于RDD中;
将所述RDD中当前数据集两两交换后,进行FFT蝶形运算,得到运算结果,并将所述运算结果存储于所述RDD中,重复本步骤,直到得到唯一的最终运算结果。
2.根据权利要求1所述的一种云中并行快速傅里叶变换数据处理方法,其特征在于,所述将获取的快速傅里叶变换FFT的初始数据进行数据预处理,得到运算数据,包括:
将获取的快速傅里叶变换FFT的初始数据按位逆序重新排列,得到重新排列后的运算数据。
3.根据权利要求1所述的一种云中并行快速傅里叶变换数据处理方法,其特征在于,所述给P个所述计算节点分配计算资源,包括:
将所述计算资源设置为n个CPU核心和m个GB缓存,设1个CPU核心和2个GB缓存为一个计算单元,共n个计算单元,n为一个整数;
根据所述计算节点的运算数据量,将P个所述计算节点分成K个部分,每部分包括1~P个所述计算节点;
根据所述计算节点的运算数据量,给各个部分的所述计算节点分配所述计算单元,每个所述计算节点包括1~n/P个所述计算单元。
4.根据权利要求3所述的一种云中并行快速傅里叶变换数据处理方法,其特征在于,所述将所述RDD中当前数据集两两交换后,进行FFT蝶形运算,得到运算结果,并将所述运算结果存储于所述RDD中,重复本步骤,直到得到唯一的最终运算结果,包括:
所述运算数据在第一个部分进行FFT蝶形运算后,将运算结果发送给第二部分进行FFT蝶形运算,再将运算结果发给第三个部分进行FFT蝶形运算,直到完成K个部分的FFT蝶形运算,得到最终运算结果。
5.根据权利要求3所述的一种云中并行快速傅里叶变换数据处理方法,其特征在于,所述给P个所述计算节点分配计算资源,包括:
将所述计算资源平均分成p个,其中,p=P;
将p个所述计算资源分配给P个所述计算节点。
6.根据权利要求1所述的一种云中并行快速傅里叶变换数据处理方法,其特征在于,所述FFT的初始数据有N个采样点,每个采样点有16位数据。
7.根据权利要求6所述的一种云中并行快速傅里叶变换数据处理方法,其特征在于,所述将所述RDD中当前数据集两两交换后,进行FFT蝶形运算,得到运算结果,并将所述运算结果存储于所述RDD中,重复本步骤,直到得到唯一的最终运算结果,包括:
在其中一个所述计算节点进行FFT蝶形运算的同时,在另一个所述计算节点将N/p数据发送到相应计算节点,并等待交换后的数据返回。
8.一种云中并行快速傅里叶变换数据处理装置,其特征在于,包括:数据预处理模块,数据存储模块,数据映射模块,资源分配模块,本地数据运算模块,并行数据运算模块;
所述数据预处理模块,用于将获取的快速傅里叶变换FFT的初始数据进行数据预处理,得到运算数据;
所述数据存储模块,用于基于云计算大数据处理框架,将所述运算数据分成P个运算数据集,并存储于弹性分布式数据集RDD中;
所述数据映射模块,用于将所述RDD映射到云中的P个计算节点;
所述资源分配模块,用于给P个所述计算节点分配计算资源;
所述本地数据运算模块,用于按照分配的所述计算资源,在每个计算节点对所述运算数据集进行FFT蝶形运算,得到每个计算节点本地运算数据集,并将所述本地运算数据集存储于RDD中;
所述并行数据运算模块,用于将所述RDD中当前数据集两两交换后,进行FFT蝶形运算,得到运算结果,并将所述运算结果存储于所述RDD中,重复本步骤,直到得到唯一的最终运算结果。
9.根据权利要求8所述的一种云中并行快速傅里叶变换数据处理装置,其特征在于,所述数据预处理模块,包括:数据排列模块;
所述数据排列模块,用于将获取的快速傅里叶变换FFT的初始数据按位逆序重新排列,得到重新排列后的运算数据。
10.根据权利要求8所述的一种云中并行快速傅里叶变换数据处理装置,其特征在于,所述资源分配模块,包括:优化拆分策略模块,均匀分割策略模块;
所述优化拆分策略模块,用于将所述计算资源设置为n个CPU核心和m个GB缓存,设1个CPU核心和2个GB缓存为一个计算单元,共n个计算单元,n为一个整数,根据所述计算节点的运算数据量,将P个所述计算节点分成K个部分,每部分包括1~P个所述计算节点,根据所述计算节点的运算数据量,给各个部分的所述计算节点分配所述计算单元,每个所述计算节点包括1~n/P个所述计算单元;
所述均匀分割策略模块,用于将所述计算资源平均分成p个,其中,p=P,将p个所述计算资源分配给P个所述计算节点。
11.根据权利要求10所述的一种云中并行快速傅里叶变换数据处理装置,其特征在于,在所述并行数据运算模块中,所述运算数据在第一个部分进行FFT蝶形运算后,将运算结果发送给第二部分进行FFT蝶形运算,再将运算结果发给第三个部分进行FFT蝶形运算,直到完成K个部分的FFT蝶形运算,得到最终运算结果。
12.根据权利要求8所述的一种云中并行快速傅里叶变换数据处理装置,其特征在于,所述FFT的初始数据有N个采样点,每个采样点有16位数据。
13.根据权利要求12所述的一种云中并行快速傅里叶变换数据处理装置,其特征在于,所述并行数据转换模块,还用于在其中一个所述计算节点进行FFT蝶形运算的同时,在另一个所述计算节点将N/p数据发送到相应计算节点,并等待交换后的数据返回。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811383328.0A CN109543137B (zh) | 2018-11-20 | 2018-11-20 | 一种云中并行快速傅里叶变换数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811383328.0A CN109543137B (zh) | 2018-11-20 | 2018-11-20 | 一种云中并行快速傅里叶变换数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109543137A CN109543137A (zh) | 2019-03-29 |
CN109543137B true CN109543137B (zh) | 2022-11-11 |
Family
ID=65848792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811383328.0A Active CN109543137B (zh) | 2018-11-20 | 2018-11-20 | 一种云中并行快速傅里叶变换数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109543137B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101729463A (zh) * | 2008-10-24 | 2010-06-09 | 中兴通讯股份有限公司 | 一种实现快速傅立叶变换、反变换的硬件装置及方法 |
CN105045766A (zh) * | 2015-06-29 | 2015-11-11 | 深圳市中兴微电子技术有限公司 | 基于3072点快速傅里叶变换的数据处理方法及处理器 |
CN105719231A (zh) * | 2016-01-19 | 2016-06-29 | 南京理工大学 | 一种基于gpu计算的干涉数据快速傅里叶变换方法 |
CN107632199A (zh) * | 2017-09-26 | 2018-01-26 | 天津光电通信技术有限公司 | 快速傅里叶变换测频的实现方法 |
CN108197074A (zh) * | 2018-03-01 | 2018-06-22 | 天津芯海创科技有限公司 | 快速傅里叶变换fft数据处理方法及装置 |
-
2018
- 2018-11-20 CN CN201811383328.0A patent/CN109543137B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101729463A (zh) * | 2008-10-24 | 2010-06-09 | 中兴通讯股份有限公司 | 一种实现快速傅立叶变换、反变换的硬件装置及方法 |
CN105045766A (zh) * | 2015-06-29 | 2015-11-11 | 深圳市中兴微电子技术有限公司 | 基于3072点快速傅里叶变换的数据处理方法及处理器 |
CN105719231A (zh) * | 2016-01-19 | 2016-06-29 | 南京理工大学 | 一种基于gpu计算的干涉数据快速傅里叶变换方法 |
CN107632199A (zh) * | 2017-09-26 | 2018-01-26 | 天津光电通信技术有限公司 | 快速傅里叶变换测频的实现方法 |
CN108197074A (zh) * | 2018-03-01 | 2018-06-22 | 天津芯海创科技有限公司 | 快速傅里叶变换fft数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109543137A (zh) | 2019-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10768856B1 (en) | Memory access for multiple circuit components | |
US9286312B2 (en) | Data coreset compression | |
CN108304918B (zh) | 一种数据并行的深度学习的参数交换方法和系统 | |
CN114356223B (zh) | 存储器的访问方法及装置、芯片、电子设备 | |
CN112668708B (zh) | 一种提高数据利用率的卷积运算装置 | |
CN105094981B (zh) | 一种数据处理的方法及装置 | |
CN110659278A (zh) | 基于cpu-gpu异构架构的图数据分布式处理系统 | |
CN112235344A (zh) | 一种面向分布式机器学习的稀疏通信模型的实现方法 | |
Wang et al. | cusFFT: A high-performance sparse fast Fourier transform algorithm on GPUs | |
CN108132986B (zh) | 一种飞行器海量传感器试验数据的快速处理方法 | |
CN115827924A (zh) | 一种基于多gpu的大图子图匹配方法及系统 | |
CN115576675A (zh) | 一种测控网络边缘云计算的fpga加速方法 | |
CN115357571A (zh) | 一种数据去重方法、装置、设备及介质 | |
CN111368252A (zh) | 脉冲星相干消色散系统及方法 | |
Niu et al. | SPEC2: Spectral sparse CNN accelerator on FPGAs | |
US20160124841A1 (en) | Information processing system and data processing method | |
CN109543137B (zh) | 一种云中并行快速傅里叶变换数据处理方法及装置 | |
Tang et al. | Towards memory-efficient streaming processing with counter-cascading sketching on FPGA | |
US11469838B2 (en) | Method and device for implementing an FPGA-based large-scale radio frequency interference array correlator | |
CN115034376B (zh) | 神经网络处理器的批量标准化处理方法及存储介质 | |
US11467973B1 (en) | Fine-grained access memory controller | |
Barhen et al. | High performance FFT on multicore processors | |
Sun et al. | Crsd: application specific auto-tuning of spmv for diagonal sparse matrices | |
US11748255B1 (en) | Method for searching free blocks in bitmap data, and related components | |
CN112148474A (zh) | 面向负载均衡的龙芯大数据一体机自适应任务分割方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |