CN106325976A - 一种渲染任务调度处理方法及服务器 - Google Patents
一种渲染任务调度处理方法及服务器 Download PDFInfo
- Publication number
- CN106325976A CN106325976A CN201610857448.4A CN201610857448A CN106325976A CN 106325976 A CN106325976 A CN 106325976A CN 201610857448 A CN201610857448 A CN 201610857448A CN 106325976 A CN106325976 A CN 106325976A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- machine node
- task
- physical parameter
- scene
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例公开一种渲染任务调度方法及服务器。所述方法包括:根据调度程序框架中注册的场景调度策略,对场景任务进行选择;获取各虚拟机节点的性能值、动态负载值以及新增任务后节点动态负载值,并根据各所述虚拟机节点的性能值、新增任务后节点动态负载值获取各所述虚拟机节点的分配权重;根据所分配权重,分配帧处理任务。所述服务器用于实现所述方法。本发明实施例提供的渲染任务调度方法,可提高渲染云平台中任务调度系统的灵活性、使集群系统中各渲染节点负载均衡、提高集群系统的资源利用率。
Description
技术领域
本发明涉及计算机图像处理技术领域,具体涉及一种渲染任务调度处理方法及服务器。
背景技术
渲染是CG(Computer Graphics,计算机动画)除后期制作外的最后一道工序,也是CG制作的核心环节之一。渲染是采用计算机图形生成技术,通过对模型、光线、材质等元素的组合设定并基于渲染程序的计算,将场景文件转化成生动具体的连续帧画面的过程。
CG渲染属于计算密集型和数据密集型的应用,是一种复杂度很高的计算,特别是近年来随着精细建模手段的丰富,复杂场景中通常包含大量的几何模型、高精度的参数设置以及复杂的动作流程,因此,渲染计算需耗费大量的时间。
在时间约束下,渲染计算对硬件的计算性能和存储性能提出了很高的要求,传统的使用图形工作站的单机渲染模式已经无法满足CG行业对渲染时间的要求。随着云计算技术的发展,利用云计算的弹性服务和可扩展性的渲染模式已经成为近年来渲染行业的主流模式,它利用了渲染应用中帧与帧之间的天然并行特性,通过任务划分将任务置于云平台中并行的执行,达到缩短整体渲染时间的目的。
然而,虽然目前渲染云平台解决了传统的渲染模式中存在的部分问题,但是其自身也存在着以下不足:渲染云平台中任务调度系统存在负载不均衡、资源利用率低以及系统灵活性不高。
因此,如何提出一种方法,可提高渲染云平台中任务调度系统的灵活性、使负载均衡、提高资源利用率具有十分重要的意义。
发明内容
针对现有技术中的缺陷,本发明提供一种渲染任务调度处理方法及服务器。
一方面,本发明实施例提出一种渲染任务调度处理方法,包括:
根据可扩展的调度程序框架中注册的场景调度策略,对场景任务进行选择;
获取各虚拟机节点的性能值、动态负载值以及新增任务后节点的动态负载值,并根据各所述虚拟机节点的性能值、新增任务后节点的动态负载值获取各所述虚拟机节点的分配权重;
根据所述分配权重,分配帧处理任务。
本发明实施例提供的渲染调度处理方法,由于采用了可扩展的调度程序框架,因此可根据需求注册不同的场景调度策略对场景任务进行选择,从而提高了调度的灵活性;此外,由于获取了各虚拟机节点的相关参数,并根据所述相关参数获取各虚拟机节点的分配权重,并根据所述分配权重分配帧处理任务,因此,本发明实施例提供的渲染调度处理方法可合理地分配帧处理任务,从而使各虚拟机节点的负载更均衡,提高了资源利用率。
另一方面,本发明实施例提出一种渲染任务调度处理服务器,包括:
调度单元,用于根据调度程序框架中注册的场景调度策略对场景任务进行选择;
获取单元,用于获取各虚拟机节点的性能值、动态负载值以及新增任务后节点的动态负载值,并根据各所述虚拟机节点的性能值、新增任务后节点动态负载值获取各所述虚拟机节点的分配权重;
分配单元,用于根据所述分配权重,分配帧处理任务。
本发明实施例提供的渲染调度处理服务器,由于采用了可扩展的调度程序框架,因此可根据需求注册不同的场景调度策略对场景任务进行选择,从而提高了调度的灵活性;此外,由于获取了各虚拟机节点的相关参数,并根据所述相关参数获取各虚拟机节点的分配权重,并根据所述分配权重分配帧处理任务,因此,本发明实施例提供的渲染调度处理服务器可合理地分配帧处理任务,从而使各虚拟机节点的负载更均衡,提高了资源利用率。
附图说明
图1为本发明的渲染任务调度处理方法流程图;
图2为本发明的渲染任务调度处理方法示例流程图;
图3为本发明的渲染任务调度处理服务器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明渲染调度处理方法实施例的流程图,参看图1,本实施例公开一种渲染任务调度处理方法,包括:
S1、根据调度程序框架中注册的场景调度策略对场景任务进行选择;S2、获取各虚拟机节点的性能值、动态负载值以及新增任务后节点动态负载值,并根据各所述虚拟机节点的性能值、新增任务后节点动态负载值获取各所述虚拟机节点的分配权重;S3、根据所述分配权重,分配帧处理任务。
其中,在步骤S1中,在云服务器接收到上传的场景任务后,会将所述上传的场景任务放入排队队列,并通过调度程序框架中注册的场景调度策略对场景任务进行选择。
其中,所述调度程序框架可以注册多个调度策略插件。在进行场景任务选择前,可以根据任务特点注册相应的场景调度策略插件。当需要调用一个新的场景调度策略时,可通过新建句柄向云服务器发出注册请求,注册成功后,调度程序框架则可使用该场景调度策略对场景任务进行选择。
其中,在步骤S2中,在云服务器完成对场景任务的选择后,会在分配场景任务的帧任务前,获取各虚拟机节点的性能值、动态负载值以及新增任务后节点的动态负载值,并根据各所述虚拟机节点的性能值、新增任务后节点动态负载值获取各所述虚拟机节点的分配权重。
其中,在步骤S3中,在云服务器获取到所述各虚拟机节点的分配权重后,会将所述各虚拟机节点的分配权重与预设的阈值进行比较,若虚拟机节点的分配权重大于预设阈值,则向所述虚拟机节点分配帧处理任务。
本发明实施例提供的渲染调度处理方法,由于采用了可扩展的调度程序框架,因此可根据需求注册不同的场景调度策略对场景任务进行选择,从而提高了系统的灵活性;此外,由于获取了各虚拟机节点的相关参数,并根据所述相关参数获取各虚拟机节点的分配权重,并根据所述分配权重分配帧处理任务,因此,本发明实施例提供的渲染调度处理方法可合理地分配帧处理任务,从而使各虚拟机节点的负载更均衡,提高了资源利用率。
图2为本发明渲染任务调度处理方法实施例的流程图,参看图2,本发明实施例提供的渲染任务调度处理方法包括:
S201、注册场景调度策略,并选择相应的场景任务;
在云服务器接收到上传的场景任务后,会将所述上传的场景任务放入排队队列,并通过调度程序框架中注册的场景调度策略对场景任务进行选择。
其中,所述调度程序框架可以注册多个调度策略插件。在进行场景任务选择前,可以根据任务特点注册相应的场景调度策略插件。当需要调用一个新的场景调度策略时,可通过新建句柄向云服务器发出注册请求,注册成功后,调度程序框架则可使用该场景调度策略对场景任务进行选择。
所述场景调度策略包括:先来先服务调度策略(First Come First Server,FCFS)、短作业优先调度策略(Shortest Job First,SJF)、高响应比优先调度策略(HighestResponse-ratio Next,HRN)、高优先级优先调度策略(Highest Priority First,HPF)。
具体地,所述先来先服务调度策略按照场景任务的先后顺序进行服务,对先进入排队队列的场景任务进行优先服务。在使用所述先来先服务调度策略时,作业的平均周转时间长,提供给用户的平均服务较差。所述先来先服务调度策略适用于CPU密集型任务。
所述短作业优先调度策略主要按照任务执行时间短的优先服务的原则,优先调度排队队列中预估执行时间最短的场景任务。在渲染过程中,一般先测试场景的若干帧任务,得出所有待渲染任务的预估执行时间,然后针对时间长短进行升序排序。所述短作业优先调度策略可降低任务的平均周转时间。
所述高响应比优先调度策略主要采用场景任务响应比最高优先服务的原则。假设某个场景任务的等待时间为tW,需要执行的渲染时间为tS,则响应比RC=tW/tS+1。所述高响应比优先调度策略会计算排队队列中各场景任务的响应比RC,并进行降序排序。
所述高优先级优先调度策略主要采用场景任务优先级最高最先服务原则。其中,优先级的确定分为静态优先级和动态优先级。静态优先级在场景任务渲染已确定,渲染过程中不再改变;动态优先级在场景任务渲染前给定,在渲染过程中可根据情况的需要进行优先级的动态调整。
S202、获取各虚拟机节点的性能值;
在虚拟机节点配置成用于渲染任务处理后,云服务器会获取各虚拟机节点主动发送的性能值。
所述获取各虚拟机节点的性能值包括:
获取各虚拟机节点的物理参数;
获取与所述物理参数对应的权重值;
根据所述各虚拟机节点的物理参数以及与所述物理参数对应的权重值获取所述各虚拟机节点的性能值。
其中,所述物理参数包括CPU频率、GPU频率、内存容量以及网络带宽;所述与所述物理参数对应的权重值包括与所述CPU频率对应的第一权重值、与所述GPU频率对应的第二权重值、与所述内存容量对应的第三权重值以及与所述网络带宽对应的第四权重值。
具体地,设Si表示第i个虚拟机节点,i∈(1,2,3…n),虚拟机节点的性能值为P(Si),则
P(Si)=K1×Pcpu(Si)+K2×Pgpu(Si)+K3×Pmemory(Si)+K4×Pbandwidth(Si)
其中,Pcpu(Si)为虚拟机节点Si的CPU频率,Pgpu(Si)为虚拟机节点Si的GPU频率,Pmemory(Si)为虚拟机节点Si的内存容量,Pbandwidth(Si)为虚拟机节点Si的网络带宽;
K1为第一权重值,K2为第二权重值,K3为第三权重值,K4为第四权重值且K1+K2+K3+K4=1。其中,K1、K2、K3以及K4的值可以根据实际情况进行调整,本发明对此不作限定。
S203、获取各虚拟机节点的动态负载值;
具体地,在云服务器获取到所述各虚拟机节点主动发送的性能值后,还会获取所述各虚拟机节点每隔一个时间周期T主动发送的动态负载值。
所述获取各虚拟机节点的动态负载值包括:
获取各虚拟机节点的物理参数利用率;
获取与所述物理参数利用率对应的负载权重值;
根据所述各虚拟机节点的物理参数利用率以及与所述物理参数利用率对应的负载权重值获取所述各虚拟机节点的动态负载值。
其中,所述物理参数利用率包括:CPU利用率,GPU利用率、内存利用率以及网络带宽占用率;所述与所述物理参数利用率对应的负载权重值包括与所述CPU利用率对应的第一负载权重值、与所述GPU频率对应的第二负载权重值、与所述内存容量对应的第三负载权重值以及与所述网络带宽对应的第四负载权重值;
具体地、设Si表示第i个虚拟机节点,i∈(1,2,3…n),虚拟机节点的动态负载值为L(Si),则
L(Si)=V1×Lcpu(Si)+V2×Lgpu(Si)+V3×Lmemory(Si)+V4×Lbandwidth(Si)。
其中,Lcpu(Si)为虚拟机节点Si的CPU利用率,Lgpu(Si)为虚拟机节点Si的GPU利用率,Lmemory(Si)为虚拟机节点Si的内存利用率,Lbandwidth(Si)为虚拟机节点Si的网络带宽占用率。
V1为第一负载权重值,V2为第二负载权重值,V3为第三负载权重值,V4为第四负载权重值且V1+V2+V3+V4=1。其中,V1、V2、V3以及V4的值可以根据实际情况进行调整,本发明对此不作限定。
由于各虚拟机节点主动向云服务器发送自身的动态负载值,因此避免了云服务器因请求各虚拟机节点负载信息而导致自身负载过重的问题。
S204、获取各虚拟机节点的新增任务后节点动态负载值;
所述新增任务后节点动态负载值用于估算将渲染帧处理任务发送给虚拟机节点后,该节点是否会负载过重。
所述获取各虚拟机节点的新增任务后节点动态负载值包括:
获取场景任务中预设数量的帧测试任务增加的负载平均值;
根据所述预设数量的帧测试任务增加的负载平均值与所述各虚拟机节点的动态负载值获取所述各虚拟机节点的新增任务后节点动态负载值。
具体地,云服务器会首先获取场景任务中预设数量的帧测试任务增加的负载平均值C;例如,所述预设数量可以为9,则测试帧序分别为(0,n/4,n/2,3n/4,n,5n/4,3n/2,7n/4,2n),其中n为偶数。云服务器将选取的9个测试帧处理任务分别分配给9个虚拟机节点,则虚拟机节点通过处理测试帧处理任务,可以记录自身相应性能指标的利用率,从而可计算出每一测试帧处理任务所带来的负载;进一步地,云服务器计算9个测试帧处理任务增加的负载平均值C;所述负载平均值C可近似看作场景任务中每一帧处理任务所增加的负载;设Si表示第i个虚拟机节点,i∈(1,2,3…n),第i个虚拟机节点新增任务后节点动态负载值为L’(Si),则
L’(Si)=L(Si)+C
其中,L(Si)为第i个虚拟机节点的动态负载值。
S205、获取各虚拟机节点的分配权重;
云服务器会根据各所述虚拟机节点的性能值、新增任务后节点动态负载值获取各所述虚拟机节点的分配权重。
设Si表示第i个虚拟机节点,i∈(1,2,3…n),第i个虚拟机节点的分配权重为bi,则
bi=P(Si)-L’(Si)
其中,P(Si)为虚拟机节点Si的性能值,L’(Si)为虚拟机节点Si的新增任务后节点动态负载值。
为保证虚拟机节点稳定的运行,可根据实践经验设定阈值f(f>0)。在云服务器获取到各虚拟机节点的分配权重bi后,会将bi与阈值f比较,若bi>f,服务器则会将bi加入到预设的权重列表B的i位置,否则将权重列表B中的i位置设置标志位,例如-1。
S206、根据所述分配权重,分配帧处理任务;
对于新的帧处理任务,云服务器会优先将所述新的帧处理任务分配给权重列表B中分配权重bi最小,且相应的i位置未被设置标志位的节点Si。
优选地,云服务器还可根据帧处理任务的计算量进行排序,并在分配帧处理任务时,优先将计算量最大的帧处理任务分配给权重列表B中分配权重bi最小,且相应的i位置未被设置标志位的节点Si。
由于分配权重bi可反映出在分配到帧处理任务后,虚拟机节点Si是否接近满载,bi越小,则表明虚拟机节点Si在分配到帧处理任务后,越接近满载。因此,优先向bi最小的虚拟节点Si分配帧处理任务,可使节点Si的资源被充分利用,进而提高了所有虚拟机节点的资源利用率。
S207、判断场景任务的帧处理任务是否分配完毕;
在虚拟机节点分配到帧处理任务后,则虚拟机节点开始进行帧处理任务。同时,虚拟机节点会在下个时间周期T到来时再次向云服务器主动发送动态负载值,云服务器则重复步骤S203-S206,直到被场景调度策略选择的场景任务的所有帧处理任务分配完毕。
S208、判断是否完成所有场景任务。
在所述被场景调度策略选择的场景任务的所有帧处理任务分配完毕后,云服务器还会判断所述排队队列中是否还有场景任务。若仍有场景任务,则返回步骤S201;否则结束流程。
本发明提供的渲染任务调度处理方法,由于将场景任务的调度以及帧处理任务分开进行,因此降低了场景任务调度与帧处理任务分配的耦合度,从而提高了任务调度的灵活性。此外,由于还引入了新增任务后节点负载估算的概念,根据虚拟节点的分配权重动态地分配帧处理任务,因此可使各虚拟节点的负载均衡,提高了资源的利用率。
图3为本发明渲染任务调度处理服务器实施例的结构示意图,参看图3,本发明实施例还公开一种渲染任务调度处理服务器,包括:调度单元1、获取单元2以及分配单元3。
所述调度单元1用于根据调度程序框架中注册的场景调度策略对场景任务进行选择;所述获取单元2用于获取各虚拟机节点的性能值、动态负载值以及新增任务后节点动态负载值,并根据各所述虚拟机节点的性能值、新增任务后节点动态负载值获取各所述虚拟机节点的分配权重;所述分配单元3用于根据所述分配权重,分配帧处理任务。
本发明实施例提供的渲染调度处理服务器,由于采用了可扩展的调度程序框架,因此可根据需求注册不同的场景调度策略对场景任务进行选择,从而提高了调度的灵活性;此外,由于获取了各虚拟机节点的相关参数,并根据所述相关参数获取各虚拟机节点的分配权重,并根据所述分配权重分配帧处理任务,因此,本发明实施例提供的渲染调度处理服务器可合理地分配帧处理任务,从而使各虚拟机节点的负载更均衡,提高了资源利用率。
具体地,在服务器接收到上传的场景任务后,调度单元1会将所述上传的场景任务放入排队队列,并通过调度程序框架中注册的场景调度策略对场景任务进行选择。其中,所述调度程序框架可以注册多个调度策略插件。在进行场景任务选择前,可以根据任务特点注册相应的场景调度策略插件。当需要调用一个新的场景调度策略时,可通过新建句柄向服务器发出注册请求,注册成功后,调度单元1则可通过调度程序框架使用该场景调度策略对场景任务进行选择。
所述场景调度策略包括:先来先服务调度策略(First Come First Server,FCFS)、短作业优先调度策略(Shortest Job First,SJF)、高响应比优先调度策略(HighestResponse-ratio Next,HRN)、高优先级优先调度策略(Highest Priority First,HPF)。
具体地,所述先来先服务调度策略按照场景任务的先后顺序进行服务,对先进入排队队列的场景任务进行优先服务。在使用所述先来先服务调度策略时,作业的平均周转时间长,提供给用户的平均服务较差。所述先来先服务调度策略适用于CPU密集型任务。
所述短作业优先调度策略主要按照任务执行时间短的优先服务的原则,优先调度排队队列中预估执行时间最短的场景任务。在渲染过程中,一般先测试场景的若干帧任务,得出所有待渲染任务的预估执行时间,然后针对时间长短进行升序排序。所述短作业优先调度策略可降低任务的平均周转时间。
所述高响应比优先调度策略主要采用场景任务响应比最高优先服务的原则。假设某个场景任务的等待时间为tW,需要执行的渲染时间为tS,则响应比RC=tW/tS+1。所述高响应比优先调度策略会计算排队队列中各场景任务的响应比RC,并进行降序排序。
所述高优先级优先调度策略主要采用场景任务优先级最高最先服务原则。其中,优先级的确定分为静态优先级和动态优先级。静态优先级在场景任务渲染已确定,渲染过程中不再改变;动态优先级在场景任务渲染前给定,在渲染过程中可根据情况的需要进行优先级的动态调整。
在虚拟机节点配置成用于渲染任务处理后,获取单元2会获取各虚拟机节点主动发送的性能值。此时,获取单元2具体用于:
获取各虚拟机节点的物理参数;
获取与所述物理参数对应的权重值;
根据所述各虚拟机节点的物理参数以及与所述物理参数对应的权重值获取所述各虚拟机节点的性能值。
其中,所述物理参数包括CPU频率、GPU频率、内存容量以及网络带宽;所述与所述物理参数对应的权重值包括与所述CPU频率对应的第一权重值、与所述GPU频率对应的第二权重值、与所述内存容量对应的第三权重值以及与所述网络带宽对应的第四权重值;
具体地,获取单元2会获取虚拟机节点Si的CPU频率Pcpu(Si)、GPU频率Pgpu(Si),内存容量Pmemory(Si)以及网络带宽Pbandwidth(Si);其中,Si表示第i个虚拟机节点,i∈(1,2,3…n);
获取第一权重值K1、第二权重值K2、第三权重值K3以及第四权重值K4;所述第一权重值、第二权重值、第三权重值、第四权重值之和为1;其中,K1、K2、K3以及K4的值可以根据实际情况进行调整,本发明对此不作限定。
获取虚拟机节点Si的性能值P(Si)=K1×Pcpu(Si)+K2×Pgpu(Si)+K3×Pmemory(Si)+K4×Pbandwidth(Si)。
在获取单元2获取到所述各虚拟机节点主动发送的性能值后,还会获取所述各虚拟机节点每隔一个时间周期T主动发送的动态负载值。此时,获取单元2具体用于:
获取各虚拟机节点的物理参数利用率;
获取与所述物理参数利用率对应的负载权重值;
根据所述各虚拟机节点的物理参数利用率以及与所述物理参数利用率对应的负载权重值获取所述各虚拟机节点的动态负载值。
其中,所述物理参数利用率包括CPU利用率,GPU利用率、内存利用率以及网络带宽占用率;所述与所述物理参数利用率对应的负载权重值包括与所述CPU利用率对应的第一负载权重值、与所述GPU频率对应的第二负载权重值、与所述内存容量对应的第三负载权重值以及与所述网络带宽对应的第四负载权重值;
具体地,获取单元2会获取虚拟机节点Si的CPU利用率Lcpu(Si)、GPU利用率Lgpu(Si),内存利用率Lmemory(Si)以及网络带宽占用率Lbandwidth(Si);其中,Si表示第i个虚拟机节点,i∈(1,2,3…n);
获取第一负载权重值V1、第二负载权重值V2、第三负载权重值数V3以及第四负载权重值V4;所述第一负载权重值、第二负载权重值、第三负载权重值、第四负载权重值之和为1;其中,V1、V2、V3以及V4的值可以根据实际情况进行调整,本发明对此不作限定。
获取虚拟机节点Si的动态负载值L(Si)=V1×Lcpu(Si)+V2×Lgpu(Si)+V3×Lmemory(Si)+V4×Lbandwidth(Si)。
所述获取单元2还用于获取各虚拟机节点的新增任务后节点动态负载值。此时,获取单元2具体用于:
获取场景任务中预设数量的帧测试任务增加的负载平均值;
根据所述预设数量的帧测试任务增加的负载平均值与所述各虚拟机节点的动态负载值获取所述各虚拟机节点的新增任务后节点动态负载值。
具体地,所述获取单元2会首先获取场景任务中预设数量的帧测试任务增加的负载平均值C;例如,所述预设数量可以为9,则测试帧序分别为(0,n/4,n/2,3n/4,n,5n/4,3n/2,7n/4,2n),其中n为偶数。获取单元2将选取的9个测试帧处理任务分别分配给9个虚拟机节点,则虚拟机节点通过处理测试帧处理任务,可以记录自身相应性能指标的利用率,从而可计算出每一测试帧处理任务所带来的负载;进一步地,获取单元2计算9个测试帧处理任务增加的负载平均值C;所述负载平均值C可近似看作场景任务中每一帧处理任务所增加的负载;设Si表示第i个虚拟机节点,i∈(1,2,3…n),第i个虚拟机节点新增任务后节点动态负载值为L’(Si),则
L’(Si)=L(Si)+C
其中,L(Si)为第i个虚拟机节点的动态负载值。
所述获取单元2还用于获取各虚拟机节点的分配权重。
具体地,所述获取单元2会根据各所述虚拟机节点的性能值、新增任务后节点动态负载值获取各所述虚拟机节点的分配权重。
设Si表示第i个虚拟机节点,i∈(1,2,3…n),第i个虚拟机节点的分配权重为bi,则
bi=P(Si)-L’(Si)
其中,P(Si)为虚拟机节点Si的性能值,L’(Si)为虚拟机节点Si的新增任务后节点动态负载值。
为保证虚拟机节点稳定的运行,可根据实践经验设定阈值f(f>0)。在获取单元2获取到各虚拟机节点的分配权重bi后,会将bi与阈值f比较,若bi>f,获取单元2则会将bi加入到预设的权重列表B的i位置,否则将权重列表B中的i位置设置标志位,例如-1。
在所述获取单元2获取到各所述虚拟机节点的分配权重后,所述分配单元3会分配帧处理任务。
具体地,对于新的帧处理任务,所述分配单元3会优先将所述新的帧处理任务分配给权重列表B中分配权重bi最小,且相应的i位置未被设置标志位的节点Si。
优选地,所述分配单元3还可根据帧处理任务的计算量进行排序,并在分配帧处理任务时,优先将计算量最大的帧处理任务分配给权重列表B中分配权重bi最小,且相应的i位置未被设置标志位的节点Si。
由于分配权重bi可反映出在分配到帧处理任务后,虚拟机节点Si是否接近满载,bi越小,则表明虚拟机节点Si在分配到帧处理任务后,越接近满载。因此,优先向bi最小的虚拟节点Si分配帧处理任务,可使节点Si的资源被充分利用,进而提高了所有虚拟机节点的资源利用率。
在虚拟机节点分配到帧处理任务后,则虚拟机节点开始进行帧处理任务。同时,虚拟机节点会在下个时间周期T到来时再次向获取单元2主动发送动态负载值,获取单元2则重复收集数据,分配单元3则再次分配权重,直到被场景调度策略选择的场景任务的所有帧处理任务分配完毕。
在所述被场景调度策略选择的场景任务的所有帧处理任务分配完毕后,调度单元1还会判断所述排队队列中是否还有场景任务。若仍有场景任务,则重复上述步骤;否则结束流程。
本发明提供的渲染任务调度服务器,由于将场景任务的调度以及帧处理任务分开进行,因此降低了场景任务调度与帧处理任务分配的耦合度,从而提高了任务调度的灵活性。此外,由于还引入了新增任务后节点负载估算的概念,根据虚拟节点的分配权重动态地分配帧处理任务,因此可使各虚拟节点的负载均衡,提高了资源的利用率。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种渲染任务调度方法,其特征在于,包括:
根据调度程序框架中注册的场景调度策略对场景任务进行选择;
获取各虚拟机节点的性能值、动态负载值以及新增任务后节点动态负载值,并根据各所述虚拟机节点的性能值、新增任务后节点动态负载值获取各所述虚拟机节点的分配权重;
根据所述分配权重,分配帧处理任务。
2.根据权利要求1所述的方法,其特征在于,所述获取各虚拟机节点的性能值包括:
获取各虚拟机节点的物理参数;
获取与所述物理参数对应的权重值;
根据所述各虚拟机节点的物理参数以及与所述物理参数对应的权重值获取所述各虚拟机节点的性能值。
3.根据权利要求1所述的方法,其特征在于,所述获取各虚拟机节点的动态负载值包括:
获取各虚拟机节点的物理参数利用率;
获取与所述物理参数利用率对应的负载权重值;
根据所述各虚拟机节点的物理参数利用率以及与所述物理参数利用率对应的负载权重值获取所述各虚拟机节点的动态负载值。
4.根据权利要求1所述的方法,其特征在于,所述获取各虚拟机节点的新增任务后节点动态负载值包括:
获取场景任务中预设数量的帧测试任务增加的负载平均值;
根据所述预设数量的帧测试任务增加的负载平均值与所述各虚拟机节点的动态负载值获取所述各虚拟机节点的新增任务后节点动态负载值。
5.根据权利要求1所述的方法,其特征在于,所述根据所述分配权重,分配帧处理任务包括:
若虚拟机节点Si的分配权重大于预设阈值,则向所述虚拟机节点Si分配帧处理任务;
其中,Si表示第i个虚拟机节点,i∈(1,2,3…n)。
6.一种渲染任务调度服务器,其特征在于,包括:
调度单元,用于根据调度程序框架中注册的场景调度策略对场景任务进行选择;
获取单元,用于获取各虚拟机节点的性能值、动态负载值以及新增任务后节点动态负载值,并根据各所述虚拟机节点的性能值、新增任务后节点动态负载值获取各所述虚拟机节点的分配权重;
分配单元,用于根据所述分配权重,分配帧处理任务。
7.根据权利要求6所述的服务器,其特征在于,所述获取单元具体用于:
获取各虚拟机节点的物理参数;
获取与所述物理参数对应的权重值;
根据所述各虚拟机节点的物理参数以及与所述物理参数对应的权重值获取所述各虚拟机节点的性能值。
8.根据权利要求6所述的服务器,其特征在于,所述获取单元具体用于:
获取各虚拟机节点的物理参数利用率;
获取与所述物理参数利用率对应的负载权重值;
根据所述各虚拟机节点的物理参数利用率以及与所述物理参数利用率对应的负载权重值获取所述各虚拟机节点的动态负载值。
9.根据权利要求6所述的服务器,其特征在于,所述获取单元具体用于:
获取场景任务中预设数量的帧测试任务增加的负载平均值;
根据所述预设数量的帧测试任务增加的负载平均值与所述各虚拟机节点的动态负载值获取所述各虚拟机节点的新增任务后节点动态负载值。
10.根据权利要求6所述的服务器,其特征在于,所述分配单元具体用于:
若虚拟机节点Si的分配权重大于预设阈值,则向所述虚拟机节点Si分配帧处理任务;
其中,Si表示第i个虚拟机节点,i∈(1,2,3…n)。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2016106397042 | 2016-08-05 | ||
CN201610639704 | 2016-08-05 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106325976A true CN106325976A (zh) | 2017-01-11 |
CN106325976B CN106325976B (zh) | 2019-11-15 |
Family
ID=57820240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610857448.4A Active CN106325976B (zh) | 2016-08-05 | 2016-09-27 | 一种渲染任务调度处理方法及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106325976B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110717968A (zh) * | 2019-10-11 | 2020-01-21 | 长春理工大学 | 三维场景的计算资源请求驱动自适应云渲染方法 |
CN111355814A (zh) * | 2020-04-21 | 2020-06-30 | 上海润欣科技股份有限公司 | 一种负载均衡方法、装置及存储介质 |
CN111679911A (zh) * | 2020-06-04 | 2020-09-18 | 中国建设银行股份有限公司 | 云环境中gpu卡的管理方法、装置、设备及介质 |
CN113312151A (zh) * | 2021-06-23 | 2021-08-27 | 哈尔滨工程大学 | 一种IPSecVPN集群的负载均衡方法 |
CN114138423A (zh) * | 2021-12-13 | 2022-03-04 | 上海交通大学 | 基于国产gpu显卡的虚拟化构建系统及方法 |
CN115858177A (zh) * | 2023-02-08 | 2023-03-28 | 成都数联云算科技有限公司 | 一种渲染机资源分配方法、装置、设备及介质 |
CN117215741A (zh) * | 2023-08-29 | 2023-12-12 | 慧之安信息技术股份有限公司 | 一种基于响应比的边缘计算调度方法及系统 |
CN118118595A (zh) * | 2024-03-29 | 2024-05-31 | 联通沃音乐文化有限公司 | 一种通信网视频彩铃xr应用的构建方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2538328A1 (en) * | 2011-06-21 | 2012-12-26 | Unified Computing Limited | A method of provisioning a cloud-based render farm |
US8436867B1 (en) * | 2009-11-06 | 2013-05-07 | Pixar | System and method for generating computer graphic images by identifying variant and invariant shader arguments |
CN105262960A (zh) * | 2015-10-21 | 2016-01-20 | 北京中科大洋科技发展股份有限公司 | 一种基于集群渲染的立体电视信号编辑方法 |
CN205193879U (zh) * | 2015-10-20 | 2016-04-27 | 国家超级计算深圳中心(深圳云计算中心) | 一种云计算渲染系统 |
CN105740077A (zh) * | 2016-01-29 | 2016-07-06 | 中国联合网络通信集团有限公司 | 一种适用于云计算的任务分配方法 |
-
2016
- 2016-09-27 CN CN201610857448.4A patent/CN106325976B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8436867B1 (en) * | 2009-11-06 | 2013-05-07 | Pixar | System and method for generating computer graphic images by identifying variant and invariant shader arguments |
EP2538328A1 (en) * | 2011-06-21 | 2012-12-26 | Unified Computing Limited | A method of provisioning a cloud-based render farm |
CN205193879U (zh) * | 2015-10-20 | 2016-04-27 | 国家超级计算深圳中心(深圳云计算中心) | 一种云计算渲染系统 |
CN105262960A (zh) * | 2015-10-21 | 2016-01-20 | 北京中科大洋科技发展股份有限公司 | 一种基于集群渲染的立体电视信号编辑方法 |
CN105740077A (zh) * | 2016-01-29 | 2016-07-06 | 中国联合网络通信集团有限公司 | 一种适用于云计算的任务分配方法 |
Non-Patent Citations (2)
Title |
---|
任慧: "《含能材料无机化学基础》", 31 January 2015, 北京:北京理工大学出版社 * |
徐文莉: "三维集群渲染负载均衡技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110717968B (zh) * | 2019-10-11 | 2023-04-07 | 长春理工大学 | 三维场景的计算资源请求驱动自适应云渲染方法 |
CN110717968A (zh) * | 2019-10-11 | 2020-01-21 | 长春理工大学 | 三维场景的计算资源请求驱动自适应云渲染方法 |
CN111355814A (zh) * | 2020-04-21 | 2020-06-30 | 上海润欣科技股份有限公司 | 一种负载均衡方法、装置及存储介质 |
CN111355814B (zh) * | 2020-04-21 | 2024-04-19 | 上海润欣科技股份有限公司 | 一种负载均衡方法、装置及存储介质 |
CN111679911B (zh) * | 2020-06-04 | 2024-01-16 | 建信金融科技有限责任公司 | 云环境中gpu卡的管理方法、装置、设备及介质 |
CN111679911A (zh) * | 2020-06-04 | 2020-09-18 | 中国建设银行股份有限公司 | 云环境中gpu卡的管理方法、装置、设备及介质 |
CN113312151A (zh) * | 2021-06-23 | 2021-08-27 | 哈尔滨工程大学 | 一种IPSecVPN集群的负载均衡方法 |
CN114138423A (zh) * | 2021-12-13 | 2022-03-04 | 上海交通大学 | 基于国产gpu显卡的虚拟化构建系统及方法 |
CN114138423B (zh) * | 2021-12-13 | 2024-05-28 | 上海交通大学 | 基于国产gpu显卡的虚拟化构建系统及方法 |
CN115858177A (zh) * | 2023-02-08 | 2023-03-28 | 成都数联云算科技有限公司 | 一种渲染机资源分配方法、装置、设备及介质 |
CN115858177B (zh) * | 2023-02-08 | 2023-10-24 | 成都数联云算科技有限公司 | 一种渲染机资源分配方法、装置、设备及介质 |
CN117215741A (zh) * | 2023-08-29 | 2023-12-12 | 慧之安信息技术股份有限公司 | 一种基于响应比的边缘计算调度方法及系统 |
CN118118595A (zh) * | 2024-03-29 | 2024-05-31 | 联通沃音乐文化有限公司 | 一种通信网视频彩铃xr应用的构建方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106325976B (zh) | 2019-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106325976B (zh) | 一种渲染任务调度处理方法及服务器 | |
CN104484220B (zh) | 虚拟化集群的动态资源调度的方法及装置 | |
CN105843670A (zh) | 一种云平台虚拟集群部署整合方法 | |
CN105718364A (zh) | 一种云计算平台中计算资源能力动态评估方法 | |
CN104731528B (zh) | 一种云计算块存储服务的构建方法及系统 | |
CN107346264A (zh) | 一种虚拟机负载均衡调度的方法、装置和服务器设备 | |
CN109548031B (zh) | 一种非平衡边缘云网络接入与资源分配方法 | |
CN115134371A (zh) | 包含边缘网络算力资源的调度方法、系统、设备及介质 | |
CN110427256A (zh) | 基于优先级的作业调度优化方法、设备、存储介质及装置 | |
WO2020134133A1 (zh) | 一种资源配置方法、变电站及计算机可读存储介质 | |
CN111352727B (zh) | 一种应用于图像混合集群处理系统的图像处理方法 | |
CN103455375B (zh) | Hadoop云平台下基于负载监控的混合调度方法 | |
CN112732444A (zh) | 一种面向分布式机器学习的数据划分方法 | |
CN114595049A (zh) | 一种云边协同任务调度方法及装置 | |
CN108427602B (zh) | 一种分布式计算任务的协同调度方法及装置 | |
Shyam et al. | Resource allocation in cloud computing using agents | |
CN110167031B (zh) | 一种面向集中式基站的资源分配方法、设备及存储介质 | |
CN115421885A (zh) | 一种分布式多目标云任务的调度方法、装置及云服务系统 | |
CN104035819A (zh) | 科学工作流调度处理方法及装置 | |
CN111367655A (zh) | 一种云计算环境中gpu资源调度的方法、系统及存储介质 | |
CN105577834B (zh) | 具有可预测性能的云数据中心两层带宽分配方法及系统 | |
CN106970827A (zh) | 信息处理方法、信息处理装置、电子设备 | |
CN114217944A (zh) | 一种神经网络的针对模型并行的动态负载均衡方法 | |
CN110958192B (zh) | 一种基于虚拟交换机的虚拟数据中心资源分配系统及方法 | |
CN107491352A (zh) | 一种资源调度方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 410199 Comprehensive Building 308, No. 1318 Kaiyuan East Road, Xingsha Industrial Base, Changsha Economic and Technological Development Zone, Changsha City, Hunan Province Applicant after: Hunan Tianhe Guoyun Technology Co., Ltd. Address before: Room 2140, 2nd floor, Building 6, 72 Sanjie, Qinghe, Haidian District, Beijing 100085 Applicant before: Tianhe cloud (Beijing) Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |