亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種面向TSN業(yè)務(wù)的多VCPU自適應(yīng)實時調(diào)度方法與流程

文檔序號:11406905閱讀:388來源:國知局
一種面向TSN業(yè)務(wù)的多VCPU自適應(yīng)實時調(diào)度方法與流程

本發(fā)明屬于網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種面向tsn業(yè)務(wù)的多vcpu自適應(yīng)實時調(diào)度方法。



背景技術(shù):

車載時間敏感網(wǎng)絡(luò)(timesensitivenetwork,tsn)是一種面向音頻視頻或多媒體應(yīng)用的新型網(wǎng)絡(luò),針對音頻視頻這類實時性要求較高的業(yè)務(wù)應(yīng)用場景,tsn的時間要求高于普通異步網(wǎng)絡(luò)。在物聯(lián)網(wǎng)(internetofthings,iot)飛速發(fā)展的今天,tsn通過以太網(wǎng)音視頻橋接(ethernetaudio/videobridging)技術(shù)為核心,已經(jīng)成為iot未來發(fā)展的趨勢之一。但目前tsn網(wǎng)絡(luò)節(jié)點僅具有單一的交換功能,面對日益增長的業(yè)務(wù)容量需求和更加嚴苛的業(yè)務(wù)實時約束,tsn網(wǎng)絡(luò)的實時性調(diào)度面臨更加嚴峻的挑戰(zhàn)。

虛擬化技術(shù)作為云計算的基礎(chǔ)架構(gòu),能夠根據(jù)用戶的需求來調(diào)整資源分配,對虛擬資源進行抽象,也能夠?qū)崿F(xiàn)對單一物理服務(wù)器資源進行劃分從而產(chǎn)生多個彼此隔離的虛擬機資源。傳統(tǒng)單一的網(wǎng)絡(luò)交換節(jié)點已經(jīng)無法滿足不斷增長的業(yè)務(wù)容量及實時性需求,以虛擬化技術(shù)為基礎(chǔ),集成交換、存儲和傳輸?shù)男滦途W(wǎng)絡(luò)結(jié)構(gòu)成為了人們研究的焦點。在一個非虛擬化網(wǎng)絡(luò)系統(tǒng)中,單一的操作系統(tǒng)控制著全部硬件平臺資源,而虛擬化系統(tǒng)則可以有效地將管理權(quán)分配給虛擬機監(jiān)視器(virtualmachinemonitor,vmm)。vmm是虛擬機的核心,它位于底層硬件和操作系統(tǒng)之間,可為上層分出多個虛擬機,并保證彼此隔離,管理底層硬件的訪問權(quán),為客戶操作系統(tǒng)提供一套虛擬的硬件環(huán)境。vmm采用某種調(diào)度算法在各虛擬機中共享中央處理器(centralprocessingunit,cpu)資源。

傳統(tǒng)tsn業(yè)務(wù)調(diào)度算法僅在單一具有交換功能的節(jié)點上控制業(yè)務(wù)傳輸時延,在允許時延內(nèi)保證業(yè)務(wù)可調(diào)度,但單一的物理資源調(diào)度使得資源利用率低,且計算能力有限,無法滿足日益增長的業(yè)務(wù)需求變化和大容量音頻視頻傳輸時延要求。虛擬化技術(shù)是一種對計算機資源進行抽象模擬的技術(shù),其意圖是通過為用戶和應(yīng)用程序提供一個以異構(gòu)資源為對象的集成操作平臺,以達到提高資源利用率的目的。在tsn業(yè)務(wù)調(diào)度問題中,將傳統(tǒng)的單一交換節(jié)點通過虛擬化技術(shù)實現(xiàn)多個虛擬中央處理器(virtualcentralprocessingunit,vcpu),將底層資源抽象為多個獨立資源供上層使用,無疑可以提高tsn中業(yè)務(wù)的可調(diào)度性。

綜上所述,現(xiàn)有技術(shù)存在的問題是:傳統(tǒng)tsn業(yè)務(wù)調(diào)度存在單一物理資源使用率低,且計算能力有限的問題,無法滿足日益增長的業(yè)務(wù)需求變化和大容量音頻視頻傳輸時延要求。



技術(shù)實現(xiàn)要素:

針對現(xiàn)有技術(shù)存在的問題,本發(fā)明提供了一種面向tsn業(yè)務(wù)的多vcpu自適應(yīng)實時調(diào)度方法。

本發(fā)明是這樣實現(xiàn)的,一種面向tsn業(yè)務(wù)的多vcpu自適應(yīng)實時調(diào)度方法,所述面向tsn業(yè)務(wù)的多vcpu自適應(yīng)實時調(diào)度方法適用于分布式計算集群,將各物理服務(wù)器看作網(wǎng)絡(luò)節(jié)點,網(wǎng)絡(luò)內(nèi)業(yè)務(wù)根據(jù)需求傳輸轉(zhuǎn)發(fā),結(jié)合虛擬化技術(shù)的tsn調(diào)度能夠屏蔽底層物理資源的技術(shù)細節(jié),通過虛擬化技術(shù)將物理資源抽象成多個邏輯上獨立的虛擬資源,為上層提供統(tǒng)一的可編程接口;在多cpu計算機上開啟多個虛擬機并設(shè)置多個vcpu,在每個多vcpu虛擬機上模擬運行tsn業(yè)務(wù)類型,通過對實時任務(wù)的自適應(yīng)調(diào)度算法對各類tsn任務(wù)進行調(diào)度,采用自適應(yīng)截止期優(yōu)先調(diào)度算法(adaptiveearliestdeadlinefirst,a-edf),根據(jù)任務(wù)類型及任務(wù)量動態(tài)分配處理器資源分組,實現(xiàn)對實時任務(wù)的合理調(diào)度。

進一步,所述面向tsn業(yè)務(wù)的多vcpu自適應(yīng)實時調(diào)度方法中優(yōu)化模型以實時任務(wù)的截止期錯失率r為目標函數(shù),即:

objective:

s.t.

di(k)=(k-1)·pi+di;

在目標函數(shù)中,nm代表截止期錯失的任務(wù)數(shù),n代表任務(wù)總數(shù),優(yōu)化目標為盡可能使r接近于1,保證所有tsn任務(wù)可調(diào)度;式表示任務(wù)γi的利用率,其中ei為任務(wù)γi的理論執(zhí)行時間,pi為任務(wù)γi的周期;式表示任務(wù)集的總利用率;式di(k)=(k-1)·pi+di表示任務(wù)i第k次執(zhí)行的截止時間。

進一步,所述面向tsn業(yè)務(wù)的多vcpu自適應(yīng)實時調(diào)度方法中使用的資源模型為周期資源模型,用r=(ω,θ,m)表示,各變量具體含義如下:

ω:處理器資源的分配周期;

θ:處理器資源所能提供給調(diào)度任務(wù)的時間資源;

m:計算機的實際cpu數(shù),也即當前能提供的并行cpu數(shù)最大值;

θ/ω:定義為資源模型的帶寬。

另外,資源模型需要滿足條件:θ≤mω。

進一步,所述面向tsn業(yè)務(wù)的多vcpu自適應(yīng)實時調(diào)度方法包括以下步驟:

步驟一,在算法執(zhí)行初始階段,通過當前任務(wù)利用率δ計算分組數(shù)α,由分組數(shù)α確定內(nèi)核分配組合;

步驟二,當任務(wù)轉(zhuǎn)為實時模式并通過系統(tǒng)接口傳入內(nèi)核,將任務(wù)按照截止期的先后插入到相應(yīng)ready隊列和release隊列;

步驟三,查看所有分組隊列的cpu資源利用率,與資源利用率的閾值作比較,若存在大于閾值的隊列,進行步驟s104,若沒有,轉(zhuǎn)到步驟s107;

步驟四,查看release隊列中各實時任務(wù)的關(guān)鍵度hi,選擇關(guān)鍵度最小的任務(wù)γh作為等待遷移任務(wù);

步驟五,判斷其余分組隊列中的cpu利用率,選擇cpu利用率最小的ready隊列為目的隊列qd,將等待遷移的任務(wù)插入到隊列頭部;

步驟六,遷移關(guān)鍵任務(wù)γh到目的隊列qd中,調(diào)用主調(diào)度函數(shù),選擇下一個執(zhí)行的任務(wù);

步驟七,各分組內(nèi)依照截止期優(yōu)先原則對實時任務(wù)分配資源并完成調(diào)度;

步驟八,判斷當前任務(wù)集中的所有任務(wù)是否被執(zhí)行完,若沒有執(zhí)行完,則轉(zhuǎn)移到步驟二;若任務(wù)集中所有任務(wù)執(zhí)行結(jié)束,等待下次任務(wù)的釋放。

進一步,所述步驟一中:分組數(shù)α按如下式自適應(yīng)調(diào)整:

其中,m表示處理器內(nèi)容,δmax表示任務(wù)利用率閾值上限,δmin表示任務(wù)利用率閾值下限,δ為當前任務(wù)利用率,且當分組數(shù)帶有小數(shù)時,均向上取整;任務(wù)利用率δ和分組數(shù)α呈簡單線性映射關(guān)系。

進一步,所述步驟二中調(diào)度過程中存在ready和release兩種隊列,當任務(wù)還未釋放,插入至release隊列中等待釋放;當任務(wù)已經(jīng)釋放,插入ready隊列等待分配cpu調(diào)度。

進一步,所述步驟四中關(guān)鍵度hi評估任務(wù)γi的關(guān)鍵性,關(guān)鍵度hi的定義如下:

hi(γi)=di-reik(t)-t;

式中,di表示任務(wù)γi的絕對截止時間,reik(t)表示任務(wù)γi在第k次執(zhí)行的剩余執(zhí)行時間;關(guān)鍵度hi的大小體現(xiàn)實時任務(wù)γi的執(zhí)行關(guān)鍵程度,hi值越小,表示任務(wù)γi的執(zhí)行程度越緊急;

定義關(guān)鍵任務(wù)如下式:

γh=argmin{h(γi)}。

進一步,所述步驟五中目的隊列qd的選擇滿足以下條件:

ρ(qd)<c;

qd=argmin(qm);

其中,ρ(qd)表示目的隊列的資源利用率,c表示資源利用閾值,式ρ(qd)<c表示目的隊列的總資源利用率小于該分組的資源利用率閾值以減小遷移對目的隊列的影響,減少遷移次數(shù);式qd=argmin(qm)表示選擇當前所有分組中資源利用率最小的隊列作為目的隊列。

本發(fā)明的另一目的在于提供一種應(yīng)用所述面向tsn業(yè)務(wù)的多vcpu自適應(yīng)實時調(diào)度方法的車載時間敏感網(wǎng)絡(luò)。

本發(fā)明的優(yōu)點及積極效果為:在多cpu計算機上開啟多個虛擬機并設(shè)置多個vcpu,在每個多vcpu虛擬機上模擬運行tsn業(yè)務(wù)類型,通過一種良好的針對實時任務(wù)的自適應(yīng)調(diào)度算法對各類tsn任務(wù)進行調(diào)度,保證實時性要求高的音視頻流等業(yè)務(wù)在規(guī)定期限內(nèi)執(zhí)行;在一個分布式計算集群中,網(wǎng)絡(luò)內(nèi)業(yè)務(wù)根據(jù)需求傳輸轉(zhuǎn)發(fā),將每個物理服務(wù)器看作一個網(wǎng)絡(luò)節(jié)點,在其上應(yīng)用本發(fā)明以保證業(yè)務(wù)的實時性能;提出自適應(yīng)截止期優(yōu)先調(diào)度算法a-edf,能夠根據(jù)任務(wù)類型及任務(wù)量動態(tài)分配處理器資源分組,實現(xiàn)對實時任務(wù)的合理調(diào)度。結(jié)合虛擬化技術(shù)的tsn調(diào)度能夠屏蔽物理資源的技術(shù)細節(jié),通過將物理資源抽象成多個邏輯上獨立的虛擬資源,并向上層提供統(tǒng)一的可編程接口。通過該技術(shù),在同樣的物理資源下,虛擬多cpu的tsn實時任務(wù)調(diào)度通過不同虛擬機調(diào)度區(qū)分實時優(yōu)先級任務(wù),無疑可以提高資源利用率,更加有效地保證大容量音頻視頻業(yè)務(wù)的可調(diào)度性;通過使用虛擬化技術(shù),可以有效提高資源利用率,從以前未使用虛擬化時平均利用率的30%增長至如今的70%以上,增強硬件平臺的安全性和穩(wěn)定性,降低管理成本,使系統(tǒng)具有高可用性和擴展性。

