《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 一種基于負(fù)載均衡的3D引擎任務(wù)調(diào)度策略
一種基于負(fù)載均衡的3D引擎任務(wù)調(diào)度策略
2017年電子技術(shù)應(yīng)用第5期
鄧 藝,田 澤,韓立敏
中航工業(yè)西安航空計(jì)算技術(shù)研究所,陜西 西安710065
摘要: 針對(duì)3D引擎內(nèi)如何合理調(diào)度、高效分配統(tǒng)一著色架構(gòu)中的染色器資源問(wèn)題,提出一種基于負(fù)載均衡的任務(wù)調(diào)度策略和硬件設(shè)計(jì)方案。首先,分析了統(tǒng)一著色架構(gòu)GPU的圖形繪制特點(diǎn);在此基礎(chǔ)上提出了一種基于染色器預(yù)先分配的避免圖形繪制流水線死鎖策略和一種基于隊(duì)列統(tǒng)計(jì)的資源分配及負(fù)載均衡策略;最后,基于各類(lèi)復(fù)雜渲染場(chǎng)景的仿真結(jié)果證明,論文提出的調(diào)度策略可有效地降低染色器資源的空閑時(shí)長(zhǎng)和調(diào)度時(shí)間,提升了染色器資源的利用率和3D引擎的處理效率。
中圖分類(lèi)號(hào): TN401
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2017.05.013
中文引用格式: 鄧藝,田澤,韓立敏. 一種基于負(fù)載均衡的3D引擎任務(wù)調(diào)度策略[J].電子技術(shù)應(yīng)用,2017,43(5):55-59.
英文引用格式: Deng Yi,Tian Ze,Han Limin. A task scheduling strategy for 3D engine based on load balance[J].Application of Electronic Technique,2017,43(5):55-59.
A task scheduling strategy for 3D engine based on load balance
Deng Yi,Tian Ze,Han Limin
Xi′an Aeronautics Computing Technique Research Institute,AVIC,Xi′an 710065,China
Abstract: For the problem of how to logically schedule and efficiently allocation the shader resources of unified shader architecture inside of 3D engine, this paper proposes a task scheduling strategy and a hardware design scheme based on load balancing. Firstly, this paper analyses the characteristics of graphics rendering of unified architecture GPU. Secondly, based on the above analysis, two strategies are put forward. One is shader pre-allocating strategy which can avoid deadlock in graphing pipeline, another is resource scheduling and load balancing strategy based on queue statistics. Finally, the results of all simulation tests with complex rendering scene proves that the strategy proposed on this paper can reduce idle time and increase usage rate of shader resources as well as enhance processing efficient of 3D engine.
Key words : schedule;load balance;unified architecture;Graphic Processing Unit(GPU)

