CN109448092A - 一种基于动态任务粒度的负载均衡集群渲染方法 - Google Patents
一种基于动态任务粒度的负载均衡集群渲染方法 Download PDFInfo
- Publication number
- CN109448092A CN109448092A CN201811346469.5A CN201811346469A CN109448092A CN 109448092 A CN109448092 A CN 109448092A CN 201811346469 A CN201811346469 A CN 201811346469A CN 109448092 A CN109448092 A CN 109448092A
- Authority
- CN
- China
- Prior art keywords
- frame
- rendering
- node
- task
- cluster
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5017—Task decomposition
-
- 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
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种基于动态任务粒度的负载均衡集群渲染方法,属于计算机集群渲染技术领域,解决粗粒度的帧间调度策略在集群规模增大时会出现明显负载不均衡以及细粒度的帧内调度策略会增加执行开销并降低作业整体性能的问题。该方法首先根据渲染节点的个数决定进行帧间调度的帧数,然后利用帧间相关性提出交错任务划分方法进行帧的分发,最后将剩余的帧拆分成多个更小粒度的区块来实现负载均衡,从而提高资源利用率,有效的平衡渲染节点之间的工作负载,提升集群渲染系统的整体性能。
Description
技术领域
本发明属于计算机集群渲染技术领域,涉及集群渲染管理系统中一种基于动态任务粒度的负载均衡方法。
背景技术
近年来,动漫影视产业的发展势头迅猛,随着3D、4D的兴起和高清动漫的趋热,作为动漫制作核心环节之一的真实感渲染也面临巨大的挑战,一些复杂镜头的单帧图像的渲染需要几个小时甚至几天才能完成。虽然过去几十年计算机的计算能力成倍增长,但是对动漫电影真实感和分辨率越来越严苛的要求导致渲染时间依然没有下降。为了按时完成任务,许多大型动画工作室都会耗费大量的金钱搭建自己的本地渲染农场或使用云渲染农场,它利用渲染任务的天然并行性,通过任务的划分在集群上并行地渲染图片,达到缩短时间的目的。
集群渲染又称作分布式渲染或者渲染农场。集群渲染系统通常分为硬件部分与软件部分。硬件部分由渲染节点与存储节点组成,渲染节点上运行着渲染软件,渲染作业在渲染节点上得到执行并输出渲染后图片;存储节点上存放渲染作业执行所需要的文件信息。集群渲染系统的软件部分是指集群渲染管理系统,该系统负责统一分配渲染节点资源和渲染作业调度,调度各个渲染作业使得各渲染作业以并行方式高效完成。
现有的渲染作业调度算法大致可分为两类:帧间调度和帧内调度。帧间调度以渲染作业中的一帧为最小任务粒度,粗粒度的任务分发降低了调度复杂度及作业的执行开销,因此广泛应用于离线渲染。而帧内调度在更细粒度上对每一帧图片进行划分,实现了帧内的并行渲染,适用于对帧率有一定要求的实时渲染。
目前,渲染领域的负载均衡研究普遍集中在面向实时渲染的帧内调度算法中。依据图元从对象空间到屏幕空间转换过程中渲染任务重新分配的位置不同,帧内调度可以分为sort-first,sort-middle和sort-last三种方式。其中,sort-first方式在几何变换前就完成了图元的分配,避免了大量图元数据在处理器之间的迁移,但容易造成负载不均衡从而影响帧率。针对此问题,一种基于历史帧渲染时间信息的动态负载均衡算法被提出,它根据上一帧的渲染时间调整子区域的划分,使下一帧每个子区域的负载相对平衡。也有利用数据的冗余存储,避免任务迁移时的数据迁移,实现了计算节点间的负载均衡的策略。利用帧内空间相关性以及更细粒度的区域划分的方法,也可以平衡各个处理器间的负载。
由于离线动漫渲染更注重作业的整体完成时间而不是每帧的渲染时间,因此细粒度的帧内调度在面向离线渲染时一方面会带来更好的负载均衡,另一方面却由于重复计算的开销影响作业的整体完成时间。而随着渲染集群规模的增大,每个计算节点的任务执行时间越来越短,粗粒度的帧间调度策略所引起的负载不均衡对并行计算加速比的影响越来越大。
发明内容
本发明为了克服上述技术在集群渲染管理平台上应用的不足,解决粗粒度的帧间调度策略在集群规模增大时会出现明显负载不均衡以及细粒度的帧内调度策略会增加执行开销并降低作业整体性能的问题。提出一种基于动态任务粒度的负载均衡方法,该方法充分考虑了粗粒度分发所引起的负载不均衡以及细粒度分发导致的开销对并行计算的加速比的影响,从而提提高资源利用率,有效的平衡渲染节点之间的工作负载,提升集群渲染系统的整体性能。
本发明的技术方案是:一种基于动态任务粒度的负载均衡集群渲染方法,其特征在于,该方法包括下述内容:
(1)根据集群渲染节点的个数,选择帧数进行粗粒度的帧间调度;
(2)利用帧间相关性,帧间调度采用交错任务划分方法将第一步挑选的帧集合分发给各个渲染节点;
(3)根据集群中渲染节点的个数将剩余的帧拆分成多个更小粒度的区块并动态分发给渲染节点;
(4)根据上述帧集合和区块,渲染对应帧,生成图片。
进一步地,步骤(1)中,对于一个包含M帧任务的渲染作业选择的帧数mbest为mbest=M-(M%R),其中集群渲染节点的个数R。
进一步地,步骤(2)中,帧间调度采用交错任务划分方法具体内容为:假设采用帧间划分方法调度的帧序列编号为1,2,3,…,mbest,每个渲染节点将会分配到E帧任务,可表示如下:
满足集合{Q|Q=Rz+p,z∈0、1、2、3…,1≤Q≤mbest}中的帧将会被分配给渲染节点p,1≤p≤R;且同时满足渲染节点k将渲染的帧集合为{k,R+k,…,(E-1)R+k},渲染节点R将渲染的帧集合为{R,2R,…,ER},其中K小于R,R为集群渲染节点的个数,mbest为帧数。
一种基于动态任务粒度的负载均衡集群渲染方法,其特征在于,该方法包括下述内容:
1)对于一个包含M帧任务的渲染作业,根据集群渲染节点的个数R,选择帧数mbest进行粗粒度的帧间调度:
其中mbest=M-(M%R) (2)
2)充分利用帧间相关性,采用面向帧间调度的交错任务划分方法;
假设采用帧间划分方法调度的帧序列编号为1,2,3,…,mbest,每个渲染节点将会分配到E帧任务,可表示如下:
满足集合{Q|Q=Rz+p,z∈0、1、2、3…,1≤Q≤mbest}中的帧将会被分配给渲染节点p,1≤p≤R;且同时满足渲染节点k将渲染的帧集合为{k,R+k,…,(E-1)R+k},渲染节点R将渲染的帧集合为{R,2R,…,ER},其中K小于R;
3)根据集群渲染节点的个数将剩余的帧拆分成多个更小粒度的区块并动态分发给渲染节点,每帧划分的区块数可表示如下:
4)根据上述帧集合和区块,渲染对应帧,生成图片。
本发明的有益效果是:
该方法首先根据渲染节点的个数决定进行帧间调度的帧数,然后利用帧间相关性提出交错任务划分方法进行帧的分发,最后将剩余的帧拆分成多个更小粒度的区块来实现负载均衡,从而提高资源利用率,有效的平衡渲染节点之间的工作负载,提升集群渲染系统的整体性能。
针对粗粒度的帧间调度策略在集群规模增大时会出现明显负载不均衡的情况,以及细粒度的帧内调度策略会增加执行开销并降低作业整体性能,本发明提出了一种基于动态任务粒度的负载均衡方法,该方法首先根据渲染节点的个数决定进行帧间调度的帧数,然后将剩余的帧拆分成多个更小粒度的区块来实现负载均衡并提升任务吞吐率。同时,本发明充分利用帧间相关性提出了一种面向帧间调度的交错任务划分方法。
附图说明
图1光线跟踪技术产生图像流程图
具体实施方式
下面对本发明作详细描述。
本发明的一种基于动态任务粒度的负载均衡方法,其特征在于,该方法包括下述内容:
(1)根据集群渲染节点的个数,挑选帧数进行粗粒度的帧间调度;
(2)利用帧间相关性,帧间调度采用交错任务划分方法将第一步挑选的帧集合分发给各个渲染节点;
(3)根据集群中渲染节点的个数将剩余的帧拆分成多个更小粒度的区块并动态分发给渲染节点。
本发明的原理是:
1、帧间调度
传统的帧间调度通常采取按帧均分的策略,对于一个包含M帧任务的渲染作业以及一个包含R个渲染节点的集群,每个渲染节点的任务量可表示为:
式中:Lr为第r个渲染节点需要渲染的帧数。
为了描述渲染节点间负载的不均衡程度,本发明引入了一个负载比(Load Ratio,LR)的概念,负载比是指最晚完成渲染的节点工作时间与所有渲染节点的平均渲染时间的比值,可表示如下:
式中:i=1,2,...,R,表示渲染节点编号,Ti表示第i个渲染节点的工作时间,Max()函数表示最晚完成渲染的节点工作时间,Avg()函数表示所有渲染节点的平均渲染时间。
由于一个渲染作业中的帧是连续的,帧间相关性使得连续帧的渲染时间差别极小,因此可表示为tf=tf-1±Δ。其中tf表示第f帧的渲染时间,tf-1表示第f-1帧的渲染时间,Δ是一个极小值。那么可以得到如下结论:
tf=t1±(f-1)Δ (7)
式中:t1表示第1帧的渲染时间,ti表示第i帧的渲染时间,δΔ是负载最大节点渲染的所有帧相比t1时间差之和。
可以看到,随着渲染节点数目R的增长,LR的值会不断增大,即负载不平衡的程度会不断增大,主要原因是当帧数无法被渲染节点数整除时,一些节点会多渲染一帧,而随着节点数的增加和平均时间的减少,这一帧的渲染时间对并行计算加速比的影响会越来越大。
2、帧内调度
帧内调度会将每帧图片的渲染拆分为更小粒度的区块的渲染,随着渲染节点数目的增加,粒度可以不断减小,因此有助于实现更好的负载均衡。
然而,更小的粒度往往意味着更多的重复计算。附图1表示利用光线跟踪技术产生图像的一般步骤,多个渲染节点对帧内多个区块的并行渲染会重复解析场景描述文件,影响区块并行渲染的加速比。区域划分后几何图元在边界上的重叠也会导致图元的重复渲染。如果采取按屏幕均分的策略,则每帧的渲染时间为:
tmn=wbefore+Max(regioni)+wafter (9)
式中:tmn为第m帧在使用n个渲染节点的渲染时间,wbefore为解析场景描述文件的时间,regioni为第i个区域的渲染主循环时间,Max(regioni)表示取所有划分区域中渲染主循环时间的最大值,wafter为渲染后处理时间,loop1为一个渲染节点下渲染主循环时间。
因此,帧内调度的策略并不能很好地适用于离线渲染,细粒度调度所导致的过多重复计算和场景文件加载会严重影响整个渲染作业的并行效率。
结合上述两种策略,本发明提出一种基于动态任务粒度的负载均衡方法,所采用的技术方案如下:
1)对于一个包含M帧任务的渲染作业,根据集群渲染节点的个数R,挑选合适的帧数mbest进行粗粒度的帧间调度,mbest定义如下:
mbest=M-(M%R) (11)
2)充分利用帧间相关性,采用面向帧间调度的交错任务划分方法。
形式化地,假设采用帧间划分方法调度的帧序列编号为S=1,2,3,…,mbest,每个渲染节点将会分配到E帧任务,可表示如下:
通常,传统的划分策略会将第(p-1)E+1帧至第pE帧分给渲染节点p(第p个节点),根据上述分析,这种策略有较大的概率出现严重的不平衡情况。
为了减少不平衡的可能以及不平衡的程度,本发明提出了一种帧间交错任务划分方法。与传统的策略不同,集合{Q|Q=Rz+p,z∈0和N,1≤Q≤mbest}中的帧将会被分配给渲染节点p(第p个节点,1≤p≤R),这意味着每个渲染节点不会渲染连续的帧。也就是说,渲染节点1(第一个节点)将渲染的帧集合为{1,R+1,…,(E-1)R+1},渲染节点k(第k个节点)将渲染的帧集合为{k,R+k,…,(E-1)R+k},而渲染节点R(第R个节点)将渲染的帧集合为{R,2R,…,ER},以此类推。
3)根据集群渲染节点的个数将剩余的帧拆分成多个更小粒度的区块并动态分发给渲染节点,每帧划分的区块数可表示如下:
结合帧间调度和帧内调度策略,本发明提出一种基于动态任务粒度的负载均衡方法,下面将结合实例来详细说明本发明的调度过程。
1)假设集群渲染节点的个数R的数值是3,渲染作业中帧数M的数值是10,那么用于粗粒度帧间调度的帧数mbest=M-(M%R)=9。
2)利用帧间相关性,采用面向帧间调度的交错任务划分方法。
也就是说,采用帧间划分方法调度的帧序列编号为S∈1,2,3,…,9,那么每个渲染节点将会分配到E帧任务,根据本发明提出的帧间交错任务划分方法,第1个渲染节点将渲染的帧集合为{1,4,7},第2个渲染节点将渲染的帧集合为{2,5,8},第3个渲染节点将渲染的帧集合为{3,6,9}。以此均衡每个渲染节点的工作负载。
3)将剩余的帧(数值是1)分成多个更小粒度的区块并动态分发给渲染节点,每帧划分的区块数
Claims (4)
1.一种基于动态任务粒度的负载均衡集群渲染方法,其特征在于,该方法包括下述内容:
(1)根据集群渲染节点的个数,选择帧数进行粗粒度的帧间调度;
(2)利用帧间相关性,帧间调度采用交错任务划分方法将第一步挑选的帧集合分发给各个渲染节点;
(3)根据集群中渲染节点的个数将剩余的帧拆分成多个更小粒度的区块并动态分发给渲染节点;
(4)根据上述帧集合和区块,渲染对应帧,生成图片。
2.根据权利要求1所述的一种基于动态任务粒度的负载均衡集群渲染方法,其特征在于,步骤(1)中,对于一个包含M帧任务的渲染作业,选择的帧数mbest为mbest=M-(M%R),其中集群渲染节点的个数R。
3.根据权利要求1所述的一种基于动态任务粒度的负载均衡集群渲染方法,其特征在于,步骤(2)中,帧间调度采用交错任务划分方法具体内容为:假设采用帧间划分方法调度的帧序列编号为1,2,3,…,mbest,每个渲染节点将会分配到E帧任务,可表示如下:
满足集合{Q|Q=Rz+p,z∈0、1、2、3…,1≤Q≤mbest}中的帧将会被分配给渲染节点p,1≤p≤R;且同时满足渲染节点k将渲染的帧集合为{k,R+k,…,(E-1)R+k},渲染节点R将渲染的帧集合为{R,2R,…,ER},其中K小于R,R为集群渲染节点的个数,mbest为帧数。
4.一种基于动态任务粒度的负载均衡集群渲染方法,其特征在于,该方法包括下述内容:
1)对于一个包含M帧任务的渲染作业,根据集群渲染节点的个数R,选择帧数mbest进行粗粒度的帧间调度:
其中mbest=M-(M%R) (2)
2)充分利用帧间相关性,采用面向帧间调度的交错任务划分方法;
假设采用帧间划分方法调度的帧序列编号为1,2,3,…,mbest,每个渲染节点将会分配到E帧任务,可表示如下:
满足集合{Q|Q=Rz+p,z∈0、1、2、3…,1≤Q≤mbest}中的帧将会被分配给渲染节点p,1≤p≤R;且同时满足渲染节点k将渲染的帧集合为{k,R+k,…,(E-1)R+k},渲染节点R将渲染的帧集合为{R,2R,…,ER},其中K小于R;
3)根据集群渲染节点的个数将剩余的帧拆分成多个更小粒度的区块并动态分发给渲染节点,每帧划分的区块数可表示如下:
4)根据上述帧集合和区块,渲染对应帧,生成图片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811346469.5A CN109448092B (zh) | 2018-11-13 | 2018-11-13 | 一种基于动态任务粒度的负载均衡集群渲染方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811346469.5A CN109448092B (zh) | 2018-11-13 | 2018-11-13 | 一种基于动态任务粒度的负载均衡集群渲染方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109448092A true CN109448092A (zh) | 2019-03-08 |
CN109448092B CN109448092B (zh) | 2023-04-28 |
Family
ID=65551042
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811346469.5A Active CN109448092B (zh) | 2018-11-13 | 2018-11-13 | 一种基于动态任务粒度的负载均衡集群渲染方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109448092B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110445994A (zh) * | 2019-08-21 | 2019-11-12 | 成都索贝数码科技股份有限公司 | 基于帧间切分的集群化实现大幅面多层实时编辑的方法 |
CN116912385A (zh) * | 2023-09-15 | 2023-10-20 | 深圳云天畅想信息科技有限公司 | 视频帧自适应渲染处理方法、计算机装置及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103617062A (zh) * | 2013-12-05 | 2014-03-05 | 山东大学 | 一种柔性的渲染集群动态部署系统与方法 |
CN108415766A (zh) * | 2018-03-06 | 2018-08-17 | 洛阳理工学院 | 一种渲染任务动态调度方法 |
-
2018
- 2018-11-13 CN CN201811346469.5A patent/CN109448092B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103617062A (zh) * | 2013-12-05 | 2014-03-05 | 山东大学 | 一种柔性的渲染集群动态部署系统与方法 |
CN108415766A (zh) * | 2018-03-06 | 2018-08-17 | 洛阳理工学院 | 一种渲染任务动态调度方法 |
Non-Patent Citations (1)
Title |
---|
付鹏斌,等: ""基于动态反馈的集群渲染系统的实现"", 《计算机技术与应用进展》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110445994A (zh) * | 2019-08-21 | 2019-11-12 | 成都索贝数码科技股份有限公司 | 基于帧间切分的集群化实现大幅面多层实时编辑的方法 |
CN110445994B (zh) * | 2019-08-21 | 2021-10-15 | 成都索贝数码科技股份有限公司 | 基于帧间切分的集群化实现大幅面多层实时编辑的方法 |
CN116912385A (zh) * | 2023-09-15 | 2023-10-20 | 深圳云天畅想信息科技有限公司 | 视频帧自适应渲染处理方法、计算机装置及存储介质 |
CN116912385B (zh) * | 2023-09-15 | 2023-11-17 | 深圳云天畅想信息科技有限公司 | 视频帧自适应渲染处理方法、计算机装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109448092B (zh) | 2023-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11367160B2 (en) | Simultaneous compute and graphics scheduling | |
CN106056529B (zh) | 一种对用于图片识别的卷积神经网络训练的方法与设备 | |
RU2771008C1 (ru) | Способ и устройство для обработки задач на основе нейронной сети | |
EP2161685B1 (en) | Pipelined image processing engine | |
CN108920413B (zh) | 面向gpdsp的卷积神经网络多核并行计算方法 | |
US9479358B2 (en) | Managing graphics load balancing strategies | |
CN103995684B (zh) | 超高分辨率平台下的海量影像并行处理显示方法及系统 | |
CN103268253A (zh) | 一种智能化的多尺度并行渲染作业调度管理方法 | |
CN106325976B (zh) | 一种渲染任务调度处理方法及服务器 | |
CN103299347B (zh) | 基于云应用的在线渲染方法和离线渲染方法及相关装置 | |
CN109448092A (zh) | 一种基于动态任务粒度的负载均衡集群渲染方法 | |
CN110321198A (zh) | 一种容器云平台计算资源与网络资源协同调度方法及系统 | |
CN104537713B (zh) | 一种新型三维重构系统 | |
DE102020105902A1 (de) | Hardware-indexzuordnungsmechanismus | |
Li et al. | An intelligent collaborative inference approach of service partitioning and task offloading for deep learning based service in mobile edge computing networks | |
Abram et al. | Galaxy: Asynchronous ray tracing for large high-fidelity visualization | |
CN108415766A (zh) | 一种渲染任务动态调度方法 | |
Yadav et al. | A Two-Step Technique for Effective Scheduling in Cloud–Fog Computing Paradigm | |
CN104025155A (zh) | 可变深度压缩 | |
Steiner et al. | Dynamic Work Packages in Parallel Rendering. | |
Liu et al. | Design and implementation of distributed rendering system | |
CN106326186A (zh) | 一种片上系统、图形绘制方法、中间层及嵌入式设备 | |
CN106803231A (zh) | 一种基于sort‑first负载平衡的图形并行绘制方法 | |
CN101739662A (zh) | 并行图形绘制的混合式自适应体系结构设计 | |
CN104572304B (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 |