本發(fā)明實現(xiàn)對實時性要求較高的業(yè)務(wù)有效調(diào)度,可以在運行時實現(xiàn)對多核處理器資源的動態(tài)規(guī)劃,自適應(yīng)調(diào)整分組,有利于負載均衡;針對tsn任務(wù)不同情況,選擇任務(wù)錯失率較低的方案,并基于反饋機制進行自適應(yīng)調(diào)度,增強了多處理器資源分配的公平性和有效性。

附圖說明

圖1是本發(fā)明實施例提供的面向tsn業(yè)務(wù)的多vcpu自適應(yīng)實時調(diào)度方法流程圖。

圖2是本發(fā)明實施例提供的本發(fā)明網(wǎng)絡(luò)應(yīng)用場景示意圖。

圖3是本發(fā)明實施例提供的系統(tǒng)結(jié)構(gòu)框圖。

圖4是本發(fā)明實施例提供的實現(xiàn)流程圖。

具體實施方式

為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合實施例,對本發(fā)明進行進一步詳細說明。應(yīng)當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。

下面結(jié)合附圖對本發(fā)明的應(yīng)用原理作詳細的描述。

如圖1所示,本發(fā)明實施例提供的面向tsn業(yè)務(wù)的多vcpu自適應(yīng)實時調(diào)度方法包括以下步驟:

s101:在算法執(zhí)行初始階段,通過當前任務(wù)利用率δ計算分組數(shù)α,由分組數(shù)α確定內(nèi)核分配組合;

s102:當任務(wù)轉(zhuǎn)為實時模式并通過系統(tǒng)接口傳入內(nèi)核,將任務(wù)按照截止期的先后插入到相應(yīng)ready隊列和release隊列;

s103:查看所有分組隊列的cpu資源利用率,與資源利用率的閾值作比較,若存在大于閾值的隊列,進行步驟s104,若沒有,轉(zhuǎn)到步驟s107;

s104:查看release隊列中各實時任務(wù)的關(guān)鍵度hi,選擇關(guān)鍵度最小的任務(wù)γh作為等待遷移任務(wù);

s105:判斷其余分組隊列中的cpu利用率,選擇cpu利用率最小的ready隊列為目的隊列qd,將等待遷移的任務(wù)插入到隊列頭部;

s106:遷移關(guān)鍵任務(wù)γh到目的隊列qd中,調(diào)用主調(diào)度函數(shù),選擇下一個執(zhí)行的任務(wù);

s107:各分組內(nèi)依照截止期優(yōu)先原則對實時任務(wù)分配資源并完成調(diào)度;

s108:判斷當前任務(wù)集中的所有任務(wù)是否被執(zhí)行完,若沒有執(zhí)行完,則轉(zhuǎn)移到步驟s102;若任務(wù)集中所有任務(wù)執(zhí)行結(jié)束,等待下次任務(wù)的釋放。

下面結(jié)合附圖對本發(fā)明的應(yīng)用原理作進一步的描述。

本發(fā)明主要包括:任務(wù)及資源數(shù)學(xué)建模、任務(wù)資源匹配分組、組間任務(wù)遷移。

本發(fā)明的主要內(nèi)容包括:

一、數(shù)學(xué)建模

參照tsn中的調(diào)度類,定義相應(yīng)數(shù)量的業(yè)務(wù)類型,業(yè)務(wù)模型采用周期實時任務(wù)模型,為了不失一般性,規(guī)定任務(wù)集γ=(γ1,γ2,…,γn),n為業(yè)務(wù)的類型總數(shù),每個業(yè)務(wù)γi具有多個作業(yè)γi1,γi2,…。對于每個周期業(yè)務(wù)γi=(pi,ei,di),具體參數(shù)如下:

pi:任務(wù)γi的周期;

ei:任務(wù)γi的理論執(zhí)行時間;

di:任務(wù)γi的相對截止時間,di<pi;

ri:任務(wù)γi放行并準備執(zhí)行的時間;

di:任務(wù)γi的絕對截止時間;

γik:任務(wù)γi的第k次執(zhí)行;

reik(t):系統(tǒng)開始t時刻后任務(wù)γik的剩余執(zhí)行時間;

ui:任務(wù)γi的利用率;

uγ:任務(wù)集的總利用率。

對于不同的tsn業(yè)務(wù)類型,任務(wù)參數(shù)的設(shè)置有所區(qū)別,對于sra類和b類業(yè)務(wù),我們將其設(shè)置為周期固定的任務(wù),且截止期等于周期,其中a類業(yè)務(wù)的周期小于b類業(yè)務(wù)的周期。對于實時性要求高于這兩類的業(yè)務(wù),將周期設(shè)置為低于這兩類業(yè)務(wù),對于實時性要求低于這兩類的業(yè)務(wù),將周期設(shè)置為高于這兩類業(yè)務(wù),對于besteffort業(yè)務(wù),可選擇將其周期設(shè)置為機器最大值,默認為無實時性要求。

本發(fā)明的優(yōu)化模型以實時任務(wù)的截止期錯失率r為目標函數(shù),即:

objective:

s.t.

di(k)=(k-1)·pi+di式(1-4)

在目標函數(shù)中,nm代表截止期錯失的任務(wù)數(shù),n代表任務(wù)總數(shù),優(yōu)化目標為盡可能使r接近于1,保證所有tsn任務(wù)可調(diào)度。式(1-4)表示任務(wù)i第k次執(zhí)行的截止時間。

此外,針對上述任務(wù)模型,假設(shè)如下:

(1)所有任務(wù)相互獨立,無沖突資源及依賴關(guān)系;

(2)任務(wù)切換時間不計;

(3)任務(wù)不會被自動掛起;

(4)不考慮任務(wù)等待cpu以外資源的情況;

(5)任務(wù)在執(zhí)行過程中的搶占成本極小。

假設(shè)虛擬機上設(shè)置了m個同構(gòu)處理器,m為常數(shù)。處理器依次命名為cpu1,cpu2,…,cpum。本發(fā)明使用的資源模型為周期資源模型,用r=(ω,θ,m)表示。各變量具體含義如下:

ω:處理器資源的分配周期;

θ:處理器資源所能提供給調(diào)度任務(wù)的時間資源;

m:計算機的實際cpu數(shù),也即當前能提供的并行cpu數(shù)最大值;

θ/ω:定義為資源模型的帶寬。

另外,資源模型需要滿足條件:θ≤mω。

二、算法流程

本發(fā)明在虛擬機上執(zhí)行操作,系統(tǒng)調(diào)度的整體結(jié)構(gòu)如圖3所示,在宿主機上啟動多個虛擬機,每個虛擬機均設(shè)置為多cpu模式,任務(wù)在虛擬機上執(zhí)行a-edf實時調(diào)度算法。具體算法流程如下:

(1)在算法執(zhí)行初始階段,通過當前任務(wù)利用率δ計算分組數(shù)α,由分組數(shù)α確定內(nèi)核分配組合;

(2)當任務(wù)轉(zhuǎn)為實時模式并通過系統(tǒng)接口傳入內(nèi)核,將任務(wù)按照截止期的先后插入到相應(yīng)ready隊列和release隊列;

(3)查看所有分組隊列的cpu資源利用率,與資源利用率的閾值作比較,若存在大于閾值的隊列,進行步驟(4),若沒有,轉(zhuǎn)到步驟(7);

(4)查看release隊列中各實時任務(wù)的關(guān)鍵度hi,選擇關(guān)鍵度最小的任務(wù)γh作為等待遷移任務(wù);

(5)判斷其余分組隊列中的cpu利用率,選擇cpu利用率最小的ready隊列為目的隊列qd,將等待遷移的任務(wù)插入到隊列頭部;

(6)遷移關(guān)鍵任務(wù)γh到目的隊列qd中,調(diào)用主調(diào)度函數(shù),選擇下一個執(zhí)行的任務(wù);

(7)各分組內(nèi)依照截止期優(yōu)先原則對實時任務(wù)分配資源并完成調(diào)度;

(8)判斷當前任務(wù)集中的所有任務(wù)是否被執(zhí)行完,若沒有執(zhí)行完,則轉(zhuǎn)移到步驟2;若任務(wù)集中所有任務(wù)執(zhí)行結(jié)束,等待下次任務(wù)的釋放。

如圖4所示,本發(fā)明實施例的面向tsn業(yè)務(wù)的多vcpu自適應(yīng)實時調(diào)度方法具體包括以下步驟:

步驟1:在算法執(zhí)行初始階段,通過當前任務(wù)利用率δ計算分組數(shù)α,由分組數(shù)α確定內(nèi)核分配組合;

算法執(zhí)行初期,a-edf根據(jù)初始資源分組對任務(wù)進行分配,并基于任務(wù)的截止期有序調(diào)度;算法在周期開始前計算每個處理器的可用資源ps(t),并根據(jù)處理器數(shù)量設(shè)置任務(wù)利用率的兩個閾值δmax和δmin。設(shè)調(diào)度周期為q,則下一個調(diào)度周期為q+1。當任務(wù)利用率提高,任務(wù)并行度增大,在周期q內(nèi),任務(wù)對資源的需求增大,在下一次新任務(wù)到達時,a-edf重新選擇調(diào)度組合,對核進行新的組合分配,增加核的分組數(shù)以實現(xiàn)負載均衡,降低實時任務(wù)的截止期錯失率。當任務(wù)利用率低于閾值δmin時,分組數(shù)等同于核數(shù),當任務(wù)利用率高于閾值δmax時,不產(chǎn)生分組,所有任務(wù)在全局調(diào)度。

在a-edf算法中,分組數(shù)α按如式(1-5)自適應(yīng)調(diào)整:

其中,m表示處理器數(shù)量,δmax表示任務(wù)利用率閾值上限,δmin表示任務(wù)利用率閾值下限,δ為當前任務(wù)利用率,且當分組數(shù)帶有小數(shù)時,均向上取整。

任務(wù)利用率δ和分組數(shù)α呈簡單線性映射關(guān)系。

當任務(wù)利用率低于閾值δmin時,分組數(shù)保持為m,m是系統(tǒng)的處理器數(shù)。當任務(wù)利用率介于δmin和δmax時,α隨著任務(wù)利用率的增加而線性減少,通過減少分組,使得任務(wù)負載均衡,以降低實時任務(wù)的截止期錯失率;當任務(wù)利用率高于閾值δmax時,分組數(shù)α保持不變,為常數(shù)1。在保持較低系統(tǒng)開銷的前提下,a-edf通過動態(tài)改變分組數(shù)α以降低實時的截止期錯失率。

步驟2:當任務(wù)轉(zhuǎn)為實時模式并通過系統(tǒng)接口傳入內(nèi)核,將任務(wù)按照截止期的先后插入到相應(yīng)ready隊列和release隊列。

調(diào)度過程中存在ready和release兩種隊列,當任務(wù)還未釋放,插入至release隊列中等待釋放;當任務(wù)已經(jīng)釋放,插入ready隊列等待分配cpu調(diào)度。

步驟3:查看所有分組隊列的cpu資源利用率,與資源利用率的閾值作比較,若存在大于閾值的隊列,進行步驟4,若沒有,轉(zhuǎn)到步驟7。

每個分組中cpu的資源利用率不得超過設(shè)置的閾值,一旦超過標記為需要遷移,執(zhí)行步驟4,若所有分組的資源利用率均未超過閾值,執(zhí)行步驟7。組內(nèi)任務(wù)調(diào)度以獨立隊列為基礎(chǔ),每組維護一個運行隊列。由于任務(wù)一旦執(zhí)行無法中斷,盡管總的空閑利用率大于新任務(wù)的利用率,但不能為新到來的任務(wù)提供完整的一段周期,從而導(dǎo)致新任務(wù)不可調(diào)度。

步驟4:查看release隊列中各實時任務(wù)的關(guān)鍵度hi,選擇關(guān)鍵度最小的任務(wù)γh作為等待遷移任務(wù);

a-edf定義關(guān)鍵度hi評估任務(wù)γi的關(guān)鍵性,關(guān)鍵度hi的定義如式(1-6),

hi(γi)=di-reik(t)-t式(1-6)

式中,di表示任務(wù)γi的絕對截止時間,reik(t)表示任務(wù)γi在第k次執(zhí)行的剩余執(zhí)行時間。關(guān)鍵度hi的大小體現(xiàn)實時任務(wù)γi的執(zhí)行關(guān)鍵程度,hi值越小,表示任務(wù)γi的執(zhí)行程度越緊急。

a-edf在每次調(diào)度周期之前選擇負載較高的分組中隊列的關(guān)鍵任務(wù)遷移到負載較低的目的分組隊列中,定義關(guān)鍵任務(wù)如式(1-7):

γh=argmin{h(γi)}式(1-7)

步驟5:判斷其余分組隊列中的cpu利用率,選擇cpu利用率最小的ready隊列為目的隊列qd,將等待遷移的任務(wù)插入到隊列頭部。

a-edf統(tǒng)計每個分組內(nèi)獨立隊列中關(guān)鍵度hi最小的任務(wù)γh,將資源利用率超過閾值的隊列上的任務(wù)γh遷移到資源利用率較小的隊列上去執(zhí)行,通過組間任務(wù)遷移以實現(xiàn)負載均衡,優(yōu)化各組獨立隊列的空閑利用率,使得任務(wù)可調(diào)度。對于內(nèi)核的每個分組,其包含一個ready隊列和一個release隊列。當需要組間任務(wù)遷移時,ready隊列中調(diào)度的任務(wù)不進行遷移,等待調(diào)度結(jié)束;將release隊列中關(guān)鍵度hi最小的任務(wù)γh進行遷移。算法組間任務(wù)遷移的過程包含兩方面的內(nèi)容:選擇內(nèi)核分組中需要遷移的關(guān)鍵度hi最小的任務(wù)γi;選擇任務(wù)利用率較輕的內(nèi)核分組,并遷移任務(wù)γi。

為保證被遷移出的關(guān)鍵任務(wù)γh能夠立即得到執(zhí)行,目的隊列的當前任務(wù)必須是可搶占的,即目的隊列的當前任務(wù)不是關(guān)鍵任務(wù)。目的隊列qd的選擇滿足以下條件:

ρ(qd)<c式(1-8)

qd=argmin(qm)式(1-9)

其中,ρ(qd)表示目的隊列的資源利用率,c表示資源利用閾值,式(1-8)表示目的隊列的總資源利用率小于該分組的資源利用率閾值以減小遷移對目的隊列的影響,減少遷移次數(shù);式(1-9)表示選擇當前所有分組中資源利用率最小的隊列作為目的隊列。

步驟6:遷移關(guān)鍵任務(wù)γh到目的隊列qd中,調(diào)用主調(diào)度函數(shù),選擇下一個執(zhí)行的任務(wù)。

對于release隊列中等待調(diào)度并且關(guān)鍵度最小的關(guān)鍵任務(wù)需要最先釋放,以降低實時任務(wù)的截止期錯失率。關(guān)鍵任務(wù)γh其優(yōu)先級最高,若此時得不到執(zhí)行將會導(dǎo)致不可調(diào)度。同時,若隊列中的關(guān)鍵任務(wù)較多,將導(dǎo)致某一隊列的負載過重。a-edf在每次調(diào)度周期之前選擇release隊列中的關(guān)鍵任務(wù)遷移到目的隊列中。

步驟7:各分組內(nèi)依照截止期優(yōu)先原則對實時任務(wù)分配資源并完成調(diào)度。

截止期優(yōu)先原則是動態(tài)調(diào)度的一種常用原則,它是根據(jù)每個實時任務(wù)截止期的緊迫性來動態(tài)調(diào)整任務(wù)的優(yōu)先級。實時任務(wù)的截止時間越短,其優(yōu)先級越高。

步驟8:判斷當前任務(wù)集中所有任務(wù)是否執(zhí)行完,若沒有,轉(zhuǎn)移到步驟2;若所有任務(wù)執(zhí)行結(jié)束,等待下次任務(wù)的釋放。

以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1