CN115686870A - 并行计算方法、终端及计算机可读存储介质 - Google Patents
并行计算方法、终端及计算机可读存储介质 Download PDFInfo
- Publication number
- CN115686870A CN115686870A CN202211701852.4A CN202211701852A CN115686870A CN 115686870 A CN115686870 A CN 115686870A CN 202211701852 A CN202211701852 A CN 202211701852A CN 115686870 A CN115686870 A CN 115686870A
- Authority
- CN
- China
- Prior art keywords
- computing
- program
- calculation
- parallel
- service data
- 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.)
- Granted
Links
Images
Classifications
-
- 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
Landscapes
- Television Signal Processing For Recording (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Machine Translation (AREA)
- Multi Processors (AREA)
Abstract
本申请属于并行计算技术领域,提供了一种并行计算方法、终端及计算机可读存储介质,为了解决传统技术中不同设备之间进行并行计算存在很大难度的问题,通过读取计算程序,并在计算程序进行并行计算的情况下,将计算程序传输至其它设备,进而其它设备得到计算程序所对应的镜像计算程序,并执行镜像计算程序,从而使其它设备与本地设备具备相同的计算环境,本地设备与其它设备各自基于相同的计算程序,计算同一业务数据的不同业务数据单元,其它设备将计算的业务数据单元所对应的计算结果数据返回至本地设备,本地设备将不同计算结果数据进行汇总,得到业务数据所对应的运算结果,降低了并行计算的实施难度,提高了并行计算的可行性与计算的效率。
Description
技术领域
本申请涉及并行计算技术领域,尤其涉及一种并行计算方法、终端及计算机可读存储介质。
背景技术
随着计算机技术的发展,尤其是随着物联网技术的发展,越来越多的不同设备之间进行联网,也意味着越来越多的CPU进行了联网。在联网的设备中有些有较强的CPU,有些有较弱的CPU,但是这些联网设备的CPU都是设备自己使用的,CPU的计算能力不能被其他设备共享,如果能将这些CPU进行算力共享,实现并行计算,就可以将一些重要的计算放到边缘侧实现,从而能提高设备计算的实时性与及时性。
传统技术中,在大型系统中采用的并行计算技术如OpenMP、MPI、InfiniBand等技术,可以将多个CPU组合起来进行算力共享。其中,OpenMP的英文全称是OpenMultiprocessing,为一种应用程序界面(API,即Application Program Interface),是一种单进程多线程并行的实现,即为共享存储结构的编程,可用于共享内存并行系统的多线程程序设计的一套编程规范,但只能在单机上使用。MPI,英文为MPI-Massage PassingInterface,是消息传递函数库的标准规范,不是具体并行计算实现。超级计算机的并行计算实现多使用InfiniBand技术进行互联实现,InfiniBand(直译为“无限带宽”技术,缩写为IB)是一个用于高性能计算的计算机网络通信标准。
可知,上述描述的并行计算实现技术OpenMP、MPI、InfiniBand等技术,均为使用在大型机和大型设备上的并行计算技术,这些并行计算技术对带宽和硬件能力有强要求,而且这些技术要求的系统间的CPU能力是同构的,并且部署复杂。因此,上述描述的并行计算实现技术不适合应用到不同类型设备之间进行并行计算,导致在不同类型的设备之间进行并行计算存在很大难度。
发明内容
本申请提供了一种并行计算方法、终端及计算机可读存储介质,能够解决传统技术中不同设备之间进行并行计算存在很大难度的技术问题。
第一方面,本申请提供了一种并行计算方法,包括:读取计算程序,并将所述计算程序传输至其它设备,进而所述其它设备得到所述计算程序所对应的镜像计算程序;获取业务数据,并将所述业务数据进行分割,得到所述业务数据所对应的业务数据单元,所述业务数据单元包括第一业务数据单元与其它业务数据单元;执行所述计算程序来对所述第一业务数据单元进行计算,得到第一计算结果数据;将所述其它业务数据单元传输至所述其它设备,进而所述其它设备执行所述镜像计算程序来对所述其它业务数据单元进行计算,得到其它计算结果数据,并将所述其它计算结果数据返回;获取所述其它计算结果数据,并将所述第一计算结果数据与所述其它计算结果数据进行汇合,得到所述业务数据所对应的计算结果数据。
第二方面,本申请提供了一种终端,其包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现所述并行计算方法的步骤。
第三方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器执行所述并行计算方法的步骤。
本申请提供了一种并行计算方法、终端及计算机可读存储介质,所述方法通过读取计算程序,并在计算程序进行并行计算的情况下,将计算程序传输至其它设备,进而其它设备得到计算程序所对应的镜像计算程序,并执行镜像计算程序,从而使其它设备与本地设备具备相同的计算环境,从而能够计算同一业务数据的不同业务数据单元,并在本地设备获取业务数据,将业务数据进行分割,得到业务数据所对应的业务数据单元后,本地设备与其它设备各自基于相同的计算程序,计算同一业务数据的不同业务数据单元,其它设备将计算的业务数据单元所对应的计算结果数据返回至本地设备,本地设备将不同计算结果数据进行汇总,得到业务数据所对应的运算结果,从而借助于其它设备实现并行计算,简化了并行计算的部署,降低了并行计算的实施难度,提高了并行计算的可行性与计算的效率。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的并行计算方法的流程示意图;
图2为本申请实施例提供的并行计算方法的计算程序并行加载示意图;
图3为本申请实施例提供的并行计算方法的并行计算示意图;
图4为本申请实施例提供的并行计算方法的第一个子流程示意图;
图5为本申请实施例提供的终端的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和 “包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
本申请实施例提供了一种并行计算方法,所述并行计算方法可以应用于包含但不限于物联网中的终端等设备,来实现不同设备之间的并行计算。示例性地,基于物联网技术,可以基于但不限于分布式软总线连接、v2x、pc5或者云端连接,将不同的设备进行联网,并基于本申请实施例提供的并行计算方法,实现在不同设备之间进行并行计算,尤其可以实现在不同类型的中小型设备之间的并行计算。
面对传统技术中在不同设备之间进行并行计算存在很大难度的技术问题,发明人提出本申请实施例的并行计算方法,本申请实施例的核心思想为:在进行并行计算的情况下,本地计算设备读取计算程序,在本地运行计算程序的同时,将计算程序发送到其它计算设备,其它计算设备也运行计算程序,本地计算设备获取需要计算的业务数据并将业务数据进行分割,得到业务数据单元,本地计算设备与其它计算设备各自基于计算程序,计算不同的业务数据单元,其它计算设备将业务数据单元所对应的计算结果数据返回至本地计算设备,本地计算设备将不同计算结果数据进行汇总,得到业务数据所对应的运算结果,从而借助于其它计算设备实现并行计算,能够简化并行计算的部署,降低并行计算的实施难度,提高并行计算的可行性与计算的效率,尤其能够运行在不同的中小型设备之间,随着物联网技术的发展,可以充分利用物联网中不同设备的算力进行边缘计算,实现并行计算。
下面结合附图,对本申请的一些实施例作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参阅图1至图3,图1为本申请实施例提供的并行计算方法的流程示意图,图2为本申请实施例提供的并行计算方法的计算程序并行加载示意图,图3为本申请实施例提供的并行计算方法的并行计算示意图。如图1至图3所示,该方法应用于包括但不限于终端等设备,该方法应用于本地的设备,该方法包括但不限于以下步骤S11-S15:
S11、读取计算程序,并将所述计算程序传输至其它设备,进而所述其它设备得到所述计算程序所对应的镜像计算程序。
在示例性的实施方式中,预先将不同的设备进行配置以使不同的设备支持本申请实施例的并行计算,并将不同的设备进行连接。对于不同的设备支持本申请实施例的并行计算,可以将不同的设备预装统一类型的操作系统,操作系统可以内置支持以太网、WiFi、光通信等网络通信方式的通信总线,并可以支持包括但不限于分布式软总线和分布式数据存储的存储能力,从而支持和其它设备进行点对点与点对多点的,以使操作系统能够支持并行计算,并使操作系统能够确定进行并行计算的计算程序,从而不同的设备均支持本申请实施例的并行计算,在其它示例中,不同的设备也可以为不同的操作系统,只要不同的操作系统具备支持本申请实施例的并行计算的功能,从而不同的设备能够在连接的基础上进行均支持本申请实施例的并行计算的通信即可,在此不做限定。对于将不同的设备进行连接,可以基于但不限于分布式软总线将不同的设备进行组网,从而将不同的设备进行连接,在其它示例中,还可以通过基于包括但不限于通信总线、v2x、pc5、云连接等连接方式,将不同的设备进行连接。示例性地,在基于分布式软总线的分布式环境中,可以将不同的设备基于分布式软总线进行组网并进行通信。
请参阅图2与图3,在图2与图3所示的示例中,以包含设备1、设备2、设备3为例来解释本申请实施例的并行计算方法,图2与图3中可以包含更少的设备或者更多的设备,例如,图2与图3中可以包含设备1与设备2共两个设备,图2与图3中也还可以包含设备4、设备5、设备6等更多的设备,在此不做限定,并在以设备1作为本地设备的情况下,即设备1作为并行计算的主控设备,设备2与设备3作为进行并行计算的其它设备,设备1、设备2、设备3之间基于通信总线进行连接。
本地设备读取计算程序,计算程序为对业务数据进行运算的程序单元或者程序单位,计算程序可以为安装包、APK等形式的文件,计算程序根据不同的运行平台、程序环境或者具体业务,最小可以为几K的大小,也可以为几M不等的大小,相对来说,计算程序的大小在能满足处理业务数据的前提下,越小越便于实施本申请实施例的并行计算。在进行并行计算的情况下,读取计算程序,并可以将计算程序基于操作系统内置的通信总线传输至其它设备,其它设备可以包括不同的多个设备,进而其它设备得到计算程序所对应的镜像计算程序,并在其它设备的CPU进行并行计算时,从其它设备的外部存储器加载镜像计算程序至内存,再从内存中取镜像计算程序至缓存,再从缓存中获取镜像计算程序给CPU运行,从而充分利用CPU的运行逻辑来获取并行计算所需的镜像计算程序并执行,镜像计算程序与本地设备读取的计算程序为相同的程序,在此只是为了区分不同设备上的相同程序,而不是为了限定计算程序。
请继续参阅图2,设备1读取计算程序,并在计算程序进行并行计算的情况下,将计算程序传输至其它设备所对应的设备2与设备3,进而设备2与设备3分别得到计算程序所对应的镜像计算程序,在此需要说明的是,以设备3为例,设备3可以直接从设备1获取计算程序所对应的镜像计算程序,设备3也可以从设备2获取计算程序所对应的镜像计算程序,设备3获取计算程序所对应的镜像计算程序的方式与途径不做限定,只要满足设备3获取计算程序所对应的镜像计算程序即可,在其它实施例中,其它设备得到计算程序所对应的镜像计算程序的方式和途径也不做限定。
S12、获取业务数据,并将所述业务数据进行分割,得到所述业务数据所对应的业务数据单元,所述业务数据单元包括第一业务数据单元与其它业务数据单元。
在示例性的实施方式中,本地设备获取业务数据,业务数据可以为文件、数据流、数据片段等形式,并将业务数据进行分割,即将业务数据切分为不同的数据单元或者数据单位,可以按照业务数据的多个来源、多个文件、多个数据流、多个数据库等不同的切分单位,将业务数据进行切分,从而得到独立的业务数据单元,业务数据单元可以基于消息队列、事件队列等存储结构进行存储已支持并行计算,业务数据单元描述可以作为整体进行单独处理的部分业务数据,业务数据单元包括第一业务数据单元与其它业务数据单元,需要说明的是,第一业务数据单元与其它业务数据单元是为了区分不同的业务数据单元,而不是为了限定业务数据单元,更不是为了限定业务数据只能切分为两部分,业务数据可以根据具体业务的设计与需要,切分为若干个业务数据单元,例如将业务数据切分为5、6、10等n个业务数据单元,其中n为大于2的自然数,从而将不同的业务数据单元分配到不同的设备进行运算,以将业务数据进行并行计算。
S13、执行所述计算程序来对所述第一业务数据单元进行计算,得到第一计算结果数据。
在示例性的实施方式中,在进行并行计算时,本地设备加载计算程序至本地的CPU中,运行计算程序来对第一业务数据单元进行计算,得到相对应的第一计算结果数据。
S14、将所述其它业务数据单元传输至所述其它设备,进而所述其它设备执行所述镜像计算程序来对所述其它业务数据单元进行计算,得到其它计算结果数据,并将所述其它计算结果数据返回。
在示例性的实施方式中,本地设备将其它业务数据单元传输至其它设备,可以通过其它设备基于操作系统提供的分布式数据读写接口来本地设备查询未被运算的其它业务数据单元,并将其它业务数据单元加载至其它设备自身,从而本地设备将其它业务数据单元传输至其它设备,其中,分布式数据读写接口又可以称为并行计算数据读写接口。
并且,其它设备加载镜像计算程序至本端设备的CPU中,并运行镜像计算程序,从而其它设备与本地设备具备相同的计算环境,而不需要二者具备同构的CPU,并执行镜像计算程序来对其它业务数据单元进行计算,得到相对应的其它计算结果数据,并将其它计算结果数据返回至本地设备。
请继续参阅图3,如图3所示,在图3所示的示例中,操作系统OsA获取数据后,会基于数据接口与通信总线,将需要设备2与设备3计算的业务数据单元对应传输至设备2与设备3,设备2执行被加载的计算程序,即镜像计算程序,来得到相对应的计算结果数据并返回至设备1,设备3执行被加载的计算程序,即镜像计算程序,来得到相对应的计算结果数据并返回至设备1。示例性地,请继续参阅图3,设备2查询设备1上的其它业务数据单元,在设备1上的其它业务数据单元包括其它业务数据单元A与其它业务数据单元B的情况下,在其它业务数据单元A正在被运算,其它业务数据单元B未被运算,设备2从设备1读取其它业务数据单元B,并基于镜像计算程序对其它业务数据单元B进行计算,并将其它业务数据单元B所对应的计算结果数据返回至设备1。
需要说明的是,本申请实施例中,本地设备执行计算程序来对第一业务数据单元进行计算,其它设备执行镜像计算程序来对其它业务数据单元进行计算,只是用来解释不同的设备并行计算不同的业务数据单元,以实现业务数据在不同设备上的并行计算,并不用于限定本地设备执行计算程序只能是对第一业务数据单元进行计算,其它设备执行镜像计算程序只能对其它业务数据单元进行计算,相关人员完全可以根据需要配置业务数据单元的相应分配方式,来将不同的业务数据单元分配至不同的设备进行相应计算,技术方案的相关具体设置,都在本申请实施例所描述的技术方案的范围。
S15、获取所述其它计算结果数据,并将所述第一计算结果数据与所述其它计算结果数据进行汇合,得到所述业务数据所对应的计算结果数据。
在示例性的实施方式中,在不同的业务数据单元计算完成的情况下,本地设备获取其它计算结果数据,并将第一计算结果数据与其它计算结果数据进行汇合,主要为根据具体的业务,配置相应的汇合逻辑,将不同业务数据单元所对应的计算结果数据进行汇合,从而得到业务数据所对应的计算结果数据。示例性地,在物联网的环境中,采用本申请实施例的上述并行计算方法,可以充分利用物联网中不同设备的边缘算力,提升边缘侧计算能力,实现物联网中不同设备、尤其是中小型设备的算力共享,从而提升并行计算的效率。
本申请实施例,通过读取计算程序,并在计算程序进行并行计算的情况下,将计算程序传输至其它设备,进而其它设备得到计算程序所对应的镜像计算程序,并执行镜像计算程序,从而使其它设备与本地设备不需要同构CPU即可具备相同的计算环境,从而能够计算同一业务数据的不同业务数据单元,相比传统技术中需要具备架构相同的CPU,才能支持设备仅进行并行计算的相应数据的计算,本申请实施例简化了设备的部署,降低了并行计算的实施难度。并在本地设备获取业务数据,将业务数据进行分割,得到业务数据所对应的业务数据单元后,本地设备与其它设备各自基于相同的计算程序,计算同一业务数据的不同业务数据单元,其它设备将计算的业务数据单元所对应的计算结果数据返回至本地设备,本地设备将不同计算结果数据进行汇总,得到业务数据所对应的运算结果,从而借助于其它设备实现并行计算,简化了并行计算的部署,降低了并行计算的实施难度,提高了并行计算的可行性与计算的效率。
在示例性的实施例中,将所述计算程序传输至其它设备,包括:
在确认所述计算程序进行并行计算的情况下,将所述计算程序传输至其它设备。
在示例性的实施方式中,预先标注计算程序是否需要进行并行计算,并在确认计算程序进行并行计算的情况下,将计算程序传输至其它设备,进一步地,还可以在确认计算程序不进行并行计算的情况下,不将计算程序传输至其它设备,从而能够有选择地进行并行计算,避免将读取的计算程序不加选择地进行并行计算,通过在确认计算程序进行并行计算的情况下,将计算程序传输至其它设备,能够提高并行计算实施的灵活性。
在示例性的实施例中,所述在确认所述计算程序进行并行计算的情况下,包括:
根据所述计算程序,判断所述计算程序是否包含预设并行计算标识;
在判定所述计算程序包含所述预设并行计算标识的情况下,确认所述计算程序进行并行计算。
在示例性的实施方式中,本地设备读取计算程序,并根据计算程序,判断计算程序是否包含预设并行计算标识,在判定计算程序包含预设并行计算标识的情况下,确认计算程序进行并行计算,其中,预设并行计算标识描述预先设置的将计算程序进行并行计算的标识,可以为计算程序的属性项,即预设并行计算标识作为计算程序的属性来描述,预设并行计算标识能够被修改与编辑,描述预设并行计算标识的方式可以包括但不限于采取键值对的方式进行描述,或者采用属性赋值的方式进行描述,属性赋值指给属性赋予等号之后的属性值。进一步地,还可以在判定计算程序未包含预设并行计算标识的情况下,确认计算程序不进行并行计算。
本申请实施例,通过读取计算程序,并根据计算程序,判断计算程序是否包含预设并行计算标识,在判定计算程序包含预设并行计算标识的情况下,确认计算程序进行并行计算,相比传统技术中通过程序开发人员在程序中采用宏定义的方式指定哪些任务进行并行计算,宏定义作为程序的内容来描述并行计算,本申请实施例借助于预设并行计算标识,便于对预设并行计算标识进行识别,并且便于对预设并行计算标识进行修改与配置,能够提高判断计算程序是否进行并行计算的效率,进而进一步提高了并行计算的计算效率。
在示例性的实施例中,根据所述计算程序,判断所述计算程序是否包含预设并行计算标识之前,还包括:
基于预设配置项,配置所述计算程序所对应的预设并行计算标识。
在示例性的实施方式中,基于预设配置项的方式,配置计算程序所对应的预设并行计算标识,进而根据预设配置项,判断计算程序是否包含预设并行计算标识,其中,配置项,英文为Configuration Item,指不定期用于配置管理正在配置管理过程中作为单个实体对待的软件集合。进一步地,预设配置项方式包括但不限于布尔值配置项,即布尔型的配置项,该配置项可以被打开也可以被关闭,另一类是具体值的配置项,这种配置项可以设置一个值。
本申请实施例,通过基于预设配置项,配置计算程序所对应的预设并行计算标识,相比传统技术中通过程序开发人员在程序中指定哪些任务使用并行计算,本申请实施例借助于预设配置项来为计算程序配置预设并行计算标识,便于对预设并行计算标识进行修改与配置等预设并行计算标识的管理,能够提高计算程序是否进行并行计算的配置效率,进而可以进一步提高并行计算的管理效率与计算效率。
在示例性的实施例中,所述基于预设配置项,配置所述计算程序所对应的预设并行计算标识,包括:
基于所述预设配置项所对应的配置选项,接收所述计算程序所对应的预设并行计算标识的配置操作;
在所述配置操为所述计算程序赋予预设并行计算标识的情况下,配置所述计算程序所对应的预设并行计算标识。
在示例性的实施方式中,为预设配置项在UI界面上预先配置对应的配置选项,配置选项可以采取包括但不限于勾选的方式进行配置,从而基于预设配置项所对应的配置选项,为计算程序配置对应的预设并行计算标识。对计算程序配置所对应的预设并行计算标识时,通过预设配置项所对应的配置选项,接收用户为计算程序所对应的预设并行计算标识的配置操作,在配置操作对应为计算程序赋予预设并行计算标识的情况下,为计算程序配置所对应的预设并行计算标识,从而为计算程序配置预设并行计算标识。
进一步地,此种情形下,配置操作既可以为计算程序配置预设并行计算标识,从而计算程序进行并行计算,配置操作也可以为取消计算程序已经配置的预设并行计算标识,从而计算程序不进行并行计算,从而实现对预设并行计算标识的编辑,此种情形下,配置操作也可以认为为预设并行计算标识的编辑操作,配置操作包括配置预设并行计算标识与取消预设并行计算标识,即预设并行计算标识的初始生成、从有到无、从无到有的各种状态的改变,其中,预设配置项所对应的配置选项描述是否配置预设并行计算标识的选项。
本申请实施例,通过基于预设配置项所对应的配置选项,配置计算程序所对应的预设并行计算标识,或者取消并行计算标识,相比传统技术中通过程序开发人员在程序中指定哪些任务使用并行计算,本申请实施例借助于预设配置项所对应的配置选项来为计算程序配置预设并行计算标识,便于对预设并行计算标识进行修改与配置等预设并行计算标识的管理,能够提高计算程序是否进行并行计算的配置效率,进而可以进一步提高并行计算的管理效率与计算效率。
在示例性的实施例中,请参阅图4,图4为本申请实施例提供的并行计算方法的第一个子流程示意图,如图4所示,在该实施例中,将所述计算程序传输至其它设备,包括:
S41、获取本地设备所对应的第一计算能力,并获取所述其它设备所对应的第二计算能力;
S42、计算所述第一计算能力与所述第二计算能力的差值;
S43、在所述差值小于或者等于预设差值阈值的情况下,将所述计算程序传输至所述其它设备。
在示例性的实施例中,计算能力描述设备进行计算的性能大小,计算能力主要采用CPU能力描述,CPU能力可以采用包括但不限于CPU主频、CPU架构、CPU核心个数、内存大小等CPU性能参数描述,描述设备的计算能力除了采用CPU能力描述外,还可以结合网络通信带宽等设备的其它性能参数进行描述,从而可以通过对比不同性能参数来衡量不同设备的计算能力,并在一个设备的性能参数优于另一个设备的性能参数的情况下,判定前一个设备的计算能力大于后一个设备的能力,或者在一个设备的大部分性能参数优于另一个设备相对应的大部分性能参数的情况下,判定前一个设备的计算能力大于后一个设备的能力。在其它示例中,设备的计算能力可以借助设备的跑分来描述,跑分描述设备的量化评价体系。
基于上述对设备的计算能力的描述,获取本地设备的预设性能参数,预设性能参数可以为若干个参数,并根据预设性能参数,获取本地设备所对应的第一计算能力,从而得到本地设备所对应的第一计算能力,并可以向其它设备发送获取其它设备的目标参数的请求,其它设备根据请求获取目标参数相对应的自身参数,并将目标参数返回至本地设备,从而本地设备获取其它设备的目标参数,并根据目标参数,获取其它设备所对应的第二计算能力,从而得到其它设备所对应的第二计算能力,其中,目标参数与预设性能参数相对应。
然后计算第一计算能力与第二计算能力的差值,在差值小于或者等于预设差值阈值的情况下,执行将计算程序传输至其它设备,来采用其它设备与本地设备进行并行计算,其中,预设差值阈值可以为正数、负数或者零,预设差值阈值为正数的情况下,描述本地设备的计算能力大于其它设备的计算能力,预设差值阈值为正数的情况下,预设差值阈值小于相应的预设正数值以保证其它设备的计算能力未较低于本地设备的计算能力,预设正数值可以根据具体需要进行设定,或者根据经验值进行设定,预设差值阈值为零的情况下,描述本地设备的计算能力与其它设备的计算能力相同,预设差值阈值为负数的情况下,描述本地设备的计算能力小于其它设备的计算能力,本申请实施例能够避免由于其它设备的计算能力较差而拖累并行计算的整体速度,能够保证并行计算的可行性与计算的效率。
进一步地,尤其在预设差值阈值小于或者等于零的情况下,其它设备的计算能力大于或者等于本地设备的计算能力,执行将计算程序传输至其它设备,来采用其它设备与本地设备进行并行计算,能够进一步保证并行计算的可行性与计算的效率。
进一步地,还可以在差值大于预设正数阈值的情况下,即其它设备的计算能力较低于本地设备的计算能力的情况下,不执行将计算程序传输至其它设备,不采用上述的其它设备来进行并行计算,从而仅选取一些计算能力未较低于本地设备的计算能力的其它设备,来与本地设备进行并行计算,能够避免由于某些其它设备的计算能力较差而拖累并行计算的整体速度,能够保证并行计算的可行性与计算的效率。
需要说明的是,上述各个实施例所述的并行计算方法,可以根据需要将不同实施例中包含的技术特征重新进行组合,以获取组合后的实施方案,但都在本申请要求的保护范围之内。
上述并行计算方法可以实现为一种计算机程序的形式,该计算机程序可以在如图5所示的终端上运行。
请参阅图5,图5是本申请实施例提供的一种终端的示意性框图。该终端500可以是台式机电脑或者服务器等终端,也可以是其他设备中的组件或者部件。
参阅图5,该终端500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504,所述存储器也可以为易失性存储介质。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行一种上述并行计算方法。
该处理器502用于提供计算和控制能力,以支撑整个终端500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种上述并行计算方法。
该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的终端500的限定,具体的终端500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。例如,在一些实施例中,终端可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图5所示实施例一致,在此不再赘述。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如上所描述的并行计算方法。
应当理解,在本申请实施例中,处理器502可以是中央处理单元 (CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路 (Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来完成,该计算机程序可存储于一计算机可读存储介质。该计算机程序被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本申请还提供一种计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质,也可以为易失性的计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时使处理器执行如下步骤:
一种计算机程序产品,当其在计算机上运行时,使得计算机执行以上各实施例中所描述的所述并行计算方法的步骤。
所述计算机可读存储介质可以是前述设备的内部存储单元,例如设备的硬盘或内存。所述计算机可读存储介质也可以是所述设备的外部存储设备,例如所述设备上配备的插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)等。进一步地,所述计算机可读存储介质还可以既包括所述设备的内部存储单元也包括外部存储设备。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述存储介质为实体的、非瞬时性的存储介质,例如可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储计算机程序的实体存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本申请实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用进而得一台电子设备(可以是个人计算机,终端,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
以上所述,仅为本申请的具体实施方式,但本申请明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种并行计算方法,其特征在于,包括:
读取计算程序,并将所述计算程序传输至其它设备,进而所述其它设备得到所述计算程序所对应的镜像计算程序;
获取业务数据,并将所述业务数据进行分割,得到所述业务数据所对应的业务数据单元,所述业务数据单元包括第一业务数据单元与其它业务数据单元;
执行所述计算程序来对所述第一业务数据单元进行计算,得到第一计算结果数据;
将所述其它业务数据单元传输至所述其它设备,进而所述其它设备执行所述镜像计算程序来对所述其它业务数据单元进行计算,得到其它计算结果数据,并将所述其它计算结果数据返回;
获取所述其它计算结果数据,并将所述第一计算结果数据与所述其它计算结果数据进行汇合,得到所述业务数据所对应的计算结果数据。
2.根据权利要求1所述并行计算方法,其特征在于,将所述计算程序传输至其它设备,包括:
在确认所述计算程序进行并行计算的情况下,将所述计算程序传输至其它设备。
3.根据权利要求2所述并行计算方法,其特征在于,所述在确认所述计算程序进行并行计算的情况下,包括:
根据所述计算程序,判断所述计算程序是否包含预设并行计算标识;
在判定所述计算程序包含所述预设并行计算标识的情况下,确认所述计算程序进行并行计算。
4.根据权利要求3所述并行计算方法,其特征在于,根据所述计算程序,判断所述计算程序是否包含预设并行计算标识之前,还包括:
基于预设配置项,配置所述计算程序所对应的预设并行计算标识。
5.根据权利要求4所述并行计算方法,其特征在于,所述基于预设配置项,配置所述计算程序所对应的预设并行计算标识,包括:
基于所述预设配置项所对应的配置选项,接收所述计算程序所对应的预设并行计算标识的配置操作;
在所述配置操为所述计算程序赋予预设并行计算标识的情况下,配置所述计算程序所对应的预设并行计算标识。
6.根据权利要求1-5任一项所述并行计算方法,其特征在于,将所述计算程序传输至其它设备,包括:
获取本地设备所对应的第一计算能力,并获取所述其它设备所对应的第二计算能力;
计算所述第一计算能力与所述第二计算能力的差值;
在所述差值小于或者等于预设差值阈值的情况下,将所述计算程序传输至所述其它设备。
7.根据权利要求6所述并行计算方法,其特征在于,所述获取本地设备所对应的第一计算能力,并获取所述其它设备所对应的第二计算能力,包括:
获取本地设备的预设性能参数,并根据所述预设性能参数,获取所述本地设备所对应的第一计算能力;
获取所述其它设备的目标参数,并根据所述目标参数,获取所述其它设备所对应的第二计算能力,其中,所述目标参数与所述预设性能参数相对应。
8.根据权利要求6所述并行计算方法,其特征在于,所述预设差值阈值小于或者等于零。
9.一种终端,其特征在于,所述终端包括存储器以及与所述存储器相连的处理器;所述存储器用于存储计算机程序;所述处理器用于运行所述计算机程序,以执行如权利要求1-8任一项所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现如权利要求1-8中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211701852.4A CN115686870B (zh) | 2022-12-29 | 2022-12-29 | 并行计算方法、终端及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211701852.4A CN115686870B (zh) | 2022-12-29 | 2022-12-29 | 并行计算方法、终端及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115686870A true CN115686870A (zh) | 2023-02-03 |
CN115686870B CN115686870B (zh) | 2023-05-16 |
Family
ID=85056504
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211701852.4A Active CN115686870B (zh) | 2022-12-29 | 2022-12-29 | 并行计算方法、终端及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115686870B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9305263D0 (en) * | 1993-03-15 | 1993-05-05 | Univ Westminster | Parrallel computation |
WO2011123991A1 (zh) * | 2010-04-07 | 2011-10-13 | 福州福昕软件开发有限公司 | 并行计算的内存访问方法 |
WO2013075514A1 (zh) * | 2011-11-22 | 2013-05-30 | 华为技术有限公司 | 应用软件的安装方法和应用软件的安装装置 |
CN104156332A (zh) * | 2014-08-11 | 2014-11-19 | 济南曼维信息科技有限公司 | 基于外部pci-e连接的高性能并行计算方法 |
WO2015020703A1 (en) * | 2013-08-04 | 2015-02-12 | Eyesmatch Ltd | Devices, systems and methods of virtualizing a mirror |
CN109783232A (zh) * | 2018-12-21 | 2019-05-21 | 王家万 | 视频数据处理方法、装置及存储介质 |
CN110543311A (zh) * | 2019-09-05 | 2019-12-06 | 曙光信息产业(北京)有限公司 | 一种镜像构建方法、装置及存储介质 |
CN111949394A (zh) * | 2020-07-16 | 2020-11-17 | 广州玖的数码科技有限公司 | 一种共享算力资源的方法、系统及存储介质 |
CN114217921A (zh) * | 2021-11-16 | 2022-03-22 | 深圳市优必选科技股份有限公司 | 一种分布式并行计算方法、计算设备及存储介质 |
CN115344393A (zh) * | 2022-08-26 | 2022-11-15 | 浪潮(北京)电子信息产业有限公司 | 业务处理方法及相关设备 |
-
2022
- 2022-12-29 CN CN202211701852.4A patent/CN115686870B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9305263D0 (en) * | 1993-03-15 | 1993-05-05 | Univ Westminster | Parrallel computation |
WO2011123991A1 (zh) * | 2010-04-07 | 2011-10-13 | 福州福昕软件开发有限公司 | 并行计算的内存访问方法 |
WO2013075514A1 (zh) * | 2011-11-22 | 2013-05-30 | 华为技术有限公司 | 应用软件的安装方法和应用软件的安装装置 |
WO2015020703A1 (en) * | 2013-08-04 | 2015-02-12 | Eyesmatch Ltd | Devices, systems and methods of virtualizing a mirror |
CN104156332A (zh) * | 2014-08-11 | 2014-11-19 | 济南曼维信息科技有限公司 | 基于外部pci-e连接的高性能并行计算方法 |
CN109783232A (zh) * | 2018-12-21 | 2019-05-21 | 王家万 | 视频数据处理方法、装置及存储介质 |
CN110543311A (zh) * | 2019-09-05 | 2019-12-06 | 曙光信息产业(北京)有限公司 | 一种镜像构建方法、装置及存储介质 |
CN111949394A (zh) * | 2020-07-16 | 2020-11-17 | 广州玖的数码科技有限公司 | 一种共享算力资源的方法、系统及存储介质 |
CN114217921A (zh) * | 2021-11-16 | 2022-03-22 | 深圳市优必选科技股份有限公司 | 一种分布式并行计算方法、计算设备及存储介质 |
CN115344393A (zh) * | 2022-08-26 | 2022-11-15 | 浪潮(北京)电子信息产业有限公司 | 业务处理方法及相关设备 |
Non-Patent Citations (1)
Title |
---|
李洪亮;: "基于计算机集群技术及并行计算的分析" * |
Also Published As
Publication number | Publication date |
---|---|
CN115686870B (zh) | 2023-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230396669A1 (en) | Technologies for transparent function as a service arbitration for edge systems | |
US11573816B1 (en) | Prefetching and managing container images using cluster manifest | |
US10733019B2 (en) | Apparatus and method for data processing | |
US7231638B2 (en) | Memory sharing in a distributed data processing system using modified address space to create extended address space for copying data | |
US7900210B2 (en) | Application connector parallelism in enterprise application integration systems | |
US9424087B2 (en) | Optimizing collective operations | |
US10324754B2 (en) | Managing virtual machine patterns | |
US8972702B2 (en) | Systems and methods for power management in a high performance computing (HPC) cluster | |
US20120215920A1 (en) | Optimized resource management for map/reduce computing | |
CN111191777B (zh) | 一种神经网络处理器及其控制方法 | |
JP6468499B2 (ja) | 分散コンピューティングアーキテクチャ | |
US11861406B2 (en) | Dynamic microservices allocation mechanism | |
Cannella et al. | Adaptivity support for MPSoCs based on process migration in polyhedral process networks | |
CN112463290A (zh) | 动态调整计算容器的数量的方法、系统、装置和存储介质 | |
WO2024011860A1 (zh) | 一种云操作系统部署方法及装置 | |
US20210034418A1 (en) | Peer-to-peer distributed computing system for heterogeneous device types | |
CN115268949A (zh) | 一种镜像预热方法、装置、设备及存储介质 | |
CN114979286A (zh) | 容器服务的访问控制方法、装置、设备及计算机存储介质 | |
CN114911385A (zh) | 远程会话期间安全的多个应用共享 | |
CN116800616B (zh) | 虚拟化网络设备的管理方法及相关装置 | |
US20180260246A1 (en) | Runtime piggybacking of concurrent jobs in task-parallel machine learning programs | |
CN109614242B (zh) | 一种计算能力共享方法、装置、设备及介质 | |
CN115686870B (zh) | 并行计算方法、终端及计算机可读存储介质 | |
US9628401B2 (en) | Software product instance placement | |
CN117009063A (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 |