0 引言

    3D引擎是圖形處理器(Graphics Processing Unit,GPU)的關(guān)鍵和核心,GPU技術(shù)經(jīng)過(guò)十多年發(fā)展,其硬件架構(gòu)和圖形流水線經(jīng)歷了從固定功能、分離渲染到統(tǒng)一渲染的三個(gè)發(fā)展階段,實(shí)現(xiàn)復(fù)雜圖形高效繪制,滿足日益多樣的圖形處理應(yīng)用需求。統(tǒng)一渲染架構(gòu)3D引擎內(nèi)單個(gè)統(tǒng)一染色器具備分時(shí)復(fù)用處理頂點(diǎn)或像素渲染任務(wù)的能力,可有效提升3D引擎計(jì)算核心的資源利用效率,是目前主流GPU廠商廣泛采用的3D引擎架構(gòu)。

    圖形處理器的處理性能、吞吐量和資源利用效率與實(shí)施不同的任務(wù)調(diào)度實(shí)現(xiàn)策略密切相關(guān)。任務(wù)調(diào)度策略是統(tǒng)一渲染架構(gòu)3D引擎設(shè)計(jì)的關(guān)鍵及核心,通過(guò)對(duì)統(tǒng)一染色器執(zhí)行狀態(tài)的統(tǒng)一管理、執(zhí)行時(shí)間和執(zhí)行資源的統(tǒng)一調(diào)度,實(shí)現(xiàn)渲染任務(wù)的分配和染色器的狀態(tài)監(jiān)控功能。目前統(tǒng)一架構(gòu)3D引擎的調(diào)度策略設(shè)計(jì)面臨眾多挑戰(zhàn),而國(guó)內(nèi)相關(guān)領(lǐng)域的研究仍處于初級(jí)階段,許多關(guān)鍵技術(shù)需要進(jìn)一步探索和研究。

    本文在分析統(tǒng)一架構(gòu)GPU的圖形繪制特點(diǎn)及現(xiàn)有調(diào)度策略的基礎(chǔ)上,提出了基于染色器預(yù)先分配的避免圖形繪制流水線死鎖策略,基于隊(duì)列統(tǒng)計(jì)的資源分配及負(fù)載均衡策略,實(shí)現(xiàn)染色器資源有限條件下多類(lèi)型任務(wù)(頂點(diǎn)任務(wù)、像素任務(wù)等)的合理分配和統(tǒng)一管理,降低了調(diào)度方案硬件實(shí)現(xiàn)的復(fù)雜度,同時(shí)確保了高效的調(diào)度性能。論文給出基于負(fù)載均衡調(diào)度策略相關(guān)電路設(shè)計(jì),各類(lèi)復(fù)雜渲染場(chǎng)景的仿真結(jié)果表明這種負(fù)載均衡調(diào)度策略可有效地降低染色器資源的空閑時(shí)長(zhǎng)和調(diào)度時(shí)間,提升染色器資源的利用率和3D引擎的處理效率。

1 統(tǒng)一渲染架構(gòu)3D引擎任務(wù)調(diào)度技術(shù)概述

    基于對(duì)3D引擎圖形流水線的研究,統(tǒng)一渲染架構(gòu)之前的性能瓶頸主要在于像素渲染階段,即使分離渲染架構(gòu)中將1:3作為頂點(diǎn)與像素渲染引擎的黃金比例,依然無(wú)法適應(yīng)復(fù)雜多變的渲染場(chǎng)景的需求,因此資源利用率不足成為限制GPU性能提升的關(guān)鍵[1]。作為支持多任務(wù)的計(jì)算平臺(tái),統(tǒng)一渲染架構(gòu)3D引擎中每個(gè)計(jì)算單元的任務(wù)處理效率可能不同,為充分利用系統(tǒng)資源,需要3D引擎具備監(jiān)控以及動(dòng)態(tài)調(diào)度計(jì)算核心的能力。同時(shí),統(tǒng)一渲染架構(gòu)3D引擎的核心處理性能主要由其任務(wù)調(diào)度能力和各個(gè)流處理器核的執(zhí)行能力表征,因而兼顧靈活、高效以及可靠的任務(wù)調(diào)度與資源分配方案是統(tǒng)一渲染架構(gòu)的3D引擎研究重點(diǎn)和關(guān)鍵技術(shù)。

    根據(jù)任務(wù)性質(zhì)將任務(wù)調(diào)度問(wèn)題劃分為靜態(tài)和動(dòng)態(tài)的調(diào)度。某些具有確定處理時(shí)間、可預(yù)測(cè)的數(shù)據(jù)同步問(wèn)題,甚至是各個(gè)任務(wù)數(shù)據(jù)之間確定依賴(lài)關(guān)系的問(wèn)題,屬于靜態(tài)調(diào)度問(wèn)題[2]。相較而言,某些需要適應(yīng)性更強(qiáng)的調(diào)度方案方能充分解決的問(wèn)題,屬于動(dòng)態(tài)調(diào)度問(wèn)題。動(dòng)態(tài)調(diào)度避免了因資源浪費(fèi)導(dǎo)致的利用率不足和因資源過(guò)度利用造成的漫長(zhǎng)響應(yīng)時(shí)間,但是動(dòng)態(tài)調(diào)度中良好的適應(yīng)性往往需要更復(fù)雜的調(diào)度設(shè)計(jì)才能實(shí)現(xiàn)[3],因此減少調(diào)度開(kāi)銷(xiāo)和調(diào)度時(shí)間成為動(dòng)態(tài)調(diào)度設(shè)計(jì)的關(guān)鍵。目前更為常見(jiàn)的調(diào)度策略使用靜態(tài)和動(dòng)態(tài)調(diào)度相結(jié)合的方式,尋求調(diào)度性能與調(diào)度開(kāi)銷(xiāo)之間的平衡。

    任務(wù)調(diào)度問(wèn)題根據(jù)負(fù)載是否均衡分為基于負(fù)載均衡和負(fù)載非均衡的調(diào)度。負(fù)載均衡的調(diào)度能夠通過(guò)均衡各核心負(fù)載減少任務(wù)的平均響應(yīng)時(shí)間;負(fù)載非均衡通過(guò)減少調(diào)度一組任務(wù)的調(diào)度器和調(diào)度資源來(lái)降低能耗。通常認(rèn)為負(fù)載非均衡算法更適合于實(shí)時(shí)任務(wù)分配[4],基于負(fù)載均衡的調(diào)度策略具有通用性和良好的局部性。

    基于目前對(duì)GPU的任務(wù)調(diào)度策略的研究,Video Core采用優(yōu)先向頂點(diǎn)任務(wù)分配資源的策略[5],AMD的GCN系列芯片在僅剩最后一個(gè)執(zhí)行單元中的最后一個(gè)warp空位時(shí)作特殊均衡處理,其余資源充足場(chǎng)景啟用資源硬件調(diào)度[6]。對(duì)調(diào)度資源管理功能的設(shè)計(jì)策略,文獻(xiàn)[7]提出資源的預(yù)先分配和資源調(diào)度的順序性維護(hù)。

    針對(duì)統(tǒng)一渲染架構(gòu)3D引擎的任務(wù)調(diào)度策略,文獻(xiàn)[8]提出兩級(jí)循環(huán)warp任務(wù)分配策略,策略中首先將所有支持并行執(zhí)行的warp拆分為小組(例如32個(gè)warp任務(wù)可以分成4組,每組8個(gè)warp),同組warp在同一SM內(nèi)并行執(zhí)行,對(duì)每組內(nèi)的warp按優(yōu)先級(jí)排序。兩級(jí)循環(huán)即組內(nèi)的調(diào)度策略采用輪詢,組間的切換也采用輪詢的循環(huán)策略,每級(jí)調(diào)度均使用公平輪詢策略。如圖1所示,采用兩級(jí)調(diào)度的優(yōu)勢(shì)在于減少了空閑執(zhí)行單元的循環(huán)周期,提高資源利用率與計(jì)算性能。

wdz7-t1.gif

    國(guó)內(nèi)對(duì)統(tǒng)一渲染架構(gòu)的研究和探索起步較晚,主要集中于GPU架構(gòu)研究、算法優(yōu)化、功耗分析以及統(tǒng)一染色器設(shè)計(jì)等方面,但針對(duì)統(tǒng)一架構(gòu)染色器資源的管理與調(diào)度方面的研究資料較少。

2 任務(wù)調(diào)度策略設(shè)計(jì)與實(shí)現(xiàn)

2.1 任務(wù)調(diào)度模塊

    本文設(shè)計(jì)的調(diào)度策略結(jié)合動(dòng)態(tài)、靜態(tài)調(diào)度,實(shí)現(xiàn)一種基于負(fù)載均衡策略和兩級(jí)輪詢策略的任務(wù)調(diào)度電路設(shè)計(jì),實(shí)現(xiàn)3D引擎中多個(gè)任務(wù)執(zhí)行資源的合理分配調(diào)度問(wèn)題,保證高效的資源利用率。其中3D引擎包含N個(gè)流多處理器(SM)模塊,每個(gè)SM模塊中最多支持M個(gè)warp并行執(zhí)行,任務(wù)調(diào)度即調(diào)度M*N個(gè)資源以及多組頂點(diǎn)、像素warp任務(wù)在時(shí)間和空間上的分配問(wèn)題。warp是實(shí)施任務(wù)調(diào)度的基本單位。

    任務(wù)調(diào)度模塊主要包括為避免圖形流水線死鎖設(shè)計(jì)的資源預(yù)先分配模塊、資源統(tǒng)計(jì)與查找模塊和負(fù)載均衡執(zhí)行模塊,任務(wù)調(diào)度模塊設(shè)計(jì)如圖2所示。

wdz7-t2.gif

2.2 資源預(yù)先分配模塊設(shè)計(jì)

    首先,為實(shí)現(xiàn)死鎖避免策略,模塊內(nèi)部將M*N個(gè)可分配的warp計(jì)算資源采用預(yù)先分配方案,按照頂點(diǎn)任務(wù)和像素任務(wù)1:1的比例分配,即預(yù)先分配M*N/2個(gè)頂點(diǎn)warp計(jì)算資源和M*N/2個(gè)像素warp計(jì)算資源,如圖3所示。

wdz7-t3.gif

    本文以M為8、N為4為例,闡述任務(wù)調(diào)度策略。即下文提到的系統(tǒng)具有支持共計(jì)4*8個(gè)warp并行計(jì)算的能力,為保障一致性和便于描述,將系統(tǒng)各SM中的warp執(zhí)行資源由warp_ID統(tǒng)一標(biāo)識(shí),S0中執(zhí)行的warp任務(wù)編號(hào)0至7,SM1支持warp任務(wù)編號(hào)8至15,依此類(lèi)推。

2.3 資源統(tǒng)計(jì)與查找模塊設(shè)計(jì)

    資源統(tǒng)計(jì)與查找模塊的設(shè)計(jì)策略使用隊(duì)列統(tǒng)計(jì)待調(diào)度warp_ID、待釋放warp_ID和待釋放資源順序性等實(shí)時(shí)信息,并依據(jù)統(tǒng)計(jì)信息對(duì)執(zhí)行資源作統(tǒng)一管理和調(diào)度,實(shí)現(xiàn)對(duì)warp_ID和相應(yīng)執(zhí)行資源的分配與統(tǒng)計(jì)功能。資源統(tǒng)計(jì)信號(hào)包括:(1)可分配資源隊(duì)列統(tǒng)計(jì)信號(hào)queue;(2)隊(duì)列起始位置信號(hào)start;(3)隊(duì)列結(jié)束位置信號(hào)end;(4)隊(duì)列資源釋放的順序性維護(hù)指針信號(hào)release。

    設(shè)計(jì)使用兩組統(tǒng)計(jì)信號(hào)對(duì)頂點(diǎn)和像素可分配資源分別進(jìn)行統(tǒng)計(jì),并支持頂點(diǎn)與像素資源并行統(tǒng)計(jì)、查找。

    本文以頂點(diǎn)隊(duì)列統(tǒng)計(jì)信號(hào)為例,闡述資源分配統(tǒng)計(jì)信號(hào)組。

    (1)頂點(diǎn)可分配資源隊(duì)列統(tǒng)計(jì)信號(hào)queue_v統(tǒng)計(jì)當(dāng)前所有預(yù)先分配的頂點(diǎn)任務(wù)執(zhí)行資源,以warp_ID標(biāo)識(shí)。

    (2)頂點(diǎn)隊(duì)列起始位置信號(hào)start_v標(biāo)識(shí)下一個(gè)待分配warp任務(wù)在隊(duì)列中可分配的warp_ID,每當(dāng)輪詢調(diào)度分配一次任務(wù),start_v標(biāo)識(shí)位置移動(dòng)。

    (3)頂點(diǎn)隊(duì)列結(jié)束位置信號(hào)end_v標(biāo)識(shí)下一個(gè)待釋放warp_ID在隊(duì)列中的排序位置,每當(dāng)執(zhí)行資源被釋放一次,end_v標(biāo)識(shí)位置移動(dòng)。

    (4)頂點(diǎn)隊(duì)列資源釋放順序維護(hù)信號(hào)release_v標(biāo)識(shí)隊(duì)列中按照順序應(yīng)釋放的warp_ID,順序性應(yīng)保證先分配任務(wù)的執(zhí)行資源優(yōu)先釋放warp_ID。

    設(shè)計(jì)中隊(duì)列資源統(tǒng)計(jì),使用start_v和end_v在隊(duì)列中標(biāo)識(shí)位置之間的warp_ID表征當(dāng)前可分配頂點(diǎn)warp任務(wù)的空閑資源;使用release_v與start_v在隊(duì)列中標(biāo)識(shí)位置之間的warp_ID表征當(dāng)前執(zhí)行頂點(diǎn)warp任務(wù)的繁忙資源。

    頂點(diǎn)資源統(tǒng)計(jì)信號(hào)組的初始狀態(tài)、資源分配操作以及資源釋放操作如圖4所示。像素類(lèi)資源統(tǒng)計(jì)信號(hào)組原理相同。

wdz7-t4.gif

2.4 負(fù)載均衡模塊設(shè)計(jì)

    負(fù)載均衡策略設(shè)計(jì)中,基于像素染色器是制約渲染性能的主要因素[9],當(dāng)染色器資源有限時(shí),優(yōu)先分配資源處理像素任務(wù);由于負(fù)載均衡操作中可能會(huì)同時(shí)改變頂點(diǎn)和像素統(tǒng)計(jì)隊(duì)列中的統(tǒng)計(jì)信息,負(fù)載均衡操作中需鎖定當(dāng)前隊(duì)列統(tǒng)計(jì)狀態(tài),其他操作等待負(fù)載均衡結(jié)束后執(zhí)行。負(fù)載均衡策略不能并行執(zhí)行,每次負(fù)載均衡操作僅分配一個(gè)warp_ID資源。

    本文在負(fù)載均衡設(shè)計(jì)中將負(fù)載不均衡的場(chǎng)景分為三類(lèi):

    第一類(lèi)場(chǎng)景:當(dāng)頂點(diǎn)或者像素類(lèi)型的空閑資源僅剩一個(gè)時(shí),而另一類(lèi)型預(yù)先分配資源或有效資源還有較多空閑,需要將空閑類(lèi)型的執(zhí)行資源由負(fù)載均衡操作轉(zhuǎn)換為繁忙類(lèi)型的執(zhí)行資源執(zhí)行待分配的warp_ID;

    第二類(lèi)場(chǎng)景:當(dāng)頂點(diǎn)與像素類(lèi)型的空閑資源均僅剩一個(gè)時(shí),若頂點(diǎn)任務(wù)和像素任務(wù)均請(qǐng)求分配資源或僅頂點(diǎn)任務(wù)請(qǐng)求分配資源,則不進(jìn)行負(fù)載均衡操作,各自分配隊(duì)列統(tǒng)計(jì)中的warp_ID;

    第三類(lèi)場(chǎng)景:當(dāng)頂點(diǎn)與像素類(lèi)型的空閑資源均僅剩一個(gè)時(shí),若像素任務(wù)請(qǐng)求分配資源,則進(jìn)行負(fù)載均衡操作,將頂點(diǎn)分配隊(duì)列統(tǒng)計(jì)中的warp-ID均衡為像素隊(duì)列中待分配的warp_ID;若僅頂點(diǎn)任務(wù)請(qǐng)求分配資源,不執(zhí)行負(fù)載均衡操作。

    本文以第一類(lèi)場(chǎng)景為例,闡述負(fù)載均衡操作流程。如圖5所示,當(dāng)像素隊(duì)列中可分配資源不足,而頂點(diǎn)可分配資源充足,將end_v信號(hào)移動(dòng)至其在隊(duì)列中前一位置的warp_ID,將指向的warp_ID分配給像素類(lèi)資源,則頂點(diǎn)隊(duì)列負(fù)載均衡操作完成;end_p信號(hào)當(dāng)前位指向的隊(duì)列位置寫(xiě)入頂點(diǎn)隊(duì)列均衡的warp_ID,隨后end_p向高位移動(dòng),指向下一組warp_ID釋放位置,像素隊(duì)列負(fù)載均衡操作完成。

wdz7-t5.gif

3 實(shí)驗(yàn)結(jié)果及性能分析

    本文調(diào)度性能驗(yàn)證基于虛擬仿真平臺(tái)實(shí)現(xiàn),平臺(tái)主要包括主機(jī)接口模型、頂點(diǎn)任務(wù)發(fā)送模型、像素任務(wù)發(fā)送模型、CPR時(shí)鐘模塊和統(tǒng)一染色器組模型。基于負(fù)載均衡的任務(wù)調(diào)度模塊搭建的仿真驗(yàn)證平臺(tái)如圖6所示。

wdz7-t6.gif

    主機(jī)接口模型通過(guò)寄存器讀寫(xiě)配置整個(gè)平臺(tái)模型的各項(xiàng)參數(shù)信息;頂點(diǎn)任務(wù)和像素任務(wù)模型按照3D引擎的數(shù)據(jù)發(fā)送規(guī)則向任務(wù)調(diào)度模塊發(fā)送需要調(diào)度的數(shù)據(jù)warp信息;CPR時(shí)鐘模塊生成整個(gè)平臺(tái)的時(shí)鐘與復(fù)位信號(hào);統(tǒng)一染色器陣列模型通過(guò)接收任務(wù)調(diào)度模塊的任務(wù)調(diào)度信息和數(shù)據(jù)信息,執(zhí)行計(jì)算warp數(shù)據(jù)(vertex_data和pixel_data)操作,操作完成后依據(jù)任務(wù)調(diào)度模塊的調(diào)度釋放執(zhí)行資源。

    驗(yàn)證中采用多種負(fù)載均衡策略、多種虛擬渲染場(chǎng)景對(duì)比驗(yàn)證,其中:

    (1)調(diào)度策略一為執(zhí)行資源不足時(shí)優(yōu)先分配頂點(diǎn)任務(wù);

    (2)調(diào)度策略二為本文提出的負(fù)載均衡策略;

    (3)調(diào)度策略三為公平負(fù)載均衡策略,執(zhí)行資源不足時(shí)優(yōu)先執(zhí)行先分配的任務(wù),若頂點(diǎn)資源與像素資源爭(zhēng)搶同一執(zhí)行資源時(shí),使用隨機(jī)公平分配的原則。

    在所有測(cè)試場(chǎng)景頂點(diǎn)與像素任務(wù)總數(shù)一定,為模擬在圖形繪制程序中不同階段頂點(diǎn)與像素任務(wù)比例,將各任務(wù)組中頂點(diǎn)和像素warp的比例分別為(a)3:1、(b)2:1、(c)1:1、(d)1:2、(e)1:3?;趯?duì)3D引擎的調(diào)度性能的評(píng)測(cè)主要由吞吐量衡量,對(duì)一定時(shí)間內(nèi)各復(fù)雜渲染場(chǎng)景吞吐量作歸一化處理后,調(diào)度性能對(duì)比驗(yàn)證結(jié)果如圖7所示。

wdz7-t7.gif

    當(dāng)部分渲染場(chǎng)景中頂點(diǎn)類(lèi)任務(wù)較多時(shí),如任務(wù)組a、b類(lèi)場(chǎng)景中,偏向頂點(diǎn)的負(fù)載均衡策略一具有相對(duì)較好的調(diào)度性能;當(dāng)部分渲染場(chǎng)景中像素類(lèi)任務(wù)較多時(shí),如任務(wù)組d、e類(lèi)場(chǎng)景,本文提出的策略二具有突出的調(diào)度性能;公平的負(fù)載均衡策略三在不同場(chǎng)景中具有平穩(wěn)的調(diào)度性能,但均不優(yōu)越。基于像素類(lèi)任務(wù)處理性能長(zhǎng)期成為圖形渲染的性能瓶頸,多數(shù)場(chǎng)景中像素類(lèi)任務(wù)偏多[1,9],如任務(wù)組c、d、e類(lèi)場(chǎng)景在一組渲染任務(wù)中較多、占據(jù)時(shí)長(zhǎng)較長(zhǎng),本文提出的任務(wù)調(diào)度策略能夠在大多數(shù)場(chǎng)景中具有優(yōu)越的調(diào)度性能,在部分頂點(diǎn)類(lèi)任務(wù)較多的場(chǎng)景策略二調(diào)度性能良好。

    綜合以上分析,經(jīng)過(guò)多種渲染場(chǎng)景對(duì)比驗(yàn)證,本文提出的一種基于負(fù)載均衡的調(diào)度算法能夠?qū)崿F(xiàn)高效調(diào)度功能,在多種場(chǎng)景中較大幅度地提升調(diào)度效率,且設(shè)計(jì)簡(jiǎn)潔、調(diào)度開(kāi)銷(xiāo)較小并具有良好的場(chǎng)景適應(yīng)性,在不同渲染場(chǎng)景中均具有較好的負(fù)載均衡能力和調(diào)度性能。

4 結(jié)論

    結(jié)合其他調(diào)度算法策略,研究并設(shè)計(jì)、實(shí)現(xiàn)了一種基于負(fù)載均衡的3D引擎的任務(wù)調(diào)度策略,通過(guò)實(shí)現(xiàn)基于預(yù)先分配的避免死鎖策略、基于隊(duì)列統(tǒng)計(jì)和隊(duì)列順序維護(hù)的資源統(tǒng)計(jì)與查找策略、基于偏向像素設(shè)計(jì)的動(dòng)態(tài)負(fù)載均衡策略設(shè)計(jì)相關(guān)調(diào)度電路,實(shí)現(xiàn)調(diào)度復(fù)雜度較低且調(diào)度性能較高效的任務(wù)調(diào)度策略,經(jīng)多種渲染場(chǎng)景對(duì)比驗(yàn)證,具有較好的負(fù)載均衡能力及調(diào)度性能。

    目前3D引擎發(fā)展對(duì)任務(wù)調(diào)度策略提出了更高的要求,調(diào)度的多任務(wù)類(lèi)型也從圖形類(lèi)型的頂點(diǎn)和像素?cái)U(kuò)展到實(shí)時(shí)渲染、通用計(jì)算等任務(wù),未來(lái)任務(wù)調(diào)度策略還應(yīng)考慮支持多種任務(wù)并行調(diào)度的復(fù)雜調(diào)度策略,更細(xì)致的負(fù)載均衡場(chǎng)景設(shè)計(jì)以及更完備的硬件測(cè)試與性能評(píng)測(cè)設(shè)計(jì)方法。

參考文獻(xiàn)

[1] Wang Po-Han,Chen Yen-Ming,Yang Chia-Lin. A predictive shutdown technique for GPU shader processors[J].IEEE Computer Architecture Letters,2009,8(1):9-12.

[2] 賓雪蓮,楊玉海,金士堯.一種基于分組與適當(dāng)選取策略的實(shí)時(shí)多處理器系統(tǒng)的動(dòng)態(tài)調(diào)度算法[J].計(jì)算機(jī)學(xué)報(bào),2006,29(1):81-91.

[3] LIU S,QUAN G,REN S.On-line scheduling of real-time services for cloud computing. Services[C].2010 6th World Congress on IEEE,2010.

[4] 劉加海,楊茂林,雷航.共享資源約束下多核實(shí)時(shí)任務(wù)分配算法[J].浙江大學(xué)學(xué)報(bào),2014,48(1):113-117.

[5] Boardcom Corporation.VideoCore IV 3D Architecture Reference Guide[EB/OL].(2013-9-16)[2016-12-31].https://www.broadcom.com/docs/support/videocore/VideoCoreIV-AG100-R.pdf.

[6] Graphics Core Next[EB/OL].(2016-12-19)[2016-12-31].https://en.wikipedia.org/wiki/Graphics_Core_Next

[7] Jonathan Ragan-Kelley.Scheduling the Graphics Pipeline[EB/OL].(2011-8-9)[2016-12-31].http://bps11.idav.ucdavis.edu/talks/05-schedulingGraphicsPipelineWithNotes-BPS2011-raganKelley.pdf.

[8] Veynu Narasiman,Michael Shebanow.Improving GPU perfor-mance via large warps and two-level warp scheduling[C].Proceedings of the 44th Annual IEEE/ACM International Symposium on Microarchitecture ACM,2011.

[9] Pitchaya Sitthi-amorm,Jason Lawrence,Lei Yang,et al.Automated Reprojection-Based Pixel Shader Optimization[J].ACM Transactions on Graphics,2008,27(5):127.



作者信息:

鄧  藝,田  澤,韓立敏

(中航工業(yè)西安航空計(jì)算技術(shù)研究所,陜西 西安710065)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。