一种数据处理方法、装置、设备及介质制造方法及图纸

技术编号:19857020 阅读:28 留言:0更新日期:2018-12-22 11:35
本发明专利技术公开了一种数据处理方法、装置、设备及介质,该方法的步骤包括:利用MPI启动N个处理进程;其中,N为大于1的整数,处理进程中预设有数据运算函数;获取原始数据,并分别将各原始数据分配至对应的目标处理进程;在各目标处理进程内,均采用OpenMP将原始数据划分为数据片段并分配至各预设线程,以通过数据运算函数对原始数据进行运算。本方法采用MPI与OpenMP配合工作的方式开辟多个处理进程,并且每一个进程中都通过OpenMP将该进程获取到的原始数据分配至线程中并行处理,以此提高了对海量数据进行运算处理的整体性能。此外,本发明专利技术还提供一种数据处理装置、设备及介质,有益效果同上所述。

【技术实现步骤摘要】
一种数据处理方法、装置、设备及介质
本专利技术涉及大数据领域,特别是涉及一种数据处理方法、装置、设备及介质。
技术介绍
随着科技的不断发展,以及对于天文领域的探索不断加深,“平方公里阵列”天文望远镜(SKA,SquareKilometerArray)已经成为当前备受重视的项目。在该项目中,对于海量天文数据处理的性能是该项目能否有效推进的关键因素之一。对于当前的天文图像数据处理工作而言,其能够实现的底层基础均是对海量图像数据的运算,对海量数据进行运算时往往需要产生较大的时间开销,进而通过运算获得到相应的运算结果,并且进行运算处理的数据量越大,其得到的运算结果越准确,进而天文图像数据处理的整体效果越好,最终生成的天文图像的清晰度以及可用性越高,因此在天文图像数据处理时,对海量数据的运算所能提供的性能支持,是决定天文图像数据处理能否更进一步的关键因素。deConvolution程序是SKA项目中科学数据处理模块中的重要一环,是此模块中计算量最大的应用之一。在已有的ASKAP软件包中的deConvolution程序,采用单个线程通过OpenMP将运算进程收到的计算任务分配给多个线程进行处理,最终以线程协同的方式对原始数据进行运算处理,但是通过单独的进程实现对于原始数据的运算处理时,每个进程在单位时间内只能够对一定数量的原始数据进行运算处理,处理的数据量相对有限,因此无法充分的利用运算设备所能提供的硬件支持,进而在当前情况下,通过运算设备进行数据处理的整体性能相对较低。由此可见,提供一种数据处理方法,以提高运算设备进行海量数据处理时的整体性能,是本领域技术人员亟待解决的问题。
技术实现思路
本专利技术的目的是提供一种数据处理方法、装置、设备及介质,以提高运算设备进行海量数据处理时的整体性能。为解决上述技术问题,本专利技术提供一种数据处理方法,包括:利用MPI启动N个处理进程;其中,N为大于1的整数,处理进程中预设有数据运算函数;获取原始数据,并分别将各原始数据分配至对应的目标处理进程;在各目标处理进程内,均采用OpenMP将原始数据划分为数据片段并分配至各预设线程,以通过数据运算函数对原始数据进行运算。优选的,利用MPI启动N个处理进程具体为:利用MPI启动N个deConvolution处理进程;相应的,原始数据具体为原始数据数组;相应的,数据运算函数具体包括findPeaks函数以及subtractPSF函数。优选的,利用MPI启动N个deConvolution处理进程具体为:利用MPI在搭载有IntelKNM处理器的运算设备中启动N个deConvolution处理进程。优选的,findPeaks函数以及subtractPSF函数中均预设有#pragmasimd指令;相应的,在通过数据运算函数对原始数据数组进行运算前,该方法进一步包括:对数据运算函数进行编译,并在编译内容中加载AVX512指令集。优选的,获取原始数据具体为:在MCDRAM内存中获取原始数据数组;其中,MCDRAM内存中的原始数据数组预先经过8字节对齐。优选的,采用OpenMP将原始数据数组划分为数据片段并分配至各预设线程,以通过findPeaks函数对原始数据数组进行运算的具体步骤包括:预先开辟第一临时空间以及第二临时空间;控制各预设线程通过findPeaks函数对相应的数据片段进行运算,并将生成的最大值记录至第一临时空间,将最大值对应的最大值索引记录至第二临时空间;当完成对各数据片段的运算时,对第一临时空间中的各最大值进行归约运算生成全局最大值,并根据全局最大值在第二临时空间中获取对应的全局最大值索引。优选的,在通过数据运算函数对原始数据进行运算后,该方法进一步包括:将对原始数据进行运算的结果记录至预设的结果日志。此外,本专利技术还提供一种数据处理装置,包括:进程启动模块,用于利用MPI启动N个处理进程;其中,N为大于1的整数,处理进程中预设有数据运算函数;数据分配模块,用于获取原始数据,并分别将各原始数据分配至对应的目标处理进程;函数运算模块,用于在各目标处理进程内,均采用OpenMP将原始数据划分为数据片段并分配至各预设线程,以通过数据运算函数对原始数据进行运算。此外,本专利技术还提供一种数据处理设备,包括:存储器,用于存储计算机程序;处理器,用于执行计算机程序时实现如上述的数据处理方法的步骤。此外,本专利技术还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的数据处理方法的步骤。本专利技术所提供的数据处理方法,是通过MPI启动1个以上的处理进程,并且每个处理进程中预设有数据运算函数以及多个线程,进而获取原始数据,并分别将各原始数据分配至对应的目标处理进程,并在每个目标处理进程中均采用OpenMP将原始数据划分为数据片段并分配至各预设的线程,进而通过各线程共同实现依照数据运算函数对原始数据进行运算的效果。本方法采用MPI与OpenMP配合工作的方式,通过开辟多个处理进程,各个处理进程同时获取对应原始数据,并且在每一个进程中都通过OpenMP将该进程获取到的原始数据分配至线程中并行处理,以此相对提高了运算设备在单位时间内对原始数据进行运算处理的整体数量,进而提高了对海量数据进行运算处理的整体性能。此外,本专利技术还提供一种数据处理装置、设备及介质,有益效果同上所述。附图说明为了更清楚地说明本专利技术实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种数据处理方法的流程图;图2为本专利技术实施例提供的一种数据处理装置的结构图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本专利技术保护范围。本专利技术的核心是提供一种数据处理方法,以提高运算设备进行海量数据处理时的整体性能。本专利技术的另一核心是提供一种数据处理装置、设备及介质。为了使本
的人员更好地理解本专利技术方案,下面结合附图和具体实施方式对本专利技术作进一步的详细说明。实施例一图1为本专利技术实施例提供的一种数据处理方法的流程图。请参考图1,数据处理方法的具体步骤包括:步骤S10:利用MPI启动N个处理进程。其中,N为大于1的整数,处理进程中预设有数据运算函数。需要说明的是,MPI(MessagePassingInterface,消息传递接口),是一个跨语言的通讯协议,用于编写并行计算机,支持点对点和广播。MPI是一个信息传递应用程序接口,包括协议和语义说明,他们指明其如何在各种实现中发挥其特性,MPI的目标是高性能,大规模性,和可移植性,MPI在今天仍为高性能计算的主要模型。由于MPI能够使一个特定组内所有进程都参加全局的数据处理和通信操作,并且所有进程在特定的点上取得一致,因此本步骤通过调用MPI的接口的方式开启N个处理进程后,该N个处理进程能够共同进行数据处理工作。另外,需要强调的是,本步骤中的N为本文档来自技高网
...

【技术保护点】
1.一种数据处理方法,其特征在于,包括:利用MPI启动N个处理进程;其中,N为大于1的整数,所述处理进程中预设有数据运算函数;获取原始数据,并分别将各所述原始数据分配至对应的目标处理进程;在各所述目标处理进程内,均采用OpenMP将所述原始数据划分为数据片段并分配至各预设线程,以通过所述数据运算函数对所述原始数据进行运算。

【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:利用MPI启动N个处理进程;其中,N为大于1的整数,所述处理进程中预设有数据运算函数;获取原始数据,并分别将各所述原始数据分配至对应的目标处理进程;在各所述目标处理进程内,均采用OpenMP将所述原始数据划分为数据片段并分配至各预设线程,以通过所述数据运算函数对所述原始数据进行运算。2.根据权利要求1所述的方法,其特征在于,所述利用MPI启动N个处理进程具体为:利用所述MPI启动N个deConvolution处理进程;相应的,所述原始数据具体为原始数据数组;相应的,所述数据运算函数具体包括findPeaks函数以及subtractPSF函数。3.根据权利要求2所述的方法,其特征在于,所述利用所述MPI启动N个deConvolution处理进程具体为:利用所述MPI在搭载有IntelKNM处理器的运算设备中启动N个所述deConvolution处理进程。4.根据权利要求3所述的方法,其特征在于,所述findPeaks函数以及所述subtractPSF函数中均预设有#pragmasimd指令;相应的,在所述通过所述数据运算函数对所述原始数据数组进行运算前,该方法进一步包括:对所述数据运算函数进行编译,并在编译内容中加载AVX512指令集。5.根据权利要求4所述的方法,其特征在于,所述获取原始数据具体为:在MCDRAM内存中获取所述原始数据数组;其中,所述MCDRAM内存中的所述原始数据数组预先经过8字节对齐。6.根据权利要求2所述的方法,其特征在于,采用OpenMP将所述原始数据数组划...

【专利技术属性】
技术研发人员:赵旭东景璐黄雪
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1