CN113704681B - 一种数据处理方法、装置及超算系统 - Google Patents
一种数据处理方法、装置及超算系统 Download PDFInfo
- Publication number
- CN113704681B CN113704681B CN202110960999.4A CN202110960999A CN113704681B CN 113704681 B CN113704681 B CN 113704681B CN 202110960999 A CN202110960999 A CN 202110960999A CN 113704681 B CN113704681 B CN 113704681B
- Authority
- CN
- China
- Prior art keywords
- dimension
- computing
- group
- nodes
- calculation
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 13
- 238000004364 calculation method Methods 0.000 claims abstract description 143
- 230000009466 transformation Effects 0.000 claims abstract description 103
- 230000005540 biological transmission Effects 0.000 claims abstract description 31
- 238000013507 mapping Methods 0.000 claims abstract description 27
- 238000000034 method Methods 0.000 claims abstract description 10
- 238000000329 molecular dynamics simulation Methods 0.000 claims description 10
- 230000011218 segmentation Effects 0.000 claims description 4
- 238000012545 processing Methods 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 description 13
- 239000002245 particle Substances 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000009881 electrostatic interaction Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
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
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16C—COMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
- G16C10/00—Computational theoretical chemistry, i.e. ICT specially adapted for theoretical aspects of quantum chemistry, molecular mechanics, molecular dynamics or the like
-
- 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
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明公开了一种数据处理方法、装置及超算系统包括:在多个维度上将预设空间内的数据平均切分,每个维度切分为F个单元,确定每个单元与计算节点的映射关系;并将每个单元内的数据点存储到相对应的计算节点上;在进行任意一个维度的空间变换域之前,将目标维度上坐标连续的F个计算节点作为一组;针对任意一组计算节点,将该组内的Mn‑1个计算任务平均分配给该组内的F个计算节点;每个计算任务表示对一组计算节点内在目标维度上连续的N个数据点进行空间变换域运算;基于为每个计算节点分配的计算任务,各计算节点之间传输进行空间变换域运算所需的数据点,并执行空间变换域运算。基于此,大大降低了数据传输量,提升了数据处理的效率。
Description
技术领域
本发明涉及分子动力学领域,尤其涉及一种数据处理方法、装置及超算系统。
背景技术
在分子动力学模拟中,将待测体系放入一个物理空间立方体中,体系中的粒子受多种作用影响而发生运动。其中静电作用是周期性边界条件下的N-body问题,计算量巨大,成为限制分子动力学模拟计算速度的重要因素。针对静电作用计算,学术界和产业界发明了PPPM(Particle-Particle Particle-MeshMethod),PME(Particle Mesh Ewald),GSE(Gaussian Split Ewald)等算法,都是利用FFT(Fast Fourier Transform Algorithm)技术对静电作用计算的改进。这些算法的发展推进了分子动力学模拟在大规模计算系统上的实现。
分子动力学中的静电作用是粒子在三维立体空间中的相互作用,所含的FFT(FastFourier Transformation,即为快速傅氏变换)计算也是立体空间变换域计算,需要依次完成各维度上的FFT计算。现有技术中通常采用大规模计算系统实现上述提到的FFT运算,但是通常使用的大规模计算系统都是分布式计算系统,每一维度FFT计算都由多个计算节点并行完成,在一个维度计算之后,需要将FFT点从各计算节点全部传回主存储,主存储对数据重排完成维度转换后,再次下发到各计算节点进行下一个维度的计算。这样的方案数据传输量巨大,导致在大规模三维FFT计算中,数据通信成为影响整体计算效率的瓶颈,这也是导致分子动力学模拟在常规超算系统上计算效率受限的重要因素。
发明内容
有鉴于此,本发明实施例公开了一种数据处理方法,降低了大规模计算系统在进行FFT运算的过程中的数传输量,提高了数据处理效率。
本发明实施例公开了一种数据处理方法,包括:
在多个维度上将预设空间内的数据平均切分,每个维度切分为F个单元,并确定每个单元与计算节点的映射关系;每个单元在单个维度上包括M个数据点,M=N/F,N表示预设空间内一个维度上包含的数据点的数量,且F为大于0的正整数,N为大于0的正整数;
基于每个单元与计算节点的映射关系,将每个单元内的数据点存储到相对应的计算节点上;
在进行任意一个维度的空间变换域之前,将目标维度上坐标连续的F个计算节点作为一组,并以此将所有的计算节点划分为Fn-1组;所述目标维度为当前进行空间变换域运算的方向,n表示空间变换域运算包含的维度;
针对任意一组计算节点,将该组内的Mn-1个计算任务平均分配给该组内的F个计算节点;每个计算任务表示对一组计算节点内在目标维度上连续的N个数据点进行空间变换域运算;
基于对每个计算节点分配的计算任务,将参与目标维度的空间变换域运算的数据点发送到相对应的计算节点;
每个计算节点基于被分配的计算任务和存储的计算节点进行空间变换域运算。
可选的,F与实际参与空间变换域运算的计算节点的数量有关。
可选的,将目标维度上坐标连续的F个计算节点作为一组,并以此将所有的计算节点划分为Fn-1组,包括:
在进行第一维度的空间变换域之前,将第一维度上坐标连续的F个计算节点作为一组,并以此将所有的计算节点在第一维度上划分为Fn-1组;
在进行第二维度的空间变换域之前,将第二维度上坐标连续的F个计算节点作为一组,并以此将所有的计算节点在第二维度上划分为Fn-1组;
在进行第三维度的空间变换域之前,将第三维度上坐标连续的F个计算节点作为一组,并以此将所有的计算节点在第三维度上划分为Fn-1组。
可选的,将该组内的Mn-1个计算任务平均分配给该组内的F个计算节点,包括:
若需要进行三个维度的空间变换域运算,在进行第一维度的空间变换域运算之前,对于第一维度上任意一组计算节点,在第二维度和第三维度构成的截面上选取a×b个计算任务分配给一个计算节点;所述a表示从第三维度上选取的计算任务的数量,所述b表示从第二维度上选取的计算任务的数量,且所述a×b个计算任务在第二维度和第三维度构成的截面上构成一个封闭的区域,且所述a×b=M^(n-1)/F;
在进行第二维度的空间变换域运算之前,对于第二维度上任意一组计算节点,在第一维度和第三维度构成的截面上选取c×d个计算任务在第一维度和第三维度构成的截面上分配给一个计算节点;所述c表示从第三维度上选取的计算任务的数量,d表示从第一维度上选取的计算任务的数量,所述c×d个计算任务构成一个封闭的区域,且所述c与所述a相等,所述d与所述b相等,且c×d=M^(n-1)/F;
在进行第三维度的空间按变换域运算之前,对于第三维度上任意一组计算节点,在第二维度和第一维度构成的截面上选取e×f个计算任务分配给一个计算节点,所述e表示从第二维度上选取的计算任务的数量,所述f表示从第一维度上选取的计算任务的数量,所述e×f个计算任务在第二维度和第一维度构成的截面上构成一个封闭的区域,且所述e等于所述a,所述f等于所述b,且e×f=M^(n-1)/F;
所述a、b、c、d、e、f均为大于零的正整数。
可选的,所述针对任意一组计算节点,将该组内的Mn-1个计算任务平均分配给该组内的F个计算节点,包括
在进行第一维度的空间变换域运算前,将第一维度上Mn-1个计算任务平均分配给一组内的每一个计算节点;
在进行第二维度的空间变换域运算前,将第二维度上Mn-1个计算任务平均分配给一组内的每一个计算节点;
在进行第三维度的空间变换域运算前,将第三维度上Mn-1个计算任务平均分配给一组内的每一个计算节点。
可选的,所述基于对每个计算节点分配的计算任务,将参与目标维度的空间变换域运算的数据点发送到相对应的计算节点,包括:
通过各个计算任务和计算节点的关系,确定需要传输的数据点和目的计算节点的对应关系;所述需要传输的数据点为参与目标维度的空间变换域运算的数据点;
将需要传输的数据点传输到相对应的目的计算节点上。本发明实施例公开了一种数据传输装置,包括:
切分单元,用于在多个维度上将预设空间内的数据平均切分,每个维度切分为F个单元,并确定每个单元与计算节点的映射关系;F为大于0的正整数,每个单元在单个维度上包括M个数据点,M=N/F,N表示预设空间内一个维度上包含的数据点的数量,且F为大于0的正整数,N为大于0的正整数;
存储单元,用于基于每个单元与计算节点的映射关系,将每个单元内的数据点存储到相对应的计算节点上;
分组单元,用于在进行任意一个维度的空间变换域之前,将目标维度上坐标连续的F个计算节点作为一组,并以此将所有的计算节点划分为Fn-1组;所述目标维度为当前进行空间变换域运算的方向,n表示空间变换域运算包含的维度;
分配单元,用于针对任意一组计算节点,将该组内的Mn-1个计算任务平均分配给该组内的F个计算节点;每个计算任务表示对一组计算节点内在目标维度上连续的N个数据点进行空间变换域运算;
发送单元,用于基于对每个计算节点分配的计算任务,将参与目标维度的空间变换域运算的数据点发送到相对应的计算节点;
空间变换域计算单元,用于每个计算节点基于被分配的计算任务和存储的计算节点进行空间变换域运算。
可选的,所述分配单元,包括:
第一分配子单元,用于若需要进行三个维度的空间变换域运算,在进行第一维度的空间变换域运算之前,对于第一维度上任意一组计算节点,在第二维度和第三维度构成的截面上选取a×b个计算任务分配给一个计算节点;所述a表示从第三维度上选取的计算任务的数量,所述b表示从第二维度上选取的计算任务的数量,且所述a×b个计算任务在第二维度和第三维度构成的截面上构成一个封闭的区域,且所述a×b=M^(n-1)/F;
第二分配子单元,用于在进行第二维度的空间变换域运算之前,对于第二维度上任意一组计算节点,在第一维度和第三维度构成的截面上选取c×d个计算任务分配给一个计算节点;所述c表示从第三维度上选取的计算任务的数量,d表示从第一维度上选取的计算任务的数量,所述c×d个计算任务在第一维度和第三维度构成的截面上构成一个封闭的区域,且所述c与所述a相等,所述d与所述b相等,且c×d=M^(n-1)/F;
第三分配子单元,用于在进行第三维度的空间按变换域运算之前,对于第三维度上任意一组计算节点,在第二维度和第一维度构成的截面上选取e×f个计算任务分配给一个计算节点,所述e表示从第二维度上选取的计算任务的数量,所述f表示从第一维度上选取的计算任务的数量,所述e×f个计算任务在第二维度和第一维度构成的截面上构成一个封闭的区域,且所述e等于所述a,所述f等于所述b,且e×f=M^(n-1)/F。
本发明实施例公开了一种超算系统,包括:
多个计算节点和处理器;
所述处理器用于,在多个维度上将预设空间内的数据平均切分,每个维度切分为F个单元,并确定每个单元与计算节点的映射关系;每个单元在任意一个维度上包括M个数据点,M=N/F,N表示预设空间内一个维度上包含的数据点的数量,且F为大于0的正整数,N为大于0的正整数;
基于每个单元与计算节点的映射关系,将每个单元内的数据点存储到相对应的计算节点上;
在进行任意一个维度的空间变换域之前,将目标维度上坐标连续的F个计算节点作为一组,并以此将所有的计算节点划分为Fn-1组;所述目标维度为当前进行空间变换域运算的方向,n表示空间变换域运算包含的维度;
针对任意一组计算节点,将该组内的Mn-1个计算任务平均分配给该组内的F个计算节点;每个计算任务表示对一组计算节点内在目标维度上连续的N个数据点进行空间变换域运算;
所述计算节点用于:
基于对每个计算节点分配的计算任务,将参与目标维度的空间变换域运算的数据点发送到相对应的计算节点;
每个计算节点基于被分配的计算任务和存储的计算节点进行空间变换域运算。
可选的,所述多个计算节点之间存在多个维度的连接关系。
本实施例中,在多个维度上将预设空间内的数据平均切分,每个维度切分为F个单元,并确定每个单元与计算节点的映射关系;每个单元在单个维度上包括M个数据点;基于每个单元与计算节点的映射关系,将每个单元内的数据点存储到相对应的计算节点上;在进行任意一个维度的空间变换域之前,将目标维度上坐标连续的F个计算节点作为一组,并以此将所有的计算节点划分为Fn-1组;针对任意一组计算节点,将该组内的Mn-1个计算任务平均分配给该组内的F个计算节点;每个计算任务表示对一组计算节点内在目标维度上连续的N个数据点进行空间变换域运算;基于为每个计算节点分配的计算任务,各计算节点之间传输数据点,并执行空间变换域运算。由此,通过上述的数据处理方法,使得在进行每个维度的空间变换域运算之前,各个计算节点之间无需传输所有参加空间变换域运算的数据点,只需要传输参加空间变换域运算的数据点中的部分数据点,并且,在执行完一个维度的空间变换域运算后,无需将所有的数据点传输回主存储,由此大大降低了数据传输量,提升了数据处理的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1示出了本发明实施例提供的一种数据处理方法的流程示意图;
图2示出了三维空间的数据切分为F个单元后的示意图;
图3示出了X维度上一组的计算节点和包含的数据点的示意图;
图4示出了Y维度上一组的计算节点和包含的数据点的示意图;
图5示出了Z维度上一组的计算节点和包含的数据点的示意图;
图6示出了X维度上任务分配的示意图;
图7示出了Y维度上任务分配的示意图;
图8示出了Z维度上任务分配的示意图;
图9示出了分配给同一个计算节点的X维和Y维数据点在三维空间上的分布位置示意图;
图10示出了分配给同一个计算节点的Y维和Z维数据点在三维空间上的分布位置示意图;
图11示出了本发明实施例提供的一种数据处理装置的结构示意图;
图12示出了本发明实施例提供的一种超算系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参考图1,示出了本发明实施例提供的一种数据处理方法的流程示意图,在本实施例中,该方法包括:
S101:在多个维度上将预设空间内的数据平均切分,每个维度切分为F个单元,并确定每个单元与计算节点的映射关系;每个单元在单个维度上包括M个数据点,M=N/F,N表示预设空间内一个维度上包含的数据点的数量,且F为大于0的正整数,N为大于0的正整数;
本实施例中,被切分的单元的个数F可以通过多种方式确定,例如,一种实施方式下,F的数量可以是随机确定的;在另外一种实施方式下,为了有足够的计算节点用于承载切分后的数据点,那么数据点切分的单元数F是基于可供使用的计算节点的数量确定的,且Fn≤可用的计算节点的最大数。
其中,若预设空间中每个维度上包括N个数据点,那么将单维度上的数据点被切分为F个单元后,切分后的每一个单元在单个维度上包含的数据点为M个,M=N/F,那么切分后的一个单元内包含的数据点为Mn个,n表示预设空间被切分的维度的个数。
举例说明:如图2所示,假设预设空间为三维空间,该三维空间内包含M×N×N个数据点,在每个维度上将三维空间内的数据平均切分为F份,即将预设空间内的数据切分成了F×F×F个单元,每个单元在一个维度上包含的数据点的量为M,M=N/F。
S102:基于每个单元与计算节点的映射关系,将每个单元内的数据点存储到相对应的计算节点上;
本实施例中,预设空间内每个单元与计算节点之间存在一一对应关系,并将每个单元内的数据点发送到与其相对应的一个计算节点上。
通过上述介绍可知,若预设空间中每个维度上包括N个数据点,那么将单个维度上的数据点被切分为F个单元后,切分后的每个单元在单个维度上包含的数据点为M个,M=N/F,那么切分后的一个单元内包含的数据点为Mn个,n表示多维空间的维度。
基于此,每个计算节点接收到的数据点与一个单元内存储的数据点的数量相同,即每个计算节点在一个维度上包含M个数据点,计算节点包含的数据点为Mn个,n表示预设空间被切分的维度的个数,或者也可以表示为空间变换域运算包含的维度。
S103:在进行任意一个维度的空间变换域之前,将目标维度上坐标连续的F个计算节点作为一组,并以此将所有的计算节点划分为Fn-1组;所述目标维度为当前进行空间变换域运算的方向,n表示为空间变换域运算包含的维度;
其中,n表示为空间变换域运算包含的维度,或者也可以表示为预设空间被切分的维度的个数。
本实施例中,预设空间内的数据需要在多个维度上进行空间变换域运算,在进行每个维度的空间变换域运算之前,将参与对预设空间内的数据进行空间变换域运算的多个计算节点进行分组,在一个维度上,将坐标连续的F个计算节点作为一组,那么参与对预设空间内的数据进行空间变换域运算的多个计算节点可以划分为Fn-1组。
举例说明:假设在三个维度上进行空间变换域运算,包括X维、Y维和Z维,以X维度为例,如图3所示,坐标为I(1,y,z),I(2,y,z),I(3,y,z)…I(F,y,z)的计算节点为X维度上连续的F个计算节点,并将在X维度上连续的F个计算节点作为一组,那么在X维度上,参与对预设空间内的数据进行空间变换域运算的多个计算节点可以划分为F2组。
如图4所示,以Y维为例,坐标为I(x,1,z),I(x,2,z),I(x,3,z)…I(x,F,z)的计算节点为Y维度上连续的F个计算节点,并将在Y维度上连续的F个计算节点作为一组,那么在Y维度上,参与对预设空间内的数据进行空间变换域运算的多个计算节点可以划分为F2组。
如图5所示,以Z维为例,坐标为I(x,y,1),I(x,y,2),I(x,y,3)…I(x,y,F)的计算节点为Z维度上连续的F个计算节点,并将在Z维度上连续的F个计算节点作为一组,那么在Z维度上,参与对预设空间内的数据进行空间变换域运算的多个计算节点可以划分为F2组。
S104:针对任意一组计算节点,将该组内的Mn-1个计算任务平均分配给该组内的F个计算节点;每个计算任务表示对一组计算节点内在目标维度上连续的N个数据点进行空间变换域运算;
本实施例中,通过上述介绍可知,一个计算节点在一个维度上的数据点的数量为M,那么一组计算节点内包括Mn×F个数据点,将一组计算节点内的所有数据点划分为多个计算任务,每个计算任务包括一组计算节点内在目标维度上N个连续的数据点,由此,一组计算节点包括Mn-1个计算任务。本实施例中,需要将Mn-1个计算任务平均分配给一组计算节点内的F个计算节点。
具体的,一个计算任务表示对一组计算节点内在目标维度上连续的N个数据点进行空间变换域运算。
其中,目标维度为当前进行空间变换域运算的方向,假设存在三个方向的空间变换域运算时,若当前进行X维度的空间变换域运算,那么目标维度为X维度;若当前进行Y维度的空间变换域运算,那么目标维度为Y维度;若当前进行Z维度的空间变换域运算,那么目标维度为Z维度。
举例说明:假设在三个维度上进行空间变换域运算,包括X维、Y维和Z维,以X维度为例,如图3所示,包括在X维度上一组计算节点,其中,该组计算节点中的一个计算任务表示对X维度上连续的N个数据点进行空间变换域运算。如图4所示,包括Y维度上一组计算节点,其中,该组计算节点中的一个计算任务表示对Y维度上连续的N个数据点进行空间变换域运算。如图5所示,包括Z维度上一组计算节点,其中,该组计算节点中的一个计算任务表示对Z维度上连续的N个数据点进行空间变换域运算。
具体的,若需要进行三个维度的空间变换域运算,那么:
在进行第一维度的空间变换域运算前,将第一维度上的M2个计算任务平均分给一组内的每一个计算节点;
在进行第二维度的空间变换域运算前,将第二维度上的M2个计算任务平均分给一组内的每一个计算节点;
在进行第三维度的空间变换域运算前,将第三维度上的M2个计算任务平均分给一组内的每一个计算节点。
S105:基于对每个计算节点分配的计算任务,将参与目标维度的空间变换域运算的数据发送到相对应的计算节点;
实施例中,针对任意一个计算节点,该计算节点负责至少一个计算任务,但是该计算节点未包含计算任务中全部的数据点,因此,需要将计算节点执行的计算任务所需的数据点从其它数据节点传输到该计算节点。
具体的,S105包括:
通过各个计算任务和计算节点的关系,确定需要传输的数据点和目的计算节点的对应关系;所述需要传输的数据点为参与目标维度的空间变换域运算的数据点;
将需要传输的数据点传输到相对应的目的计算节点上。
本实施例中,在为每个计算节点分配了计算任务后,则确定了计算任务和计算节点的关系,每个计算任务又包含执行空间变换运算的N个数据点,那么也知道计算任务和数据点的关系,由此,通过计算任务和计算节点的关系、计算任务和数据点的关系,可以确定出需要传输的数据点和目的计算节点的对应关系,并将需要传输的数据点传输到相对应的目的计算节点上。
本实施例中,在进行多个维度的空间变换域运算时,执行第一个维度的空间变换域时,一组计算节点包含的计算任务所需的数据点都存储在该组计算节点内,由此在进行数据传输时,只需要在该组的F个计算节点中进行数据传输。执行完了第一个维度的空间变换域之后,数据点与计算节点之间的映射关系发生了变化,那么一组计算节点包含的计算任务所需的数据点不一定存储在该组计算节点中,进行下一个维度的空间变换域运算之前,需要将计算节点所需的数据点传输到计算节点上,本次数据传输时,不一定只在一组F个计算节点之间进行数据传输。
举例说明:若需要在X维、Y维和Z维上分别进行空间变换域运算,则在执行了X维的空间变换域运算时,一组计算节点的计算任务所需的数据点均存储在该组计算节点内,由此只需要在该组F个计算节点中进行数据传输,通过计算任务和计算节点的关系,则可以确定出计算任务所需的计算节点需要被传输到那个计算节点上。执行完X维度的空间变换域运算后,数据点与计算节点之间的映射关系发生了变化,那么一组计算节点包含的计算任务所需的数据点不一定存储在该组计算节点中,进行Y维度的空间变换域运算之前,需要将计算节点所需的数据点传输到计算节点上,本次数据传输时,不一定只在一组F个计算节点之间进行数据传输。同理,在执行完Y维度的空间变换域运算后,进行Z维度的空间变换域运算之前,需要将计算节点所需的数据点传输到计算节点上,本次数据传输时,不一定只在一组F个计算节点之间进行数据传输。
S106:每个计算节点基于被分配的计算任务和存储的计算节点进行空间变换域运算。
本实施例中,存储有数据点的多个计算节点之间存在连接关系,该连接关系使得每一个计算节点均可以与其它的任何一个计算节点进行数据传输。
其中,为了实现计算节点之间的数据传输,进行空间变换域运算的计算节点之间是相互连通的,任意两个计算节点之间可以存在直接的连接关系,也可以存在间接的连接关系。
其中,存储有数据点的多个计算节点之间可以存在多维度的连接关系,每个维度上存在F个计算节点,若包含三个维度,那么包括F×F×F个计算节点。针对任意一个计算节点来说,在每一个维度上,存在与计算节点的坐标相邻的两个计算节点与该计算节点存在直接的连接关系。
进一步的,具有连接关系的两个计算节点之间通过高速互联网络连接,即所有的计算节点通过高速互联网络进行多个维度的连接。
每个计算节点在接收到进行空间变换域运算所需的数据点后,进行空间变换域运算。
本实施例中,将多个维度上预设空间内的数据平均切分,每个维度切分为F个单元,并确定每个单元与计算节点的映射关系;每个单元在单个维度上包括M个数据点;基于每个计算单元与计算节点的映射关系,将每个单元内的数据点存储到相对应的计算节点上;在进行任意一个维度的空间变换域之前,将目标维度上坐标连续的F个计算节点作为一组,并以此将所有的计算节点划分为Fn-1组;针对任意一组计算节点,将该组内的Mn-1个计算任务平均分配给该组内的F个计算节点;每个计算任务表示一组计算节点内在目标维度上连续的N个计算节点进行空间变换域运算;基于对每个计算节点分配的计算任务,将参与目标维度的空间变换域运算的数据发送到相对应的计算节点;每个计算节点基于被分配的计算任务和存储的计算节点进行空间变换域运算。由此,通过上述的数据处理方法,使得在计算每个维度的空间变换域之前,各个计算节点之间无需传输所有参加空间变换域运算的数据点,只需要传输参加空间变换域运算的数据点中的部分数据点,并且,在执行完一个维度的空间变换域运算后,无需将所有的数据点传输回主存储,由此大大降低了数据传输量,提升了数据处理的效率。
实施例2
本实施例中,经研究发现,在进行每一个维度的空间变换域之前,对一组计算节点内的Mn-1个计算任务平均分配时,可以按照如下的规则进行分配,从而使得计算节点之间的数据传输量进一步的减少,从而提高数据处理的效率,在上述实施例1的基础上,S104包括:
S201:若需要进行三个维度的空间变换域运算,在进行第一维度的空间变换域运算之前,对于第一维度上任意一组计算节点,将该组计算节点负责的Mn-1个计算任务平均分配给该组内的每个计算节点:
在第二维度和第三维度构成的截面上选取a×b个计算任务分配给一个计算节点;所述a表示从第三维度上选取的计算任务的数量,所述b表示从第二维度上选取的计算任务的数量,且所述a×b个计算任务在第二维度和第三维度构成的截面上构成一个封闭的区域,且所述a×b=M^(n-1)/F。
本实施例中,例如第一维度为X维度,那么如图6所示,通过附带维度选取的方式进行任务分配,其中,对于X维度上的一组计算节点来说,在YZ的截面上将M2个计算任务进行均分,单个计算节点分配a×b个计算任务,从图5可以看出,a是从z方向上选取的连续的a个计算任务,b是从Y方向上选取的连续的b个计算任务,且a×b个计算任务构成一个封闭的区域。
S202:在进行第二维度的空间变换域运算之前,对于第二维度上任意一组计算节点,将该组计算节点负责的Mn-1个计算任务平均分配给该组内的每个计算节点:
在第一维度和第三维度构成的截面上选取c×d个计算任务分配给一个计算节点;所述c表示从第三维度上选取的计算任务的数量,d表示从第一维度上选取的计算任务的数量,所述c×d个计算任务在第一维度和第三维度构成的截面上构成一个封闭的区域,且所述c与所述a相等,所述d与所述b相等;
本实施例中,例如第二维度为Y维度,那么如图7所示,通过附带维度选取的方式进行任务分配,其中,对于Y维度上的一组计算节点来说,在XZ截面上将M2个计算任务进行均分,单个计算节点分配a×b个计算任务,从图6可以看出,a表示从z方向上选取连续的a个计算任务,b表示从X方向上选取连续的b个计算任务,且a×b个计算任务构成一个封闭的区域。
S203:在进行第三维度的空间按变换域运算之前,对于第三维度上任意一组计算节点,将该组计算节点负责的Mn-1个计算任务平均分配给该组内的每个计算节点:
在第二维度和第三维度构成的截面上选取e×f个计算任务分配给一个计算节点,所述e表示从第二维度上选取的计算任务的数量,所述f表示从第一维度上选取的计算任务的数量,所述e×f个计算任务在第二维度和第一维度构成的截面上构成一个封闭的区域,且所述e等于所述a,所述f等于所述b。
本实施例中,例如第三维度为Z维度,那么如图8所示,通过附带维度选取的方式进行任务分配,其中,对于Z维度上的一组计算节点来说,在XY截面上将M2个计算任务进行均分,单个计算节点分配a×b个计算任务,从图8中可以看出,a表示Y方向上选取连续a个计算任务,b表示X方向上选取连续b个计算任务。
通过上述的附带维度的分配方式,使得计算节点之间的数据传输量大大的降低了,提高了数据处理的效率。
具体的,若需要进行三个维度的空间变换域运算,那么在进行每个维度的空间变换域运算时,数据传输量具体减少的程度如下:
1)在进行X维的空间变换域计算之前的数据传输:
在进行X维空间变换域计算之前,所有的数据点分别存储在计算节点中,按照X维空间变换域的计算任务分配方式,把各数据点传输到相应计算节点,此时每个计算节点中的M(X)×M(Y)×M(Z)个数据点中,有M(X)×b(Y)×a(Z)个数据点在本计算节点中参与X维计算,只需将其他(M^3-M×b×a)个数据点按(M×b×a)个数据点为一组分发至X维的其他F-1个计算节点,同时其他F-1个计算节点各发送(M×b×a)个数据点至本计算节点。此时,本专利方案与普通方案相比,在此轮数据传输中,至少可减少(a×b×M×F3)个数据点的传输。
2)在进行Y维的空间变换域计算之前的数据传输:
X维FFT做完后,按照Y维空间变换域的计算任务分配方式,把各数据点传输到相应计算节点。如图9所示,此时留在每个计算节点中的M(X)×M(Y)×M(Z)个数据点中,将会有b(X)×b(Y)×a(Z)个数据点在本计算节点中参与Y维计算,只需将其他M^3-b^2×a个数据点(对应((M/a)×M^2-b^2)(XY)×a(Z))按Z维M^3/L个数据点(注意这M^3/L个FFT点参与的不是同一组空间变换域运算)为一组分发至XY平面的其他L-1个计算节点,同时其他L-1个计算节点各发送M^3/L个FFT点至本计算节点,L=F^2/(M/a)。本技术方案与现有技术相比,在此轮数据传输中,至少可减少(a×b^2×F3)个数据点的传输。
3)在进行Z维的空间变换域计算之前的数据传输:
Y维空间变换域计算做完后,按照Z维空间变换域的计算任务分配方式,把各数据点传输到相应计算节点。如图10所示,此时留在每个计算节点中的M(X)×M(Y)×M(Z)个数据点中,将会有b(X)×a(Y)×a(Z)个数据点在本计算节点中参与Z维计算,只需将其他(M^3-b×a^2)个数据点按照M^3/Q个数据点为一组分发至Z维的其他Q-1个计算节点,同时其他Q-1个计算节点各发送M^3/Q个数据点至本计算节点,Q=F×(M/a)=F^3/L。本专利方案与其它方案相比,在此轮数据传输中,至少可减少(a^2×b×F3)个数据点的传输。
实施例3:
参考图11,示出了本发明实施例提供的一种数据传输装置的结构示意图,在本实施例中,该装置包括:
切分单元1101,用于在多个维度上将预设空间内的数据平均切分,每个维度切分为F个单元,并确定每个单元与计算节点的映射关系;每个单元在单个维度上包括M个数据点,M=N/F,N表示预设空间内一个维度上包含的数据点的数量,且F为大于0的正整数,N为大于0的正整数;
存储单元1102,用于基于每个单元与计算节点的映射关系,将每个单元内的数据点存储到相对应的计算节点上;
分组单元1103,用于在进行任意一个维度的空间变换域之前,将目标维度上坐标连续的F个计算节点作为一组,并以此将所有的计算节点划分为Fn-1组;所述目标维度为当前进行空间变换域运算的方向,n表示为空间变换域运算包含的维度;
分配单元1104,用于针对任意一组计算节点,将该组内的Mn-1个计算任务平均分配给该组内的F个计算节点;每个计算任务表示对一组计算节点内在目标维度上连续的N个数据点进行空间变换域运算;
发送单元1105,用于基于对每个计算节点分配的计算任务,将参与目标维度的空间变换域运算的数据点发送到相对应的计算节点;
空间变换域计算单元,用于每个计算节点基于被分配的计算任务和存储的计算节点进行空间变换域运算。
可选的,所述分配单元,包括:
第一分配子单元,用于若需要进行三个维度的空间变换域运算,在进行第一维度的空间变换域运算之前,对于第一维度上任意一组计算节点,在第二维度和第三维度构成的截面上选取a×b个计算任务分配给一个计算节点;所述a表示从第三维度上选取的计算任务的数量,所述b表示从第二维度上选取的计算任务的数量,且所述a×b个计算任务在第二维度和第三维度构成的截面上构成一个封闭的区域,且所述a×b=M^(n-1)/F;
第二分配子单元,用于在进行第二维度的空间变换域运算之前,对于第二维度上任意一组计算节点,在第一维度和第三维度构成的截面上选取c×d个计算任务分配给一个计算节点;所述c表示从第三维度上选取的计算任务的数量,d表示从第一维度上选取的计算任务的数量,所述c×d个计算任务在第一维度和第三维度构成的截面上构成一个封闭的区域,且所述c与所述a相等,所述d与所述b相等,且c×d=M^(n-1)/F;
第三分配子单元,用于在进行第三维度的空间按变换域运算之前,对于第三维度上任意一组计算节点,在第二维度和第一维度构成的截面上选取e×f个计算任务分配给一个计算节点,所述e表示从第二维度上选取的计算任务的数量,所述f表示从第一维度上选取的计算任务的数量,所述e×f个计算任务在第二维度和第一维度构成的截面上构成一个封闭的区域,且所述e等于所述a,所述f等于所述b,且e×f=M^(n-1)/F。
可选的,所述分组单元,包括:
第一分组子单元,用于在进行第一维度的空间变换域之前,将第一维度上坐标连续的F个计算节点作为一组,并以此将所有的计算节点在第一维度上划分为Fn-1组;
第二分组子单元,用于在进行第二维度的空间变换域之前,将第二维度上坐标连续的F个计算节点作为一组,并以此将所有的计算节点在第二维度上划分为Fn-1组;
第三分组子单元,用于在进行第三维度的空间变换域之前,将第三维度上坐标连续的F个计算节点作为一组,并以此将所有的计算节点在第三维度上划分为Fn-1组。
可选的,所述分配单元,包括:
第四分配子单元,用于在进行第一维度的空间变换域运算前,将第一维度上Mn-1个计算任务平均分配给一组内的每一个计算节点;
第五分配子单元,用于在进行第二维度的空间变换域运算前,将第二维度上的Mn-1个计算任务平均分配给一组内的每一个计算节点;
第六分配子单元,用于在进行第三维度的空间变换域运算前,将第三维度上的Mn-1个计算任务平均分配给一组内的每一个计算节点。
可选的,所述发送单元,用于:
确定子单元,用于通过每组计算节点负责各个计算任务和计算节点的关系,确定该组内需要传输的数据点和目的计算节点的关系;
传输子单元,用于将该组内需要传输的数据点传输到相对应的目的计算节点中。
通过本实施的装置,在多个维度上将预设空间内的数据平均切分,每个维度切分为F个单元,并确定每个单元与计算节点的映射关系;基于每个计算单元与计算节点的映射关系,将每个单元内的数据点存储到相对应的计算节点上;在进行任意一个维度的空间变换域之前,将目标维度上坐标连续的F个计算节点作为一组,并以此将所有的计算节点划分为Fn-1组;针对任意一组计算节点,将该组内的Mn-1个计算任务平均分配给该组内的F个计算节点;每个计算任务表示对一组计算节点内在目标维度上连续的N个计算节点进行空间变换域运算;基于对每个计算节点分配的计算任务,将参与目标维度的空间变换域运算的数据发送到相对应的计算节点;每个计算节点基于被分配的计算任务和存储的计算节点进行空间变换域运算。由此,通过上述的数据处理方法,使得在进行每个维度的空间变换域运算之前,各个计算节点之间无需传输所有参加空间变换域运算的数据点,只需要传输参加空间变换域运算的数据点中的部分数据点,并且,在执行完一个维度的空间变换域运算后,无需将所有的数据点传输回主存储,由此大大降低了数据传输量,提升了数据处理的效率。
实施例4
参考图12,示出了本发明实施例提供的一种超算系统的结构示意图,在本实施例中,该装置包括:
多个计算节点1201和处理器1202;
所述处理器用于,在多个维度上将预设空间内的数据平均切分,每个维度切分为F个单元,并确定每个单元与计算节点的映射关系;每个单元在单个维度上包括M个数据点,M=N/F,N表示预设空间内一个维度上包含的数据点的数量,且F为大于0的正整数,N为大于0的正整数;
基于每个单元与计算节点的映射关系,将每个单元内的数据点存储到相对应的计算节点上;
在进行任意一个维度的空间变换域之前,将目标维度上坐标连续的F个计算节点作为一组,并以此将所有的计算节点划分为Fn-1组;所述目标维度为当前进行空间变换域运算的方向,n表示空间变换域运算包含的维度;
针对任意一组计算节点,将该组内的Mn-1个计算任务平均分配给该组内的F个计算节点;每个计算任务表示对一组计算节点内在目标维度上连续的N个数据点进行空间变换域运算;
所述计算节点用于:
基于对每个计算节点分配的计算任务,将参与目标维度的空间变换域运算的数据点发送到相对应的计算节点;
每个计算节点基于被分配的计算任务和存储的计算节点进行空间变换域运算。
可选的,所述多个计算节点之间存在多个维度的连接关系。
可选的,处理器还用于:
在执行将目标维度上坐标连续的F个计算节点作为一组,并以此将所有的计算节点划分为Fn-1组时,包括:
在进行第一维度的空间变换域之前,将第一维度上坐标连续的F个计算节点作为一组,并以此将所有的计算节点在第一维度上划分为Fn-1组;
在进行第二维度的空间变换域之前,将第二维度上坐标连续的F个计算节点作为一组,并以此将所有的计算节点在第二维度上划分为Fn-1组;
在进行第三维度的空间变换域之前,将第三维度上坐标连续的F个计算节点作为一组,并以此将所有的计算节点在第三维度上划分为Fn-1组。
在执行将该组内的Mn-1个计算任务平均分配给该组内的F个计算节点时,包括:
若需要进行三个维度的空间变换域运算,在进行第一维度的空间变换域运算之前,对于第一维度上任意一组计算节点,在第二维度和第三维度构成的截面上选取a×b个计算任务分配给一个计算节点;所述a表示从第三维度上选取的计算任务的数量,所述b表示从第二维度上选取的计算任务的数量,且所述a×b个计算任务在第二维度和第三维度构成的截面上构成一个封闭的区域,且所述a×b=M^(n-1)/F;
在进行第二维度的空间变换域运算之前,对于第二维度上任意一组计算节点,在第一维度和第三维度构成的截面上选取c×d个计算任务分配给一个计算节点;所述c表示从第三维度上选取的计算任务的数量,d表示从第一维度上选取的计算任务的数量,所述c×d个计算任务在第一维度和第三维度构成的截面上构成一个封闭的区域,且所述c与所述a相等,所述d与所述b相等,且c×d=M^(n-1)/F;
在进行第三维度的空间按变换域运算之前,对于第三维度上任意一组计算节点,在第二维度和第一维度构成的截面上选取e×f个计算任务分配给一个计算节点,所述e表示从第二维度上选取的计算任务的数量,所述f表示从第一维度上选取的计算任务的数量,所述e×f个计算任务在第二维度和第一维度构成的截面上构成一个封闭的区域,且所述e等于所述a,所述f等于所述b,且e×f=M^(n-1)/F;
所述a、b、c、d、e、f均为大于零的正整数。
在执行所述针对任意一组计算节点,将该组内的Mn-1个计算任务平均分配给该组内的F个计算节点时,包括
在进行第一维度的空间变换域运算前,将第一维度上Mn-1个计算任务平均分配给一组内的每一个计算节点;
在进行第二维度的空间变换域运算前,将第二维度上Mn-1个计算任务平均分配给一组内的每一个计算节点;
在进行第三维度的空间变换域运算前,将第三维度上Mn-1个计算任务平均分配给一组内的每一个计算节点。
在执行所述基于对每个计算节点分配的计算任务,将参与目标维度的空间变换域运算的数据点发送到相对应的计算节点时,包括:
通过各个计算任务和计算节点的关系,确定需要传输的数据点和目的计算节点的对应关系;所述需要传输的数据点为参与目标维度的空间变换域运算的数据点;
将需要传输的数据点传输到相对应的目的计算节点上。
本实施例公开的超算系统,通过上述的数据处理方法,使得在进行每个维度的空间变换域运算之前,各个计算节点之间无需传输所有参加空间变换域运算的数据点,只需要传输参加空间变换域运算的数据点中的部分数据点,并且,在执行完一个维度的空间变换域运算后,无需将所有的数据点传输回主存储,由此大大降低了数据传输量,提升了数据处理的效率。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种数据处理方法,其特征在于,应用于超算系统,所述超算系统是分布式计算系统,利用所述超算系统实现对分子动力学模拟中的FFT计算,包括:
在多个维度上将预设空间内的数据平均切分,每个维度切分为F个单元,并确定每个单元与计算节点的映射关系;每个单元在单个维度上包括M个数据点,M=N/F,N表示预设空间内一个维度上包含的数据点的数量,且F为大于0的正整数,N为大于0的正整数;
基于每个单元与计算节点的映射关系,将每个单元内的数据点存储到相对应的计算节点上;
在进行任意一个维度的空间变换域之前,将目标维度上坐标连续的F个计算节点作为一组,并以此将所有的计算节点划分为Fn-1组;所述目标维度为当前进行空间变换域运算的方向,n表示空间变换域运算包含的维度;
针对任意一组计算节点,将该组内的Mn-1个计算任务平均分配给该组内的F个计算节点;每个计算任务表示对一组计算节点内在目标维度上连续的N个数据点进行空间变换域运算;
基于对每个计算节点分配的计算任务,将参与目标维度的空间变换域运算的数据点发送到相对应的计算节点;
每个计算节点基于被分配的计算任务和存储的计算节点进行空间变换域运算。
2.根据权利要求1所述的方法,其特征在于,F与实际参与空间变换域运算的计算节点的数量有关。
3.根据权利要求1所述的方法,其特征在于,将目标维度上坐标连续的F个计算节点作为一组,并以此将所有的计算节点划分为Fn-1组,包括:
在进行第一维度的空间变换域之前,将第一维度上坐标连续的F个计算节点作为一组,并以此将所有的计算节点在第一维度上划分为Fn-1组;
在进行第二维度的空间变换域之前,将第二维度上坐标连续的F个计算节点作为一组,并以此将所有的计算节点在第二维度上划分为Fn-1组;
在进行第三维度的空间变换域之前,将第三维度上坐标连续的F个计算节点作为一组,并以此将所有的计算节点在第三维度上划分为Fn-1组。
4.根据权利要求1所述的方法,其特征在于,所述针对任意一组计算节点,将该组内的Mn-1个计算任务平均分配给该组内的F个计算节点,包括:
若需要进行三个维度的空间变换域运算:
在进行第一维度的空间变换域运算之前,对于第一维度上任意一组计算节点,在第二维度和第三维度构成的截面上选取a×b个计算任务分配给一个计算节点;所述a表示从第三维度上选取的计算任务的数量,所述b表示从第二维度上选取的计算任务的数量,所述a×b个计算任务在第二维度和第三维度构成的截面上构成一个封闭的区域,且所述a×b=M^(n-1)/F;
在进行第二维度的空间变换域运算之前,对于第二维度上任意一组计算节点,在第一维度和第三维度构成的截面上选取c×d个计算任务分配给一个计算节点;所述c表示从第三维度上选取的计算任务的数量,d表示从第一维度上选取的计算任务的数量,所述c×d个计算任务在第一维度和第三维度构成的截面上构成一个封闭的区域,且所述c与所述a相等,所述d与所述b相等,且c×d=M^(n-1)/F;
在进行第三维度的空间按变换域运算之前,对于第三维度上任意一组计算节点,在第二维度和第一维度构成的截面上选取e×f个计算任务分配给一个计算节点,所述e表示从第二维度上选取的计算任务的数量,所述f表示从第一维度上选取的计算任务的数量,所述e×f个计算任务在第二维度和第一维度构成的截面上构成一个封闭的区域,且所述e等于所述a,所述f等于所述b,且e×f=M^(n-1)/F;
所述a、b、c、d、e、f均为大于零的正整数。
5.根据权利要求1所述的方法,其特征在于,所述针对任意一组计算节点,将该组内的Mn-1个计算任务平均分配给该组内的F个计算节点,包括
在进行第一维度的空间变换域运算前,将第一维度上Mn-1个计算任务平均分配给一组内的每一个计算节点;
在进行第二维度的空间变换域运算前,将第二维度上Mn-1个计算任务平均分配给一组内的每一个计算节点;
在进行第三维度的空间变换域运算前,将第三维度上Mn-1个计算任务平均分配给一组内的每一个计算节点。
6.根据权利要求1所述的方法,其特征在于,所述基于对每个计算节点分配的计算任务,将参与目标维度的空间变换域运算的数据点发送到相对应的计算节点,包括:
通过各个计算任务和计算节点的关系,确定需要传输的数据点和目的计算节点的对应关系;所述需要传输的数据点为参与目标维度的空间变换域运算的数据点;
将需要传输的数据点传输到相对应的目的计算节点上。
7.一种数据传输装置,其特征在于,应用于超算系统,所述超算系统是分布式计算系统,利用所述超算系统实现对分子动力学模拟中的FFT计算,包括:
切分单元,用于在多个维度上将预设空间内的数据平均切分,每个维度切分为F个单元,并确定每个单元与计算节点的映射关系;每个单元在单个维度上包括M个数据点,M=N/F,N表示预设空间内一个维度上包含的数据点的数量,且F为大于0的正整数,N为大于0的正整数;
存储单元,用于基于每个单元与计算节点的映射关系,将每个单元内的数据点存储到相对应的计算节点上;
分组单元,用于在进行任意一个维度的空间变换域之前,将目标维度上坐标连续的F个计算节点作为一组,并以此将所有的计算节点划分为Fn-1组;所述目标维度为当前进行空间变换域运算的方向,n表示空间变换域运算包含的维度;
分配单元,用于针对任意一组计算节点,将该组内的Mn-1个计算任务平均分配给该组内的F个计算节点;每个计算任务表示对一组计算节点内在目标维度上连续的N个数据点进行空间变换域运算;
发送单元,用于基于对每个计算节点分配的计算任务,将参与目标维度的空间变换域运算的数据点发送到相对应的计算节点;
空间变换域计算单元,用于每个计算节点基于被分配的计算任务和存储的计算节点进行空间变换域运算。
8.根据权利要求7所述的装置,其特征在于,所述分配单元,包括:
第一分配子单元,用于若需要进行三个维度的空间变换域运算,在进行第一维度的空间变换域运算之前,对于第一维度上任意一组计算节点,在第二维度和第三维度构成的截面上选取a×b个计算任务分配给一个计算节点;所述a表示从第三维度上选取的计算任务的数量,所述b表示从第二维度上选取的计算任务的数量,且所述a×b个计算任务在第二维度和第三维度构成的截面上构成一个封闭的区域,且所述a×b=M^(n-1)/F;
第二分配子单元,用于在进行第二维度的空间变换域运算之前,对于第二维度上任意一组计算节点,在第一维度和第三维度构成的截面上选取c×d个计算任务分配给一个计算节点;所述c表示从第三维度上选取的计算任务的数量,d表示从第一维度上选取的计算任务的数量,所述c×d个计算任务在第一维度和第三维度构成的截面上构成一个封闭的区域,且所述c与所述a相等,所述d与所述b相等,且c×d=M^(n-1)/F;
第三分配子单元,用于在进行第三维度的空间按变换域运算之前,对于第三维度上任意一组计算节点,在第二维度和第一维度构成的截面上选取e×f个计算任务分配给一个计算节点,所述e表示从第二维度上选取的计算任务的数量,所述f表示从第一维度上选取的计算任务的数量,所述e×f个计算任务在第二维度和第一维度构成的截面上构成一个封闭的区域,且所述e等于所述a,所述f等于所述b,且e×f=M^(n-1)/F。
9.一种超算系统,其特征在于,所述超算系统是分布式计算系统,利用所述超算系统实现对分子动力学模拟中的FFT计算,包括:
多个计算节点和处理器;
所述处理器用于,在多个维度上将预设空间内的数据平均切分,每个维度切分为F个单元,并确定每个单元与计算节点的映射关系;F为大于0的正整数,每个单元在单个维度上包括M个数据点,M=N/F,N表示预设空间内一个维度上包含的数据点的数量,且F为大于0的正整数,N为大于0的正整数;
基于每个单元与计算节点的映射关系,将每个单元内的数据点存储到相对应的计算节点上;
在进行任意一个维度的空间变换域之前,将目标维度上坐标连续的F个计算节点作为一组,并以此将所有的计算节点划分为Fn-1组;所述目标维度为当前进行空间变换域运算的方向,n表示空间变换域运算包含的维度;
针对任意一组计算节点,将该组内的Mn-1个计算任务平均分配给该组内的F个计算节点;每个计算任务表示对一组计算节点内在目标维度上连续的N个数据点进行空间变换域运算;
所述计算节点用于:
基于对每个计算节点分配的计算任务,将参与目标维度的空间变换域运算的数据点发送到相对应的计算节点;
每个计算节点基于被分配的计算任务和存储的计算节点进行空间变换域运算。
10.根据权利要求9所述的超算系统,其特征在于,所述多个计算节点之间存在多个维度的连接关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110960999.4A CN113704681B (zh) | 2021-08-20 | 2021-08-20 | 一种数据处理方法、装置及超算系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110960999.4A CN113704681B (zh) | 2021-08-20 | 2021-08-20 | 一种数据处理方法、装置及超算系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113704681A CN113704681A (zh) | 2021-11-26 |
CN113704681B true CN113704681B (zh) | 2024-01-12 |
Family
ID=78653707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110960999.4A Active CN113704681B (zh) | 2021-08-20 | 2021-08-20 | 一种数据处理方法、装置及超算系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113704681B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102568469A (zh) * | 2011-12-22 | 2012-07-11 | 清华大学 | G.729a压缩语音流信息隐藏检测装置及检测方法 |
CN106708647A (zh) * | 2016-12-30 | 2017-05-24 | 浙江工商大学 | 大数据环境下的分布式跨维度异常数据检测方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130071837A1 (en) * | 2004-10-06 | 2013-03-21 | Stephen N. Winters-Hilt | Method and System for Characterizing or Identifying Molecules and Molecular Mixtures |
US11416553B2 (en) * | 2019-03-28 | 2022-08-16 | Amazon Technologies, Inc. | Spatial indexing |
-
2021
- 2021-08-20 CN CN202110960999.4A patent/CN113704681B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102568469A (zh) * | 2011-12-22 | 2012-07-11 | 清华大学 | G.729a压缩语音流信息隐藏检测装置及检测方法 |
CN106708647A (zh) * | 2016-12-30 | 2017-05-24 | 浙江工商大学 | 大数据环境下的分布式跨维度异常数据检测方法 |
Non-Patent Citations (1)
Title |
---|
STAP处理中的一种高效的域变换方法;瞿海平;;兰州石化职业技术学院学报(01);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113704681A (zh) | 2021-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110134636B (zh) | 模型训练方法、服务器和计算机可读存储介质 | |
CN108566659B (zh) | 一种基于可靠性的5g网络切片在线映射方法 | |
CN108804383B (zh) | 基于度量空间的支撑点并行枚举方法及装置 | |
CN106156159A (zh) | 一种表连接处理方法、装置和云计算系统 | |
Grossman et al. | Filtering, reductions and synchronization in the Anton 2 network | |
CN104598316A (zh) | 一种存储资源分配方法及装置 | |
CN102609303A (zh) | MapReduce系统的慢任务调度方法和装置 | |
CN114270319A (zh) | 在机器学习计算单元之间重新分配张量元素 | |
CN101625673B (zh) | 一种二维网格片上网络的任务映射方法 | |
CN115168281A (zh) | 一种基于禁忌搜索算法的神经网络片上映射方法和装置 | |
CN113704681B (zh) | 一种数据处理方法、装置及超算系统 | |
CN111880926B (zh) | 一种负载均衡方法、装置及计算机存储介质 | |
CN115244909A (zh) | 机器学习加速器中的队列分配 | |
CN108153494B (zh) | 一种io请求处理方法及装置 | |
CN112799852A (zh) | 逻辑节点的多维sbp分布式签名决策系统及其方法 | |
CN110781247B (zh) | 向量聚类方法、装置及存储介质 | |
CN109254844B (zh) | 一种大规模图的三角形计算方法 | |
US20230094933A1 (en) | Connecting processors using twisted torus configurations | |
CN110264467B (zh) | 基于顶点切割的动态幂律图实时重划分方法 | |
CN109885401B (zh) | 基于lpt局部优化的结构化网格负载平衡方法 | |
CN109933284A (zh) | 一种分布式块存储系统的数据分布算法 | |
TWI832000B (zh) | 用於神經網路之方法及系統 | |
CN113688352B (zh) | 一种数据处理系统、方法及装置 | |
JP7238376B2 (ja) | 情報処理システム及び情報処理システムの制御方法 | |
CN116501828B (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room 1010, No. 2, Lane 288, Kangning Road, Jing'an District, Shanghai, 200040 Applicant after: Shanghai Silang Technology Co.,Ltd. Address before: 100176 room 506-1, floor 5, building 6, courtyard 10, KEGU 1st Street, Beijing Economic and Technological Development Zone, Beijing Applicant before: Beijing Si Lang science and Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |