CN103617086B - 一种并行计算方法及系统 - Google Patents

一种并行计算方法及系统 Download PDF

Info

Publication number
CN103617086B
CN103617086B CN201310591160.3A CN201310591160A CN103617086B CN 103617086 B CN103617086 B CN 103617086B CN 201310591160 A CN201310591160 A CN 201310591160A CN 103617086 B CN103617086 B CN 103617086B
Authority
CN
China
Prior art keywords
calculate node
task
virtual machine
running environment
allocated
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.)
Expired - Fee Related
Application number
CN201310591160.3A
Other languages
English (en)
Other versions
CN103617086A (zh
Inventor
李金宝
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Neusoft Corp
Original Assignee
Neusoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Neusoft Corp filed Critical Neusoft Corp
Priority to CN201310591160.3A priority Critical patent/CN103617086B/zh
Publication of CN103617086A publication Critical patent/CN103617086A/zh
Application granted granted Critical
Publication of CN103617086B publication Critical patent/CN103617086B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明涉及一种并行计算方法及系统。所述并行计算方法包括:对各计算节点进行监控以获取节点监控数据;基于所述节点监控数据计算所述计算节点的负载能力;根据所述计算节点的负载能力对待分配的任务进行分配。所述并行计算系统对应地包括:节点监控单元、任务负载管理单元及任务调度单元。本发明技术方案能够在并行计算中合理的分配任务,以提高并行计算的执行效率。

Description

一种并行计算方法及系统
技术领域
本发明涉及计算机技术领域,特别涉及一种并行计算方法及系统。
背景技术
现在的业务系统面临着计算资源的超饱和负载,造成业务系统的性能低下的问题。若通过升级硬件的方式来解决此问题又面临着性能提升效果不明显、资金花费巨大等一系列负面的效应,现有技术采用分布式计算技术解决上述问题。
分布式计算技术包括移动计算和云计算,分布式环境下的大型应用服务往往被分解为多个任务来调度和执行。分布式计算技术能够对业务系统计算节点的负载进行优化,可解决业务系统面临的计算节点资源超饱和的问题,避免了升级硬件所面临的负面效应。
所述分布式计算技术涉及并行计算,并行计算的设计考虑将传统的单一串行执行大作业任务分解为多个并行的子任务,最后将子任务的结果进行合并从而得出最终结果。参考图1,并行计算设计主要分为以下步骤:
划分步骤。对大作业任务100进行划分(Partitioning),所述划分主要包括对大作业任务100涉及的数据进行分解或进行功能分解,并可进一步包括:将大作业任务100依其时序计算(Sequential computation)、分解(Decomposition)为若干任务(Tasks),将若干任务继续分配(Assignment)为若干任务过程(Processes,p0~p3),并继续对所述若干任务过程进行编码(Orchestration)。
通信步骤。确定并行计算的通信模式(局部/全局),以实现负载均衡。
聚集步骤。依据计算机规模对所述若干任务过程聚合并行化(Parallelprogram),实现最小化并行开销,所述聚集步骤具备可扩展性。
映射步骤。将所述若干任务过程(p0~p3)映射(Mapping)并分配处理(Processors)。
在现有的并行计算过程中需要经过上述四个步骤,而在第四个步骤中通常采用预置的负载分配算法将划分好的任务过程分配到不同的计算节点上进行处理,上述算法一般采用静态算法和启发式算法:
所述静态算法根据预定义值为每一个计算节点分配相同数量的任务,此算法主要为满足网络拓扑结构简单,各计算节点计算能力基本相同且所有任务类型和规模也都相同的环境下的负载均衡。
所述启发式算法的设计思想则基于统计模拟法,启发式算法在于分别根据各个节点对历史任务执行情况统计来决定当前节点负载任务规模。
基于上述设计原理,现有技术提供了一种并行计算方法,如图2所示,包括:
初始化;
客户端提交作业;
对所述提交作业进行细粒度任务划分;
根据预先设定的计算节点的负载额度分配任务到各计算节点;
被分配至计算节点的任务在所对应的计算节点上排队执行;
将执行结果返回到客户端并储存在结果队列中;
当所有任务都执行完毕时,任务执行结束,否则继续根据预先设定的计算节点的负载额度分配未完成任务到各计算节点并在所对应的计算节点上排队执行,然后将执行结果返回到客户端并储存在结果队列中;
任务执行结束后,合并结果队列,以得到最终作业执行结果。
所述预先设定的计算节点的负载额度根据所述静态算法或启发式算法确定。
从图2中可以看出现有技术的并行计算方法只能根据预先设定的计算节点的负载额度对业务系统的任务进行分配,一旦任务分配完成之后,还可能存在任务分配不合理的问题。任务分配不合理会导致部分计算节点处于繁忙状态、而部分计算节点处于空闲状态,无法充分利用所有计算节点的计算能力,导致计算节点的平均任务执行时间和任务吞吐量不佳,影响并行计算的执行效率。
发明内容
本发明技术方案所解决的技术问题为:如何在并行计算中合理的分配任务,以提高并行计算的执行效率。
为了解决上述技术问题,本发明技术方案提供了一种并行计算方法,包括:
对各计算节点进行监控以获取节点监控数据;
基于所述节点监控数据计算所述计算节点的负载能力;
根据所述计算节点的负载能力对待分配的任务进行分配;所述待分配的任务为未被分配的任务、为已被分配但未被处理的任务、或为未被分配的任务和已被分配但未被处理的任务。
可选的,所述节点监控数据包括计算节点所在虚拟机的运行环境信息和所述计算节点的任务处理信息;所述对各计算节点进行监控以获取节点监控数据包括:
收集与计算节点所在虚拟机的运行环境信息相关的数据和与所述计算节点的任务处理信息相关的数据;
基于所述与计算节点所在虚拟机的运行环境信息相关的数据和与所述计算节点的任务处理信息相关的数据,获取计算节点所在虚拟机的运行环境信息和所述计算节点的任务处理信息。
可选的,所述与计算节点所在虚拟机的运行环境信息相关的数据包括CPU利用率、内存利用率及网络带宽利用率,所述与所述计算节点的任务处理信息相关的数据包括所述计算节点的任务处理数量和该计算节点的平均任务处理时间;
基于如下算式获取所述运行环境信息:
v p = 1 ( 1 - cpu uti ) × w cpu + ( 1 - mem uti ) × w mem + ( 1 - net uti ) × w net
其中,vp为所述运行环境信息,cpuuti为所述CPU利用率,wcpu为所述CPU利用率对所述运行环境信息的权重,memuti为所述内存利用率,wmem为所述内存利用率对所述运行环境信息的权重,netuti为所述网络带宽利用率,wnet为所述网络带宽利用率对所述运行环境信息的权重;
基于如下算式获取所述任务处理信息:
cp=taskm×treq
其中,cp为所述任务处理信息,taskm为所述计算节点的任务处理数量,treq为所述计算节点的平均任务处理时间。
可选的,基于如下算式计算所述计算节点的负载能力:
ocP=(1-vp)×cp
其中,ocP为所述计算节点的负载能力,vp为所述计算节点所在虚拟机的运行环境信息,cp为所述计算节点的任务处理信息。
可选的,所述根据所述计算节点的负载能力对待分配的任务进行分配包括:
依据各计算节点的负载能力的大小对所述计算节点进行排序,以获得所述计算节点的排序结果;
根据所述计算节点的排序结果对待分配的任务进行分配。
为了解决上述技术问题,本发明技术方案还提供了一种并行计算系统,包括:
节点监控单元,适于对各计算节点进行监控以获取节点监控数据;
任务负载管理单元,适于基于所述节点监控数据计算所述计算节点的负载能力;
任务调度单元,适于根据所述计算节点的负载能力对待分配的任务进行分配;所述待分配的任务为未被分配的任务、为已被分配但未被处理的任务、或为未被分配的任务和已被分配但未被处理的任务。
可选的,所述节点监控数据包括计算节点所在虚拟机的运行环境信息和所述计算节点的任务处理信息;所述并行计算系统还包括:
虚拟机连接单元;
代理单元,与所述节点监控单元通信,部署于所述计算节点所在虚拟机内,适于收集与计算节点所在虚拟机的运行环境信息相关的数据和与所述计算节点的任务处理信息相关的数据;
所述节点监控单元通过所述虚拟机连接单元与所述代理单元进行通信,以接收所述与计算节点所在虚拟机的运行环境信息相关的数据和与所述计算节点的任务处理信息相关的数据。
可选的,所述与计算节点所在虚拟机的运行环境信息相关的数据包括CPU利用率、内存利用率及网络带宽利用率,所述与所述计算节点的任务处理信息相关的数据包括所述计算节点的任务处理数量和该计算节点的平均任务处理时间;
所述任务负载管理单元包括:
第一分析单元,适于基于如下算式获取所述运行环境信息:
v p = 1 ( 1 - cpu uti ) × w cpu + ( 1 - mem uti ) × w mem + ( 1 - net uti ) × w net
其中,vp为所述运行环境信息,cpuuti为所述CPU利用率,wcpu为所述CPU利用率对所述运行环境信息的权重,memuti为所述内存利用率,wmem为所述内存利用率对所述运行环境信息的权重,netuti为所述网络带宽利用率,wnet为所述网络带宽利用率对所述运行环境信息的权重;
第二分析单元,适于基于如下算式获取所述任务处理信息:
cp=taskm×treq
其中,cp为所述任务处理信息,taskm为所述计算节点的任务处理数量,treq为所述计算节点的平均任务处理时间。
可选的,所述任务负载管理单元还包括:
第三分析单元,适于基于如下算式计算所述计算节点的负载能力:
ocP=(1-vp)×cp
其中,ocP为所述计算节点的负载能力,vp为所述计算节点所在虚拟机的运行环境信息,cp为所述计算节点的任务处理信息。
可选的,所述任务调度单元包括:
排序单元,适于依据各计算节点的负载能力的大小对所述计算节点进行排序,以获得所述计算节点的排序结果;
分配单元,适于根据所述计算节点的排序结果对待分配的任务进行分配。
本发明技术方案的有益效果至少包括:
本发明技术方案的并行计算方法及系统不同于现有技术的并行计算方案,其能够根据检测到的节点监控数据了解实际计算节点的负载情况,根据当前计算节点的真实负载能力对系统任务进行调度,以实现任务的合理分配。本发明技术方案的并行计算方法能够对计算节点实现资源监控,计算计算节点当前的负载能力,可随计算节点负载能力的变化灵活地控制节点任务的分配或重分配,因而可动态地在并行计算过程中均衡调配系统任务,提高并行计算的执行效率。
进一步的,由于本发明技术方案的并行计算方法及系统还能够通过对已被分配但未被处理的任务重分配,在计算节点规模固定的情况下使重分配的任务调配到计算能力富余的节点上,实现了系统计算处理能力的整体提升,加快了系统的处理速度,使系统在单位时间内完成的任务数量增加,从而提高了系统任务执行的吞吐量。
本发明技术方案的并行计算系统还可以与云计算平台结合:本发明技术方案的并行计算系统通过云计算平台内置的代理单元,利用了代理(agent)手段对每个计算节点进行监控,并可调用对应虚拟化API(Application Programming Interface,应用程序编程接口)进行与云计算平台对接,可实现并行计算系统的高扩展性,构建出高性能的并行计算系统。
此外,本发明技术方案并行计算方法及系统还通过每个计算节点所在虚拟机的运行环境信息和所述计算节点的任务处理信息衡量计算节点实时的负载能力,基于各计算节点实时的负载能力大小实现系统任务的动态调度。
附图说明
图1为现有技术并行计算方法的设计框图;
图2为现有技术的一种并行计算方法的流程图;
图3为实施例1提供的一种并行计算方法的流程图;
图4为实现对各计算节点进行监控以获取节点监控数据的方法流程图;
图5为实施例2提供的一种并行计算方法的流程图;
图6为实施例3提供的一种并行计算方法的流程图;
图7为实现建立所述计算节点综合负载队列的方法流程图;
图8为基于实施例3所提供的另一则并行计算方法的流程图;
图9为实施例4提供的一种并行计算系统的结构图。
具体实施方式
为了使本发明的目的、特征和效果能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细说明。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的方式来实施,因此本发明不受下面公开的具体实施例的限制。
实施例1
本实施例提供了一种如图3所示的并行计算方法,包括:
步骤S100,检测未被分配的任务。
所述未被分配的任务可以是指基于如下过程产生的:
初始化系统或运行系统;
在系统或系统客户端提交作业;
对所提交的作业进行划分以形成任务。
上述过程中所形成的任务是系统新产生的任务,其未被分配,本实施例将所述系统新产生的任务称为所述未被分配的任务。
步骤S101,当检测到未被分配的任务时,对各计算节点进行监控以获取节点监控数据。
本步骤中的计算节点可以存在于虚拟机的虚拟环境下,当需要对各计算节点进行监控以获取节点监控数据时,可首先通过虚拟化连接器连接虚拟化环境,与虚拟化环境中的虚拟机的代理单元(agent单元)通信,以获得所述节点监控数据。本实施例的虚拟环境主要指云环境,但在其他实施例中,沟通虚拟环境中的信息数据的方式也是类似的。
具体的,所述节点监控数据包括计算节点所在虚拟机的运行环境信息和所述计算节点的任务处理信息。其中,所述计算节点所在虚拟机的运行环境信息在本实施例中主要衡量在云环境中的运行环境负载情况。
参考图4,所述对各计算节点进行监控以获取节点监控数据包括如下步骤:
步骤S200,收集与计算节点所在虚拟机的运行环境信息相关的数据和与所述计算节点的任务处理信息相关的数据;
步骤S201,基于所述与计算节点所在虚拟机的运行环境信息相关的数据和与所述计算节点的任务处理信息相关的数据,获取计算节点所在虚拟机的运行环境信息和所述计算节点的任务处理信息。
在步骤S201中,所述与计算节点所在虚拟机的运行环境信息相关的数据基于虚拟机负载,包括虚拟机中CPU的利用率、内存利用率及网络带宽利用率;所述与所述计算节点的任务处理信息相关的数据基于每个计算节点任务处理能力负载,可从所述计算节点的任务处理数量和该计算节点的平均任务处理时间进行衡量。
可从虚拟机中CPU的利用率、内存利用率及网络带宽利用率等监控数据获取计算节点所在虚拟机的运行环境信息。考虑由于CPU使用率和内存使用率对虚拟机运行环境负载影响权重较大,而网络带宽利用率影响权重较小,分别赋予这三个指标以不同的权重。基于如下算式获取所述运行环境信息:
v p = 1 ( 1 - cpu uti ) × w cpu + ( 1 - mem uti ) × w mem + ( 1 - net uti ) × w net - - - ( 1 )
式(1)中,vp为所述计算节点所在虚拟机的运行环境信息,cpuuti为所述CPU利用率,wcpu为所述CPU利用率对所述运行环境信息的权重,memuti为所述内存利用率,wmem为所述内存利用率对所述运行环境信息的权重,netuti为所述网络带宽利用率,wnet为所述网络带宽利用率对所述运行环境信息的权重。
上述CPU利用率的权重wcpu、内存利用率的权重wmem及网络带宽利用率的权重wnet的具体取值可以依据不同运行处理情况预先设置,一般地,CPU利用率的权重wcpu的取值范围可以为0.3~0.4,内存利用率的权重wmem的取值范围可以为0.3~0.4,网络带宽利用率的权重wnet的取值范围可以为0.2~0.4。本实施例中,取CPU利用率的权重wcpu为0.4、内存利用率的权重wmem为0.4、网络带宽利用率的权重wnet为0.2。
也可从所述计算节点的任务处理数量和平均任务处理时间等监控数据获取计算节点的任务处理信息。基于如下算式获取所述任务处理信息:
cp=taskm×treq---(2)
式(2)中,cp为所述任务处理信息,taskm为所述计算节点的任务处理数量,treq为所述计算节点的平均任务处理时间。
继续参考图3,本实施例的并行计算方法还包括:
步骤S102,基于所述节点监控数据计算所述计算节点的负载能力。
可以基于所述计算节点所在虚拟机的运行环境信息和所述计算节点的任务处理信息计算所述计算节点的负载能力。基于如下算式计算所述计算节点的负载能力:
ocP=(1-vp)×cp---(3)
式(3)中,ocP为所述计算节点的负载能力,vp为所述计算节点所在虚拟机的运行环境信息,cp为所述计算节点的任务处理信息。
继续参考图3,本实施例的并行计算方法还包括:
步骤S103,根据所述计算节点的负载能力对检测到的未被分配的任务进行分配。
本实施例中,所述计算节点的负载能力是考量了计算节点所在虚拟机运行环境负载和计算节点任务处理负载的综合负载,可以根据每个计算节点的综合负载对所述计算节点进行排序,形成所述计算节点负载能力的数值队列。在对检测到的未被分配的任务进行分配时,可基于所述数值队列从小到大的顺序,分配任务至对应的计算节点。
不同于现有技术采用预先设定的计算节点的负载额度分配任务到各计算节点,本实施例的并行计算方法是采用动态的计算节点的负载额度分配任务到各计算节点的,且本实施例的计算节点的负载额度是基于综合负载进行衡量的,可随计算节点负载能力的变化灵活地控制节点任务的分配,在并行计算过程中能够均衡调配系统任务,提高并行计算的执行效率。
实施例2
本实施例提供了一种如图5所示的并行计算方法,包括:
步骤S300,检测已被分配但未被处理的任务。
所述已被分配但未被处理的任务基于实施例1所述的未被分配的任务,可以是指如下过程产生的:
根据如实施例1所述的并行计算方法将所述未被分配的任务分配至计算节点;
所述未被分配的任务长时间得不到处理,以形成所述已被分配但未被处理的任务。
上述过程中所形成的任务是并不是系统新产生的任务,而是已被分配至计算节点,但因为计算节点未对该任务进行处理,导致该任务长时间处于等待,任务长时间未处理是指从任务被分配到计算节点、等待时间超过5分钟以上未被处理。本实施例主要针对这一类长时间未处理的任务再分配。
步骤S301,当检测到已被分配但未被处理的任务时,对各计算节点进行监控以获取节点监控数据。
步骤S302,基于所述节点监控数据计算所述计算节点的负载能力。
步骤S301和步骤S302的具体实施过程可参考实施例1的步骤S101和步骤S102,本实施例不再赘述。
继续参考图5,本实施例的并行计算方法还包括:
步骤S303,根据所述计算节点的负载能力对检测到的已被分配但未被处理的任务进行分配。
所述分配过程可参考实施例1的相关论述。需要说明的是,本实施例的并行计算方法基于实施例1动态的计算节点的负载额度并分配相关任务的思想的,是基于实施例1的实现方式所提出的一种对节点任务的再分配过程。本实施例的计算节点的负载额度也是基于综合负载进行衡量的,可随计算节点负载能力的变化灵活地控制节点任务的再分配,进一步实现并行计算过程中的均衡调配,满足并行计算的执行效率。
实施例3
本实施例提供了一种如图6所示的并行计算方法,基于实施例1和实施例2,该方法包括对未被分配的节点任务进行分配及对已被分配但未被处理的节点任务进行再分配的过程,包括:
步骤S400,初始化系统。
步骤S401,检测是否有新的任务分配。
当有新的任务需要分配时,执行步骤S402至步骤S405:
步骤S402,更新步骤。
所述更新步骤为:实时更新计算节点综合负载队列。
步骤S403,查看步骤。
所述查看步骤为:查看节点任务综合负载队列。
步骤S404,分配步骤。
所述分别步骤为:选择节点任务综合负载队列中负载最小节点,分配所述新的任务至所述负载最小节点。
步骤S405,执行步骤。
所述执行步骤为:执行被分配到所述计算节点上的任务。
步骤S406,检测被分配至各计算节点上的任务是否已被处理。
当被分配至各计算节点上的任务长时间未被处理,则基于所述已被分配但未被处理,重新执行步骤S402至步骤S405:
其中,所述分配步骤其实为一重分配过程,即为:选择节点任务综合负载队列中负载最小节点,重新分配所述已被分配但未被处理的任务至所述负载最小节点。所述执行步骤为:执行被重分配到所述计算节点上的任务。
需要说明的是,所述计算节点综合负载队列是在系统运行过程中建立的,其建立过程可参考实施例1的相关过程,即通过获取所述节点监控数据计算各计算节点的负载能力,将计算得到的各计算节点的负载能力值放入队列,以形成所述计算节点综合负载队列。所述计算节点综合负载队列的建立可以是在第一次有新的任务需要分配时进行建立的。
当有新的任务需要分配时,步骤S402至步骤S404的过程是在没有新任务分配时执行的,此时由于某些计算节点的原有任务执行的完成,而造成该节点负载能力值的变化,因而在步骤S402更新所述计算节点综合负载队列,以得到实时的各计算节点的负载情况。
当被分配至各计算节点上的任务长时间未被处理时,步骤S406至步骤S408的过程是在新的任务分配后执行的,此时一个计算节点上会存在多个任务排队执行的情况,某些任务会等待很长时间得不到处理,因而通过在步骤S406更新所述计算节点综合负载队列,重新评估计算各计算节点的负载能力,也便于对长时间未被处理的任务进行再分配。
基于实施例1,如图7所示,建立所述计算节点综合负载队列可包括如下步骤:
步骤S500,连接虚拟化环境;
步骤S501,获取计算节点所在虚拟机的运行环境信息和所述计算节点当前的任务处理信息;
步骤S502,根据所述计算节点所在虚拟机的运行环境信息和所述计算节点当前的任务处理信息计算每个节点当前的负载能力;
步骤S503,创建队列,将每个节点当前的负载能力值压入所述队列,以得到所述计算节点综合负载队列。
所述更新所述计算节点综合负载队列包括:
执行步骤S500至步骤S502;以及,
更新队列,根据每个节点当前的负载能力值更新至所述队列的排列顺序,以得到更新后的所述计算节点综合负载队列。
本实施例可应用于云环境平台,在对系统进行初始化后,可通过虚拟化连接器连接虚拟化环境,并与虚拟化环境中的虚拟机的Agent通信,以获取计算节点所在虚拟机的运行环境信息和当前任务处理信息,基于上述信息计算得到计算节点的负载能力,并建立所述计算节点综合负载队列。当有新的任务需要进行分配时,从计算节点综合负载队列中选择节点负载最小的节点,将该任务分配给该节点。以此类推,每当有新任务需要分配时通过该算法进行动态调配。
随着分配任务的增多,某些节点的任务综合负载变高,其上排队的任务总是得不到有效处理,在长时间未处理已分配任务时,本实施例就将该节点上的任务进行再次调配,动态地更新计算节点综合负载队列,并将上述未得到处理的任务重分配到综合负载小的节点上,实现每个节点处理任务效率最大化。本实施例的并行计算方法能够充分利用系统资源,提高任务处理效率和单位时间处理任务的能力,从而提高任务处理吞吐量,进而构建出高性能并行计算系统。
在其他实施例中,所述计算节点综合负载队列还可以在系统初始化过程中建立,而在当有新的任务需要分配或被分配至各计算节点上的任务长时间未被处理时,执行更新所述计算节点综合负载队列这一步骤,具体方案可参考图8所示的另一则实施例。
实施例4
为了在云环境上实现实施例1至实施例3任一项并行计算方法,本实施例提供了一种并行计算系统,如图9所示,包括:
各计算节点所在虚拟机(200a,200b),所述虚拟机(200a,200b)可以基于VM环境对物理服务器进行虚拟化。所述并行计算系统可以包括多个虚拟机,每个虚拟机对应为一个计算节点。
节点监控单元201,适于对各计算节点进行监控以获取所述节点监控数据。节点监控单元201主要处理计算节点运行环境信息的搜集以及计算节点任务处理的性能信息搜集,并传递给任务负载管理单元202进行计算节点的负载能力智能分析。
任务负载管理单元202,适于基于所述节点监控数据计算所述计算节点的负载能力。
任务调度单元203,适于根据所述计算节点的负载能力对待分配的任务进行分配,并将所述分配任务反馈至各计算节点。
继续参考图9可知,在云环境下,各计算节点是对应一个虚拟机的运行环境的,在节点监控单元201和任务调度单元203与计算节点进行通信时,需要请求计算节点所在的虚拟化环境,此时需要与虚拟机进行连接。本实施例的并行计算系统还包括:虚拟机连接单元204和代理单元(agent,205a、205b),其中:
虚拟机连接单元204具体可以是虚拟API接口(Application ProgrammingInterface,应用程序编程接口)。虚拟机连接单元204能够连接不同厂商不同虚拟化环境,屏蔽不同虚拟化平台的异构性,构建连接通道,传递对虚拟化环境监控和控制的命令。
所述代理单元(agent)部署于所述计算节点所在虚拟机内,适于收集与计算节点所在虚拟机的运行环境信息相关的数据和与所述计算节点的任务处理信息相关的数,即所述代理单元(agent)在所述计算节点所在虚拟机内直接收集对应计算节点的监控数据。所述代理单元(Agent)是自动收集对应计算节点的监控数据的(即计算节点所在虚拟机的运行环境信息和处理任务信息的,包括CPU使用率、内存使用率、网络带宽利用率、当前任务数量、平均任务处理时间等),并实现与虚拟机连接单元的消息通信。
节点监控单元201通过虚拟机连接单元204与所述代理单元(agent)进行通信,以接收代理单元(agent)收集的监控数据。通过虚拟机连接单元204和代理单元(agent)能够将本实施例的并行计算系统与云计算平台的虚拟化资源结合,实现任务资源的灵活调配。
另外,本实施例的任务负载管理单元202能够基于所述节点监控数据计算所述计算节点的负载能力,能够实现实施例1至实施例3中获取运行环境信息Vp、任务处理信息cp和各计算节点的负载能力ocP的过程。具体的,所述任务负载管理单元202包括:
第一分析单元,适于基于式(1)获取所述运行环境信息Vp
第二分析单元,适于基于式(2)获取所述任务处理信息cp
第三分析单元,适于基于式(3)获取各计算节点的负载能力ocP
所述任务调度单元203则进一步包括:
排序单元,适于依据各计算节点的负载能力的大小对所述计算节点进行排序,以获得所述计算节点的排序结果。所述排序过程可以根据每个计算节点的负载能力值对所述计算节点进行排序,形成所述计算节点负载能力的数值队列,也可以是建立或更新所述计算节点综合负载队列的过程。
分配单元,适于根据所述计算节点的排序结果对待分配的任务进行分配。
所述任务调度单元203将所述分配任务通过虚拟机连接单元204反馈至相应虚拟机的计算节点。
需要说明的是,本实施例将整个并行计算系统是部署在云计算平台环境上运行,利用虚拟机内置代理单元实现agent手段,即使用agent手段对于每个计算节点实现监控,调用对应所述虚拟机连接单元204实现虚拟环境与外界的通信进行实现。
本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。

Claims (8)

1.一种并行计算方法,其特征在于,包括:
对各计算节点进行监控以获取节点监控数据;
基于所述节点监控数据计算所述计算节点的负载能力;
根据所述计算节点的负载能力对待分配的任务进行分配;所述待分配的任务为未被分配的任务和/或已被分配但未被处理的任务;
其中,基于如下算式计算所述计算节点的负载能力:
ocP=(1-vp)×cp
其中,ocP为所述计算节点的负载能力,vp为所述计算节点所在虚拟机的运行环境信息,cp为所述计算节点的任务处理信息;
基于如下算式获取所述运行环境信息:
v p = 1 ( 1 - cpu u t i ) × w c p u + ( 1 - mem u t i ) × w m e m + ( 1 - net u t i ) × w n e t
其中,vp为所述运行环境信息,cpuuti为CPU利用率,wcpu为所述CPU利用率对所述运行环境信息的权重,memuti为内存利用率,wmem为所述内存利用率对所述运行环境信息的权重,netuti为网络带宽利用率,wnet为所述网络带宽利用率对所述运行环境信息的权重;
基于如下算式获取所述任务处理信息:
cp=taskm×treq
其中,cp为所述任务处理信息,taskm为所述计算节点的任务处理数量,treq为所述计算节点的平均任务处理时间。
2.如权利要求1所述的并行计算方法,其特征在于,所述节点监控数据包括计算节点所在虚拟机的运行环境信息和所述计算节点的任务处理信息;所述对各计算节点进行监控以获取节点监控数据包括:
收集与计算节点所在虚拟机的运行环境信息相关的数据和与所述计算节点的任务处理信息相关的数据;
基于所述与计算节点所在虚拟机的运行环境信息相关的数据和与所述计算节点的任务处理信息相关的数据,获取计算节点所在虚拟机的运行环境信息和所述计算节点的任务处理信息。
3.如权利要求2所述的并行计算方法,其特征在于,所述与计算节点所在虚拟机的运行环境信息相关的数据包括CPU利用率、内存利用率及网络带宽利用率,所述与所述计算节点的任务处理信息相关的数据包括所述计算节点的任务处理数量和该计算节点的平均任务处理时间。
4.如权利要求1所述的并行计算方法,其特征在于,所述根据所述计算节点的负载能力对待分配的任务进行分配包括:
依据各计算节点的负载能力的大小对所述计算节点进行排序,以获得所述计算节点的排序结果;
根据所述计算节点的排序结果对待分配的任务进行分配。
5.一种并行计算系统,其特征在于,包括:
节点监控单元,适于对各计算节点进行监控以获取节点监控数据;
任务负载管理单元,适于基于所述节点监控数据计算所述计算节点的负载能力;
任务调度单元,适于根据所述计算节点的负载能力对待分配的任务进行分配;所述待分配的任务为未被分配的任务和/或已被分配但未被处理的任务;
其中,所述任务负载管理单元包括:
第一分析单元,适于基于如下算式获取运行环境信息:
v p = 1 ( 1 - cpu u t i ) × w c p u + ( 1 - mem u t i ) × w m e m + ( 1 - net u t i ) × w n e t
其中,vp为所述运行环境信息,cpuuti为CPU利用率,wcpu为所述CPU利用率对所述运行环境信息的权重,memuti为内存利用率,wmem为所述内存利用率对所述运行环境信息的权重,netuti为网络带宽利用率,wnet为所述网络带宽利用率对所述运行环境信息的权重;
第二分析单元,适于基于如下算式获取任务处理信息:
cp=taskm×treq
其中,cp为所述任务处理信息,taskm为所述计算节点的任务处理数量,treq为所述计算节点的平均任务处理时间;
第三分析单元,适于基于如下算式计算所述计算节点的负载能力:
ocP=(1-vp)×cp
其中,ocP为所述计算节点的负载能力,vp为所述计算节点所在虚拟机的运行环境信息,cp为所述计算节点的任务处理信息。
6.如权利要求5所述的并行计算系统,其特征在于,所述节点监控数据包括计算节点所在虚拟机的运行环境信息和所述计算节点的任务处理信息;所述并行计算系统还包括:
虚拟机连接单元;
代理单元,与所述节点监控单元通信,部署于所述计算节点所在虚拟机内,适于收集与计算节点所在虚拟机的运行环境信息相关的数据和与所述计算节点的任务处理信息相关的数据;
所述节点监控单元通过所述虚拟机连接单元与所述代理单元进行通信,以接收所述与计算节点所在虚拟机的运行环境信息相关的数据和与所述计算节点的任务处理信息相关的数据。
7.如权利要求6所述的并行计算系统,其特征在于,所述与计算节点所在虚拟机的运行环境信息相关的数据包括CPU利用率、内存利用率及网络带宽利用率,所述与所述计算节点的任务处理信息相关的数据包括所述计算节点的任务处理数量和该计算节点的平均任务处理时间。
8.如权利要求5所述的并行计算系统,其特征在于,所述任务调度单元包括:
排序单元,适于依据各计算节点的负载能力的大小对所述计算节点进行排序,以获得所述计算节点的排序结果;
分配单元,适于根据所述计算节点的排序结果对待分配的任务进行分配。
CN201310591160.3A 2013-11-20 2013-11-20 一种并行计算方法及系统 Expired - Fee Related CN103617086B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310591160.3A CN103617086B (zh) 2013-11-20 2013-11-20 一种并行计算方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310591160.3A CN103617086B (zh) 2013-11-20 2013-11-20 一种并行计算方法及系统

Publications (2)

Publication Number Publication Date
CN103617086A CN103617086A (zh) 2014-03-05
CN103617086B true CN103617086B (zh) 2017-02-08

Family

ID=50167789

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310591160.3A Expired - Fee Related CN103617086B (zh) 2013-11-20 2013-11-20 一种并行计算方法及系统

Country Status (1)

Country Link
CN (1) CN103617086B (zh)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104978232A (zh) * 2014-04-09 2015-10-14 阿里巴巴集团控股有限公司 用于实时流式计算的计算资源扩容、释放方法及其装置
CN105335229B (zh) * 2014-07-25 2020-07-07 新华三技术有限公司 一种业务资源的调度方法和装置
US10108445B2 (en) * 2014-09-22 2018-10-23 The Boeing Company Parallelization in virtual machine operation
CN105094982A (zh) * 2014-09-23 2015-11-25 航天恒星科技有限公司 一种多星遥感数据处理系统
CN104320433B (zh) * 2014-09-28 2018-11-23 北京京东尚科信息技术有限公司 数据处理方法和分布式数据处理系统
CN104615487B (zh) * 2015-01-12 2019-03-08 中国科学院计算机网络信息中心 并行任务优化系统和方法
CN104793990B (zh) * 2015-04-21 2018-08-17 中国海洋大学 一种多时序任务调度方法和系统
CN106559648A (zh) * 2015-09-29 2017-04-05 鸿富锦精密工业(深圳)有限公司 行人侦测系统及方法
CN105471985A (zh) * 2015-11-23 2016-04-06 北京农业信息技术研究中心 负载均衡方法及云平台计算方法、云平台
CN106856435A (zh) * 2015-12-09 2017-06-16 中兴通讯股份有限公司 一种云虚拟网元控制方法和装置以及无线网络控制器
CN105573827A (zh) * 2015-12-11 2016-05-11 联动优势电子商务有限公司 一种多机并行处理方法及装置
CN106970833A (zh) * 2016-01-13 2017-07-21 阿里巴巴集团控股有限公司 作业调度方法及装置
CN106095572B (zh) * 2016-06-08 2019-12-06 东方网力科技股份有限公司 一种大数据处理的分布式调度系统及方法
CN107818097B (zh) * 2016-09-12 2020-06-30 平安科技(深圳)有限公司 数据处理方法和装置
CN107959692A (zh) * 2016-10-14 2018-04-24 中国电信股份有限公司 用于获得安全资源的等效负载的方法和系统
CN106600220A (zh) * 2016-11-29 2017-04-26 叶飞 一种分布式计算方法
CN107357641A (zh) * 2017-06-21 2017-11-17 西安电子科技大学 一种云计算中任务调度方法
CN107341057A (zh) * 2017-07-07 2017-11-10 郑州云海信息技术有限公司 一种数据处理方法及装置
CN107291544B (zh) * 2017-08-03 2020-07-28 浪潮云信息技术股份公司 任务调度的方法及装置、分布式任务执行系统
TWI649657B (zh) * 2017-12-20 2019-02-01 雙子星雲端運算股份有限公司 雲端服務管理方法
CN108259568B (zh) * 2017-12-22 2021-05-04 东软集团股份有限公司 任务分配方法、装置、计算机可读存储介质及电子设备
CN108984305B (zh) * 2018-07-13 2021-03-09 威创集团股份有限公司 任务处理方法、装置及系统
CN108958942A (zh) * 2018-07-18 2018-12-07 郑州云海信息技术有限公司 一种分布式系统分配任务方法、调度器和计算机设备
WO2020062277A1 (zh) * 2018-09-30 2020-04-02 华为技术有限公司 神经网络中数据预处理阶段的计算资源的管理方法和装置
CN109408236A (zh) * 2018-10-22 2019-03-01 福建南威软件有限公司 一种etl在集群上的任务负载均衡方法
CN111352724B (zh) * 2018-12-24 2023-03-21 中国电信股份有限公司 安全资源选取实现方法和装置
CN110187971B (zh) * 2019-05-30 2020-08-04 口碑(上海)信息技术有限公司 业务请求处理方法及装置
CN110427262B (zh) * 2019-09-26 2020-05-15 深圳华大基因科技服务有限公司 一种基因数据分析方法及异构调度平台
CN111209102A (zh) * 2020-01-08 2020-05-29 湖南映客互娱网络信息有限公司 一种分布式任务分发方法与系统
CN111629046B (zh) * 2020-05-22 2022-04-08 中国联合网络通信集团有限公司 边缘计算协同方法、边缘计算设备及终端
CN111818159B (zh) * 2020-07-08 2024-04-05 腾讯科技(深圳)有限公司 数据处理节点的管理方法、装置、设备及存储介质
CN115408122B (zh) * 2022-08-01 2023-05-23 无锡雪浪数制科技有限公司 一种去中心化的分布式并行计算框架及计算方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101256515A (zh) * 2008-03-11 2008-09-03 浙江大学 多核处理器操作系统负载均衡的实现方法
CN101308468A (zh) * 2008-06-13 2008-11-19 南京邮电大学 网格计算环境下的作业跨域控制方法
CN101447939A (zh) * 2008-12-16 2009-06-03 中国移动通信集团北京有限公司 一种业务分配方法和负载均衡器
CN102932418A (zh) * 2012-09-27 2013-02-13 东软集团股份有限公司 一种云应用部署方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7552437B2 (en) * 2004-01-14 2009-06-23 International Business Machines Corporation Maintaining application operations within a suboptimal grid environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101256515A (zh) * 2008-03-11 2008-09-03 浙江大学 多核处理器操作系统负载均衡的实现方法
CN101308468A (zh) * 2008-06-13 2008-11-19 南京邮电大学 网格计算环境下的作业跨域控制方法
CN101447939A (zh) * 2008-12-16 2009-06-03 中国移动通信集团北京有限公司 一种业务分配方法和负载均衡器
CN102932418A (zh) * 2012-09-27 2013-02-13 东软集团股份有限公司 一种云应用部署方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
云环境下资源评价模型的研究;陈雯;《中国优秀硕士学位论文全文数据库信息科技辑》;20110915(第9期);I137-1 *

Also Published As

Publication number Publication date
CN103617086A (zh) 2014-03-05

Similar Documents

Publication Publication Date Title
CN103617086B (zh) 一种并行计算方法及系统
Pradhan et al. A novel load balancing technique for cloud computing platform based on PSO
Priya et al. Resource scheduling algorithm with load balancing for cloud service provisioning
CN103118124B (zh) 一种基于分层多代理的云计算负载均衡方法
US9015708B2 (en) System for improving the performance of high performance computing applications on cloud using integrated load balancing
CN112783649B (zh) 一种面向云计算的交互感知的容器化微服务资源调度方法
CN107003887A (zh) Cpu超载设置和云计算工作负荷调度机构
CN104636187B (zh) 基于负载预测的numa架构中虚拟机调度方法
CN107346264A (zh) 一种虚拟机负载均衡调度的方法、装置和服务器设备
Mahato et al. On scheduling transactions in a grid processing system considering load through ant colony optimization
CN112181620B (zh) 云环境下虚拟机服务能力感知的大数据工作流调度方法
Soner et al. Integer programming based heterogeneous cpu–gpu cluster schedulers for slurm resource manager
Li et al. An effective scheduling strategy based on hypergraph partition in geographically distributed datacenters
Han et al. Energy efficient VM scheduling for big data processing in cloud computing environments
Chen et al. Optimal provisioning of resource in a cloud service
CN108132840A (zh) 一种分布式系统中的资源调度方法及装置
CN114490049A (zh) 在容器化边缘计算中自动分配资源的方法及系统
CN102184124A (zh) 任务调度方法及系统
Shah et al. Modified least cost method for grid resource allocation
Kosuru et al. An intelligent energy minimization algorithm with virtual machine consolidation for sensor-based decision support system
Feng et al. A deadline and budget constrained cost-time optimization algorithm for scheduling dependent tasks in grid computing
Zhou et al. Stability property of clouds and cooperative scheduling policies on multiple types of resources in cloud computing
Usman et al. Energy-Efficient Resource Allocation Technique Using Flower Pollination Algorithm for Cloud Datacenters
CN106201847B (zh) 考虑云平台主机性能衰减的任务分配方法、装置和系统
Pan et al. Simulation in cloud computing envrionment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170208

Termination date: 20211120

CF01 Termination of patent right due to non-payment of annual fee