云端计算资源排程方法与应用的系统的制作方法

文档序号:6599630阅读:154来源:国知局
专利名称:云端计算资源排程方法与应用的系统的制作方法
技术领域
本发明涉及云端计算资源排程方法与应用的系统,特别是利用各终端电脑的计算资源负载历史记录作为资源排程的基础,执行较有效率的云端计算的目的。
背景技术
网格计算(Grid computing)可实现一种云端计算,是通过网络沟通多个电脑系统而进一步使用加入此计算计划中各电脑的未用资源达到计算目的的概念,未用资源包括使用中央处理器的空闲时间与磁盘存量,借以解决大量的计算要求。针对大量计算需求的要求,公知技术利用多数闲置的终端电脑系统的可用资源, 尤其是各终端电脑系统的中央处理器的闲置运算能力,利用网络沟通,执行分散运算,于运算完成后,将结果通过网络回传至中央运算中心。网格计算中的中央处理器资源分配可参考图1所示的示意图,此例中,两个或多个电脑系统101,102通过网络10与一网格运算中心12相链接,其中电脑系统101,102的中央处理器(CPU)的计算资源可通过网络10分享出去,特别是执行由网格运算中心12发出的计算需求。在此架构中,是由电脑系统101,102将闲置的中央处理器的计算周期(CPU cycle)分享出去,借以执行网格运算。运作时,网格运算中心12需要获取各参与运算的电脑系统101,102的运作状态,以得到可以采用的计算资源。当公知技术通过一中介单位(Broker),比如上述的网格运算中心12,获得各参与计算计划的终端电脑系统的可用资源状态,比如某参与计划的电脑系统进入闲置状态 (idle state),多半是通过一个安装于各终端电脑系统中的代理程序(Agent)随时侦测各计算资源,经实时侦测与回报的机制获取可用资源,包括中央处理器的计算资源、内存使用资源、输出入(I/O)系统等,据以分配进一步计算要求。有关各计算资源的管理与排程(scheduling)可参考图2所示公知技术的网格运算架构示意图。其中主要是通过一个网格伺服管理器20进行针对特定计算需求的排成规划,而整体显示一个网格运算的架构主要有三个部分,包括提出计算需求的客户端应用 21,23,25,作为管理、监控与排程的网格伺服管理器20,与各终端提供计算资源的网格引擎 201,202,203,204,205。其中客户端应用21,23,25可通过一驱动程序(未显示),经过网络对网格伺服管理器20提出计算需求;而各终端网格引擎(201,202,203,204,205,可包括各式终端的电脑系统、工作站等)则通过网络监控机制回报网格伺服管理器20其中的计算资源是否处于可用(available)状态,或是于特定计算工作完成后通知网格伺服管理器20与回传结果; 网格伺服管理器20则主要是通过监控与管理机制了解各终端网格引擎201,202,203,204, 205的负载,以提供最佳的计算规划。在公知技术中,各端仍有一些相互信息传递的机制,包括传递在线可以重复使用、模块化的服务,包括直接传递的一些信息等,在此并不赘述。

发明内容
由于公知云端计算的技术仅根据各终端节点的实时计算负载来分配计算任务,而未考虑将来在不同时间的可能变动,虽然可以通过随时监控而随时改变可用的计算资源, 但仍产生变动过多引发的不稳定情况与效率不彰的问题。鉴于公知技术中各终端节点的负载能力无法预测的缺点,本发明提出一种云端计算资源排程方法与应用的系统,通过参考各计算节点的负载历史记录,提升云端计算能力。根据实施例,云端计算资源排程方法包括先接收一计算需求,此计算需求将包括有需要的计算节点数量、计算起始时间与计算的时间长度,接着,由各计算节点上收集的负载历史记录建立相对各计算节点的计算资源表,其中包括由负载历史记录得出的一计算模型,此计算模型系将描述各计算节点的中央运算资源依时间的使用状态,经多个负载等级区分后,依据时间顺序排列得到计算模型。之后,方法根据计算需求与计算模型计算得出各计算节点的一可用度,包括依据所需的计算长度与计算起始时间,将计算模型中各负载等级符合计算长度的可用资源值相加,即得出可用度。再根据计算需求与计算模型计算得出各计算节点的一信心度,其中信心度的计算方法包括先计算得出符合计算长度与计算起始时间的计算模型的数量,接着再算符合计算起始时间,但小于计算长度的计算模型的数量,将相除的后得出信心度。由可用度与信心度计算得出各计算节点的一资源期望值,经排序后依据该计算需求与各计算节点的该资源期望值选择出一个或多个计算节点,经分配后执行计算任务,最后,根据选择的该多个计算节点分配该计算任务。本发明的特征是借由各计算节点的负载历史记录得出计算模型,由计算模型建立各计算节点的计算资源表,再由计算需求中得出各种参数,以负载历史记录为基础来选择计算节点,能产生较有效率的云端计算。应用上述云端计算资源排程方法的系统则包括有多个计算节点,该多个计算节点区分为一或多个群组,各群组由执行一代理程序撷取各计算节点的负载信息,并建立各计算节点的一计算资源表;还包括一中介单位,此中介单位通过网络记载由各代理程序所撷取的计算资源表,其中至少包括一节点标识符与一计算模型,并接收一计算需求,该计算需求包括一计算节点数量、一计算长度、一计算起始时间,根据该计算需求分配该多个计算节点计算任务,以及利用一网络链接该多个计算节点与该中介单位。之后,接收一计算需求, 再根据计算需求分配多个计算节点计算任务。


图1为公知技术网格运算的示意图;图2为公知技术的网格运算架构示意图;图3为本发明应用云端计算资源排程方法的系统示意图;图4为本发明云端计算资源排程方法的实施例示意图;图5为本发明云端计算资源排程方法中期望值的计算流程;图6为本发明云端计算资源排程方法的实施例流程图。主要元件附图标记说明网络 10电脑系统 101,102
网格运算中心 12客户端应用 21,23,25网格伺服管理器20网格引擎 201,202,203,204,205网络 30中介单位 31终端电脑301,302,303,304,305,306计算需求35资源参数表33S501 S515本发明期望值的计算流程S601 S611本发明云端计算资源排程方法流程
具体实施例方式根据本发明提出的云端计算资源排程方法与应用的系统的实施例,主要特征是能够借由一段时间记录各终端电脑系统的资源使用状况,如中央处理器的负载历史记录,作为未来分配计算任务的判断基础,使用预测的方式选择计算资源,可较精确地选择到合适的计算资源,能够有效应用到各端的计算资源,并提高整体云端计算的效率。应用于云端计算的计算资源通常都有其特定的使用者,相关各计算资源的负载可能依时间产生高低起伏不定的负载变化,而各用户或是相关运作的任务会有一种规律性, 借此可推算计算资源的可用程度,在本发明提出的方法则是根据各使用者与相关计算资源过去的负载历史记录,经过数值分析后,能够准确选择未来的计算资源。实施例可参考图3所示为本发明应用云端计算资源排程方法的系统示意图,此例中,布置有多个终端电脑(也就有多个计算节点)301,302,303,304,305,306,各终端电脑参与一个由中介单位(Broker)31管理的计算计划,为了获取各终端电脑的可使用资源,各终端电脑可区分一或多个群组,此例可略分有两个群组,各群组将通过一代理程序(Agent)随时间收集各终端电脑的中央处理器负载(另有实施例可包括内存使用状况、输出入系统使用状况等),通过记录各终端电脑的中央处理器负载历史记录建立所属的计算资源表,而中介单位31则通过各代理程序撷取出该群组中各终端电脑的计算资源表,以此作为日后分配计算任务的依据。根据图标的实施例,终端电脑301,302,303可归属于一群组,而终端电脑304, 305,306则属于另一群组,各终端电脑中具有一常驻的代理程序,随时记录资源使用状况, 包括中央处理器、内存、输出入系统等的使用资源,而各群组可由一台终端电脑执行的代理程序进一步撷取各终端电脑的负载状况,依时间建立计算资源表。之后通过网络30,中介单位31可通过由各群组的代理程序撷取各计算资源表。中介单位31即如同一云端计算中心,掌控参与云端计算的各终端电脑的负载状况,其中设置一数据库,用以记载通过代理程序所撷取的各计算节点的负载信息,并依时间建立各计算节点的计算模型(依据负载历史纪录)。当接收一计算需求35时,根据计算需求中的资源需求与其掌握各端的计算资源,能够有效分配计算节点(也就是各终端电脑)。上述计算资源表主要包括由各计算节点的负载历史记录依据时间顺序排列得出的一个计算模型(Pattern),包括各计算节点的节点标识符,范例可参考图4,其中记载有各时间点的资源负载等级;而计算需求35中则至少提出计算节点数量、计算起始时间与计算长度等的需求,其中节点数量为需要的计算资源数量,比如需要执行计算的终端电脑的数量,或是中央处理器的数目;计算起始时间则是开始计算的时间,可对应到各计算节点中计算模型的时间点;计算长度则是此计算任务要求的完成时间。本发明则参考上述各计算节点的计算模型,根据由计算需求得出的计算节点数量、计算起始时间与计算长度等参数,经计算得出各计算节点的可用度(Availability)与信心度(Confidence),可用度表示该计算节点的可用资源程度,而信心度则反应出该计算节点配合该计算需求的程度,两者交互运算,可得各计算节点的资源期望值,经排序后,资源期望值愈高,愈是符合该计算需求。图3中的资源参数表33则为记载于中介单位31中数据库的数据,其中记载由负载历史记录建立各计算节点的计算模型,并记录根据每一次计算需求得出可用度与信心度,与一资源期望值,多个计算节点就有多个资源参数表33,记载着多个资源期望值。以此为依据选择参与计算任务的一或多个计算节点。可继续参考图4显示的云端计算资源排程方法的实施例,此例所描述的数值仅供说明,并不用来限制本发明实施状态。图中显示由终端电脑301撷取出的负载历史记录与因此产生的各种参数。首先显示一个执行记录,在开始执行一个计算任务之前,需要先对各终端电脑进行历史分析,执行记录即记载在各时间点(此例为0,1,2,3至24,表示一天中的24小时)的资源负载等级, 显示各计算节点的中央运算资源使用状态与对应的时间。中央运算资源的负载区分为多个负载等级,并依据时间顺序排列各时间的负载等级,以得到表示各节点负载的计算模型,此例将中央运算资源负载区分为4个等级,比如没有负载表示为0 ;负载在0至25%,表示为1 ;负载在25至50%,表示为2 ;负载在50%至 75%,表示为3 ;负载在75%至100%,表示为4。图中所示的模型为第一天在时间0至1 点的负载等级为2 ;时间1至2点的负载等级为3 ;时间2至3点的负载等级为1 ;时间3至 4点的负载等级为4,并以此类推,可根据负载历史记录推算出多天的多个时间点的负载等级。上述负载等级的另一面则是可用资源,比如负载等级为1,以区分4个等级为例, 则可用资源则为3(4-1 = 3),同理,负载等级为0,可用资源为4 ;负载等级为2,可用资源为2 ;负载等级为3,可用资源为1 ;负载等级为4,可用资源为0。图中相对第一天负载等级 {2,3,1,4,2, ...,1}的可用资源为{2,1,3,0,2, · · ·,3};相对第二天负载等级{3,1,2,4, 4,···,2}的可用资源为{1,3,2,0,0,... ,2};相对第三天负载等级{2,1,4,4,2,... ,2}的可用资源为{2,3,0,0,2,...,2},并以此类推到其他时间。若记录至一个月,应有30笔长度为24的计算模型。通过可用资源,可得出在一定时间内的可用度(Availability),在本发明实施例中,可用度主要是根据计算需求中的参数而产生,主要是根据计算需求中的计算长度与计算起始时间,将计算模型中各负载等级符合需求中计算长度的可用资源值相加,即得出可用度。如此例中,若需求的计算起始时间为0点开始,而计算长度为3 (此例为3小时),则将由0点开始的可用资源值加到3点,如此终端电脑201在此需求下第一天的可用度为2+1+3 =6、第二天为1+3+2 = 6、第三天为2+3+0 = 5。接着是计算信心度,信心度反应特定计算节点符合特定计算需求的程度,在本发明中,信心度等于某一长度的计算模型的数量除以长度为1的相关计算模型的数量。举例来说,此例中计算长度为3,若要计算此终端电脑的计算模型{2,3,0}的信心度,则是先得出此终端电脑的计算模型{2,3,0}的数量(设为第一数量),再与此计算模型{2,3,0}为相同起始时间点与相同的第一个可用资源值但长度为1的计算模型{2}的数量(设为第二数量)作关联运算,以求得信心度,实施例中,信心度为第一数量(分子)除以第二数量(分母)。经得出于特定计算起始时间与计算长度的条件下的可用度与信心度后,可得一资源期望值,此资源期望值即以各计算节点的可用资源与特定计算模型所占比例为基础的参考值,在本发明实施例中,资源期望值等于可用度乘上信心度,资源期望值愈高,表示该计算节点愈符合计算需求。在分散计算的观念下,会将计算任务同时分配给不同的计算节点, 而计算节点的筛选则是依据资源期望值的大小排列。再举一例,若有一计算节点在计算长度为5的需求下有一计算模型为{23142},其可用度为2+1+3+0+2 = 8 (负载等级为4),在一段时间内此计算模型的数量为17,而在相同起始时间下,计算模型{2}的数量则是23,表示此计算模型{23142}的信心度为17/23 = 0.74。而资源期望值为8 (可用度)乘上0.74 (信心度)=5.92。期望值越高则代表该笔计算模型能够提供的可用度越大。图5显示为本发明云端计算资源排程方法中期望值的计算流程。在此方法开始之初,各计算节点已经通过一代理程序记录了一段时间的负载历史,执行相关计算的中介单位则通过代理程序撷取各计算节点的负载历史记录,并记录于数据库中(步骤S501)。根据负载等级的区分,接着依据负载历史记录得出各时间点的负载等级(步骤S503),此即建立了各计算节点的计算模型。由数据库撷取出各计算节点的负载等级(51),能得出各节点的资源可用等级,也就是图4所述的可用资源(步骤S505)。接着,应用此云端计算资源排程方法的系统接收一计算需求(步骤S507),根据计算需求,系统引入计算数量、计算起始时间、长度并配合计算模型(52),则可计算得出各节点的可用度(步骤S509)与信心度(步骤S511)。其中信心度的计算包括先计算得出符合计算需求中的计算长度与计算起始时间的计算模型的数量(第一数量),接着在计算得出符合使需求中计算起始时间,而小于计算长度的计算模型的数量(第二数量),比如计算长度为3,则可以长度为1或是2的相同计算模型的数量作为计算分母,第一数量为分子,除以作为分母的第二数量即为此信心度。而引入可用度与信心度(53),则能计算出资源期望值(步骤S513),每个计算节点将具有多个资源期望值,比如一天中对于一个计算需求会得出一个资源期望值,经曲平均值,再经资源期望值大小排序后(步骤S515),依据计算需求与各计算节点的资源期望值选择一或多个计算节点。图5流程产生的各节点于特定计算模型中,根据起始时间与计算长度可以得出一个资源期望值,此期望值则应用于选择计算节点执行计算任务,流程可参考图6显示的云端计算资源排程方法的实施例流程图。如开始步骤S601,接收一计算需求,接着由数据库撷取出经一段时间收集的各计算节点的计算资源表,此时引入各节点的计算模型(步骤S603),并经由如图5所示的流程,根据计算需求中的计算初始时间、计算长度与所需的计算节点数量,计算得出各节点的特定计算模型的资源期望值(步骤S605),计算模型的选取则依据云端计算的实际架构而定。经计算资源期望值后,期望值的大小排序成为依需求选择计算节点的参考依据(步骤 S607),期望值愈高,表示愈符合该计算需求。经选择了计算节点,即开始执行计算任务(步骤S609),依据计算起始时间、长度与节点数量分配计算任务,根据实施例,主要是根据多个资源期望值的大小排序,通过网络连接手段分配计算任务给多个计算节点(步骤S611)。最后,在完成计算任务后,经整合各计算节点的结果,得出一计算结果。综上所述,根据本发明实施例,云端计算资源排程方法主要是由各计算节点的负载历史记录建立相对各节点的计算资源表,根据负载历史记录建立计算模型,以此为依据得出各节点的资源期望值,再据以选择与分配任务给符合需求的多个计算节点,能产生较有效率的云端计算。但是,以上所述仅为本发明的较佳可行实施例,非因此即局限本发明的权利要求, 故凡运用本发明说明书及附图内容所为的等效结构变化,均同理包含于本发明的保护范围内,特此声明。
权利要求
1.一种云端计算资源排程方法,利用多个终端电脑的计算资源负载历史记录作为资源排程的基础,其特征在于,所述的方法包括接收一计算需求;撷取多个计算节点的计算资源表,其中包括由各计算节点的负载历史记录得出的一计算模型;根据该计算需求与该计算模型计算得出各计算节点的一可用度; 根据该计算需求与该计算模型计算得出各计算节点的一信心度; 由该可用度与该信心度计算得出各计算节点的一资源期望值;以及依据该计算需求与各计算节点的该资源期望值选择一个或多个计算节点; 执行一计算任务;以及根据选择的该多个计算节点分配该计算任务。
2.如权利要求1所述的云端计算资源排程方法,其特征在于,所述的计算需求至少包括一计算节点数量、一计算起始时间与一计算长度。
3.如权利要求2所述的云端计算资源排程方法,其特征在于,系依据该计算节点数量与各计算节点的期望值大小选择该一或多个计算节点执行该计算任务。
4.如权利要求1所述的云端计算资源排程方法,其特征在于,所述的多个计算节点形成一个群组,通过一代理程序记录各计算节点的负载历史记录,再利用一中介单位通过一网络撷取由该代理程序所记录的负载历史记录。
5.如权利要求4所述的云端计算资源排程方法,其特征在于,所述的中介单位具有一资源参数表,用以记载各计算节点的节点标识符与计算模型,更包括根据该计算需求得出的一计算节点数量、一计算起始时间、一计算长度,与由该计算需求计算得出的可用度与信心度。
6.如权利要求1所述的云端计算资源排程方法,其特征在于,所述的负载历史记录包括各计算节点的中央运算资源使用状态与对应的时间,再根据该中央运算资源的负载区分为多个负载等级,并依据时间顺序排列各时间的负载等级,以得到该计算模型。
7.如权利要求6所述的云端计算资源排程方法,其特征在于,根据该计算需求中的一计算长度与一计算起始时间,将该计算模型中各负载等级符合该计算长度的可用资源值相加,即得出该可用度;再根据该计算长度与该计算起始时间得出该信心度,该信心度的计算方法包括计算得出符合该计算长度与该计算起始时间的该计算模型的一第一数量; 计算得出符合该计算起始时间,而小于该计算长度的该计算模型的一第二数量;以及该第一数量为一分子,除以作为一分母的该第二数量即为该信心度。
8.如权利要求1所述的云端计算资源排程方法,其特征在于,所述的信心度乘以该可用度得出该资源期望值。
9.一种云端计算资源排程系统,应用权利要求1所述的云端计算资源排程方法,其特征在于,所述的云端计算资源排程系统包括多个计算节点,该多个计算节点区分为一或多个群组,各群组由执行一代理程序撷取各计算节点的负载信息,并建立各计算节点的一计算资源表;一中介单位,记载由各代理程序所撷取的各计算节点的该计算资源表,其中至少包括一节点标识符与一计算模型,并接收一计算需求,该计算需求包括一计算节点数量、一计算长度、一计算起始时间,根据该计算需求分配该多个计算节点计算任务;以及其中,利用一网络链接该多个计算节点与该中介单位。
10.如权利要求9所述的云端计算资源排程系统,其特征在于,所述的系统更包括有一数据库,设置于该中介单位中,以记载通过该代理程序所撷取的各计算节点的负载信息,该中介单位并依时间记录各计算节点的负载历史记录,由该负载历史记录建立各计算节点的该计算模型,该中介单位根据该计算需求得出一可用度与一信心度,借以计算得出一资源期望值,该多个计算节点有多个资源期望值,并记录于该数据库中,以及,该中介单位根据该多个资源期望值的大小排序,通过该网络连接手段分配该计算任务给多个计算节点。
全文摘要
一种云端计算资源排程方法与应用的系统,主要的特征是通过记载各计算节点的负载历史记录得出计算模型,通过各计算节点的负载历史记录预测未来的计算能力,作为分配计算任务的依据,以提升云端计算能力;根据实施例,云端计算资源排程方法包括先接收一计算需求,包括有需要的计算节点数量、计算起始时间与计算的时间长度,接着根据负载历史记录建立各计算节点的计算资源表,以计算得出各计算节点的可用度与信心度,通过可用度与信心度得出符合计算需求的资源期望值,经排序后选择出一或多个计算节点,经分配后执行计算任务。
文档编号G06F9/50GK102193832SQ201010130529
公开日2011年9月21日 申请日期2010年3月11日 优先权日2010年3月11日
发明者张良毅 申请人:精英电脑股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1