国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

優(yōu)先級(jí)置頂算法在FlexRay線控轉(zhuǎn)向系統(tǒng)中的應(yīng)用研究

2020-05-28 09:36石志國張鳳登
軟件導(dǎo)刊 2020年3期
關(guān)鍵詞:任務(wù)調(diào)度

石志國 張鳳登

摘 要:為解決FlexRay線控轉(zhuǎn)向系統(tǒng)中常見的死鎖問題,采用優(yōu)先級(jí)置頂算法進(jìn)行多任務(wù)動(dòng)態(tài)調(diào)度。首先,分析FlexRay線控轉(zhuǎn)向系統(tǒng)多任務(wù)動(dòng)態(tài)調(diào)度過程中的死鎖問題;然后深入研究?jī)?yōu)先級(jí)置頂算法防止死鎖問題的原理;最后搭建雙通道多冗余的FlexRay線控轉(zhuǎn)向系統(tǒng),進(jìn)行重要系統(tǒng)參數(shù)配置。運(yùn)行結(jié)果表明,未使用優(yōu)先級(jí)置頂算法的FlexRay線控轉(zhuǎn)向系統(tǒng)出現(xiàn)了死鎖現(xiàn)象,使用優(yōu)先級(jí)置頂算法進(jìn)行動(dòng)態(tài)任務(wù)調(diào)度之后,系統(tǒng)可正常運(yùn)行,證明了算法有效性。

關(guān)鍵詞:優(yōu)先級(jí)置頂算法;死鎖;FlexRay;線控轉(zhuǎn)向;任務(wù)調(diào)度

DOI:10. 11907/rjdk. 192640

中圖分類號(hào):TP319 ? 文獻(xiàn)標(biāo)識(shí)碼:A??????????????? 文章編號(hào):1672-7800(2020)003-0145-05

Application Research of Priority Ceiling Algorithm

in FlexRay Steer-by-wire System

SHI Zhi-guo, ZHANG Feng-deng

(School of Optical-Electrical and Computer Engineering, University of Shanghai for Science and Technology,

Shanghai 200093, China)

Abstract: In order to solve the common deadlock problem in FlexRay Steer-by-wire System, this paper adopts the priority ceiling algorithm for multi-task dynamic scheduling. Firstly, the deadlock problem in the multi-task dynamic scheduling process of FlexRay steer-by-wire system is analyzed. Then, the principle of the priority ceiling algorithm to prevent the deadlock problem is studied in depth. Finally, a dual-channel and multi-redundant FlexRay steer-by-wire system is built, and the important parameters of the system were configured. The running results show that the FlexRay steer-by-wire system without the priority ceiling algorithm has a deadlock phenomenon and the system can run normally after the priority ceiling algorithm is used, which proves the effectiveness of the proposed algorithm.

Key Words: priority ceiling algorithm; deadlock; FlexRay; steer-by-wire; task scheduling

0 引言

隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,軟件結(jié)構(gòu)日趨復(fù)雜,但系統(tǒng)資源有限,在多任務(wù)系統(tǒng)下往往出現(xiàn)進(jìn)程受阻現(xiàn)象。具體指在調(diào)度系統(tǒng)時(shí),若調(diào)度器在運(yùn)行中作出調(diào)度決策,即從多個(gè)處于“就緒”狀態(tài)的任務(wù)里選擇一個(gè)任務(wù),則調(diào)度器是動(dòng)態(tài)的(在線的)[1]。在動(dòng)態(tài)調(diào)度策略中,大部分或全部調(diào)度決策在系統(tǒng)運(yùn)行時(shí),由任務(wù)調(diào)度器執(zhí)行某種調(diào)度算法[2]。通常,并行任務(wù)為了合作實(shí)現(xiàn)系統(tǒng)整體目標(biāo),需交換信息、訪問公共數(shù)據(jù)資源。假如任務(wù)組由周期性任務(wù)組成,采用信號(hào)量保護(hù)公共資源,所有任務(wù)必須獨(dú)占公共資源。為了協(xié)調(diào)該類任務(wù)對(duì)共享資源的訪問,需進(jìn)行任務(wù)同步,但在實(shí)現(xiàn)任務(wù)同步的過程中通常會(huì)遭遇死鎖問題。

國內(nèi)外研究者針對(duì)該問題提出了多種算法進(jìn)行改進(jìn)。文獻(xiàn)[3-4]圍繞多任務(wù)動(dòng)態(tài)調(diào)度問題,提出復(fù)雜多任務(wù)實(shí)時(shí)系統(tǒng)單處理器或多處理器調(diào)度算法;文獻(xiàn)[5]研究了基于離散并行系統(tǒng)的資源分配系統(tǒng)的死鎖問題,提出了3種解決方案:死鎖檢測(cè)與恢復(fù)、死鎖避免和死鎖預(yù)防。死鎖檢測(cè)與恢復(fù)策略允許系統(tǒng)出現(xiàn)死鎖,一旦檢測(cè)到系統(tǒng)處于死鎖狀態(tài),通過重新配置資源,使系統(tǒng)恢復(fù)到正常狀態(tài)。死鎖避免策略使用一種在線的資源分配機(jī)制,使系統(tǒng)不能進(jìn)入死鎖狀態(tài)。死鎖預(yù)防策略通過離線計(jì)算,事先建立一種策略控制資源請(qǐng)求,從而保證系統(tǒng)不會(huì)進(jìn)入死鎖狀態(tài);文獻(xiàn)[6]中提出一種可在FlexRay動(dòng)態(tài)段中實(shí)現(xiàn)任務(wù)調(diào)度的遞歸資格調(diào)度算法;文獻(xiàn)[7]提出一種考慮了系統(tǒng)公平性的優(yōu)先級(jí)置頂算法,定性研究了在保證一定公平性的前提下,運(yùn)用優(yōu)先級(jí)置頂算法的方法。

FlexRay線控轉(zhuǎn)向系統(tǒng)是一種新型分布式實(shí)時(shí)系統(tǒng),在實(shí)際應(yīng)用中該系統(tǒng)實(shí)時(shí)性和可靠性面臨嚴(yán)格要求。汽車轉(zhuǎn)向系統(tǒng)經(jīng)歷了4個(gè)發(fā)展階段:機(jī)械式轉(zhuǎn)向(Manual Steering,MS)、液壓助力轉(zhuǎn)向系統(tǒng)(Hydraulic Power Steering,HPS)、電控液壓助力轉(zhuǎn)向系統(tǒng)(Electronic Hydraulic Power Steering,EHPS)和電動(dòng)助力轉(zhuǎn)向系統(tǒng)(Electronic Power Steering,EPS)[8]。因系統(tǒng)沒有擺脫占據(jù)空間較大的機(jī)械連接,系統(tǒng)自由設(shè)計(jì)度有限,汽車舒適、穩(wěn)定、便捷性能有待進(jìn)一步提高。針對(duì)這些問題,航空Fly-by-wire技術(shù)被引入汽車生產(chǎn)中,由此衍生了線控轉(zhuǎn)向技術(shù)(Steer-by-wire)[9],并吸引了眾多汽車廠商與研究機(jī)構(gòu)進(jìn)行開發(fā)研究。奔馳(Mercedes-Benz)公司早在1990年著手研發(fā)前輪電子轉(zhuǎn)向系統(tǒng),并將其應(yīng)用于概念車F400Carving上[10];通用(GM)汽車在2002年9月的巴黎車展上展示了HY-Wire概念車,該車也使用了線控(X-By-Wire)技術(shù)[11];同濟(jì)大學(xué)在2004年自主研發(fā)了“三駕馬車”之一的“春暉三號(hào)”汽車,它屬于線控轉(zhuǎn)向四輪驅(qū)動(dòng)的微型概念車[12];江蘇大學(xué)提出了線控轉(zhuǎn)向系統(tǒng)前輪轉(zhuǎn)向模塊的動(dòng)力學(xué)方程與基于分?jǐn)?shù)階微積分理論的PID控制器[13],用Matlab/SIMULINK工具進(jìn)行模型仿真驗(yàn)證和分析,證實(shí)控制器在頻域范圍具有很好的魯棒性;武漢理工大學(xué)與東風(fēng)汽車技術(shù)中心合作提出了兩種線控轉(zhuǎn)向系統(tǒng)車輛前輪轉(zhuǎn)角控制算法[14];吉林大學(xué)基于最優(yōu)濾波理論自適應(yīng)漸消Kalman濾波技術(shù)的狀態(tài)估計(jì)器,提出了線控轉(zhuǎn)向系統(tǒng)傳感器容錯(cuò)控制方法,并在硬件上進(jìn)行了驗(yàn)證,同時(shí)基于假設(shè)檢驗(yàn)的雙自適應(yīng)漸消Kalman濾波技術(shù),在系統(tǒng)傳感器故障診斷方面進(jìn)行了研究。

優(yōu)先級(jí)置頂算法是一種能有效解決死鎖問題的動(dòng)態(tài)調(diào)度算法,有助于提升線控轉(zhuǎn)向系統(tǒng)資源調(diào)配穩(wěn)定性,現(xiàn)有方法暫未從該角度進(jìn)行研究。因此本文通過搭建真實(shí)FlexRay線控轉(zhuǎn)向系統(tǒng),深入研究死鎖問題原理與優(yōu)先級(jí)置頂算法可調(diào)度性。

1 FlexRay線控轉(zhuǎn)向系統(tǒng)中的死鎖問題

在線控轉(zhuǎn)向系統(tǒng)中,主體是系統(tǒng)中的每一個(gè)任務(wù),死鎖由阻塞引起,當(dāng)兩個(gè)任務(wù)同時(shí)等待被對(duì)方鎖定的資源(如信號(hào)量)時(shí),則兩個(gè)任務(wù)可能均被阻塞,導(dǎo)致死鎖問題。圖1是一個(gè)死鎖問題實(shí)例。圖1中任務(wù)[τ2]優(yōu)先級(jí)高于任務(wù)[τ1],信號(hào)量S1和信號(hào)量S2被用于保護(hù)不同的共享資源,死鎖問題產(chǎn)生過程為:①[τ2]正在運(yùn)行,而[τ1]處于就緒狀態(tài),[τ2]鎖定了S1;②稍后,[τ2]為了等待事件E的發(fā)生,自行轉(zhuǎn)入等待狀態(tài);③此時(shí),[τ1]得以運(yùn)行,并在運(yùn)行中鎖定了信號(hào)量S2;④接著事件E發(fā)生,由于[τ2]的優(yōu)先級(jí)高于[τ1],[τ2]搶占[τ1],再次開始運(yùn)行;⑤現(xiàn)在,假如[τ2]要鎖定信號(hào)量S2,必然失敗,因?yàn)镾2已經(jīng)被[τ1]鎖定;⑥因此,[τ2]又進(jìn)入了等待狀態(tài),直到S2被釋放,任務(wù)[τ1]恢復(fù)運(yùn)行;⑦接下來,任務(wù)[τ1]試圖鎖定信號(hào)量S1失敗,因?yàn)镾1已經(jīng)被[τ2]鎖定;⑧這時(shí),[τ1]也進(jìn)入等待狀態(tài),直到S1被釋放,出現(xiàn)死鎖。

在圖1中,兩個(gè)任務(wù)都需對(duì)方釋放一個(gè)信號(hào)量,均停留在等待狀態(tài),即產(chǎn)生死鎖。假如沒有外力作用,則死鎖涉及到的每個(gè)任務(wù)將一直處于等待狀態(tài),導(dǎo)致系統(tǒng)停滯,嚴(yán)重影響系統(tǒng)實(shí)時(shí)性,甚至可能引發(fā)重大事故。

2 優(yōu)先級(jí)置頂算法

優(yōu)先級(jí)置頂算法也稱簡(jiǎn)單優(yōu)先級(jí)置頂算法,優(yōu)先級(jí)置頂指任務(wù)控制訪問臨界資源時(shí),優(yōu)先級(jí)被置為相應(yīng)信號(hào)量的置頂優(yōu)先級(jí)。該算法主要內(nèi)容包括:

(1)對(duì)于控制臨界區(qū)的信號(hào)量,將可能申請(qǐng)?jiān)撔盘?hào)量所有任務(wù)中具有最高優(yōu)先級(jí)的任務(wù)設(shè)置為信號(hào)量置頂優(yōu)先級(jí)。

(2)假如任務(wù)成功申請(qǐng)到信號(hào)量,任務(wù)優(yōu)先級(jí)將被提升為信號(hào)量置頂優(yōu)先級(jí);當(dāng)臨界區(qū)任務(wù)執(zhí)行結(jié)束后,將信號(hào)量釋放后,其優(yōu)先級(jí)將重新恢復(fù)到任務(wù)最初的優(yōu)先級(jí)。

(3)假如任務(wù)不能得到申請(qǐng)的信號(hào)量,任務(wù)將會(huì)被阻塞[17]。

舉例說明優(yōu)先級(jí)置頂算法(見圖2),總共包括[τ1]-[τ5]5個(gè)任務(wù),優(yōu)先級(jí)從[τ1]到[τ5]依次升高。[τ1]和[τ4]共享資源R,保護(hù)該資源的信號(hào)量為S。其中,任務(wù)掛起指任務(wù)還未被初始化或任務(wù)已執(zhí)行完成;任務(wù)就緒指任務(wù)正在等待獲得共享資源;任務(wù)運(yùn)行指任務(wù)已獲得想要的資源,包含的代碼正在被執(zhí)行。

系統(tǒng)運(yùn)行過程為:①[τ1]正在運(yùn)行,[τ2]、[τ3]、[τ4]和[τ5]掛起;②[τ1]請(qǐng)求資源R,此時(shí)該資源可用, T1鎖定信號(hào)量S。[τ1]的優(yōu)先級(jí)提升到資源R的置頂優(yōu)先級(jí)。在運(yùn)行過程中,[τ1]的優(yōu)先級(jí)高于[τ2]、[τ3]、[τ4],但低于[τ5];③[τ2]、[τ3]、[τ4]進(jìn)入就緒狀態(tài),但不能運(yùn)行,因?yàn)樗鼈兊膬?yōu)先級(jí)低于提升后的[τ1];④在[τ1]以其提升后的優(yōu)先級(jí)運(yùn)行期間,[τ5]被激活。由于[τ5]的優(yōu)先級(jí)高于資源R的置頂優(yōu)先級(jí),[τ5]搶占[τ1],并運(yùn)行至結(jié)束。然后,[τ1]恢復(fù)運(yùn)行,且仍處于提升后的優(yōu)先級(jí);⑤[τ1]解除信號(hào)量S的鎖定,釋放資源R,[τ1]的優(yōu)先級(jí)返回其基本優(yōu)先級(jí);⑥此時(shí),在處于就緒狀態(tài)的任務(wù)中,[τ4]的優(yōu)先級(jí)最高,[τ4]請(qǐng)求資源R,并鎖定信號(hào)量S,[τ4]的優(yōu)先級(jí)提升到資源R的置頂優(yōu)先級(jí),搶占[τ1]并開始運(yùn)行;⑦[τ4]運(yùn)行一段時(shí)間后,[τ4]釋放資源R,并返回到它的基本優(yōu)先級(jí),直至運(yùn)行結(jié)束;⑧接下來,[τ3]和[τ2]是優(yōu)先級(jí)最高的任務(wù),它們順次獲得運(yùn)行權(quán);⑨最后,[τ1]恢復(fù)運(yùn)行。

在上述實(shí)例中,[τ1]獲得臨界資源后,其優(yōu)先級(jí)被抬升到資源置頂優(yōu)先級(jí),這樣可有效避免死鎖,使系統(tǒng)多個(gè)任務(wù)均可被正常執(zhí)行。為進(jìn)一步研究?jī)?yōu)先級(jí)置頂算法對(duì)FlexRay線控轉(zhuǎn)向系統(tǒng)多任務(wù)調(diào)度的影響,本文構(gòu)建真實(shí)的FlexRay線控轉(zhuǎn)向系統(tǒng)。

3 FlexRay線控轉(zhuǎn)向系統(tǒng)構(gòu)建

在汽車駕駛過程中,轉(zhuǎn)向系統(tǒng)是保證車輪按照駕駛員意向正常轉(zhuǎn)向的重要部件。作為駕駛員和車輛的媒介,轉(zhuǎn)向系統(tǒng)性能好壞直接影響到駕駛路感、舒適性和穩(wěn)定性[18-19]。線控轉(zhuǎn)向技術(shù)(Steer-by-wire)與傳統(tǒng)液壓助力系統(tǒng)、電控助力系統(tǒng)相比,減少了液壓和機(jī)械連接裝置及軸承等金屬裝置,減輕了系統(tǒng)整體重量,降低了系統(tǒng)裝配復(fù)雜性與生產(chǎn)成本。FlexRay線控轉(zhuǎn)向系統(tǒng)可以實(shí)現(xiàn)硬件和軟件冗余,而且電控單元可采用分布式控制,大幅提高系統(tǒng)可靠性、安全性和舒適性。

3.1 系統(tǒng)架構(gòu)設(shè)計(jì)

為保證系統(tǒng)實(shí)時(shí)性和可靠性,同時(shí)滿足經(jīng)濟(jì)實(shí)用性要求,該系統(tǒng)線控轉(zhuǎn)向系統(tǒng)容錯(cuò)架構(gòu)設(shè)計(jì)如圖3所示,包括電子控制單元(微控制器),即Hand Wheel ECU1(方向盤ECU1)、Hand Wheel ECU2(方向盤ECU2)、Front axle actuator ECU1(前軸ECU1)、Front axle actuator ECU2(前軸ECU2)。每個(gè)ECU之間通過支持TDMA媒體訪問和雙通道通信的FlexRay總線連接。3個(gè)轉(zhuǎn)角傳感器分布在轉(zhuǎn)向軸上,測(cè)量方向盤轉(zhuǎn)角、轉(zhuǎn)矩和轉(zhuǎn)速。另外3個(gè)前軸傳感器用來測(cè)量前軸轉(zhuǎn)動(dòng)位置。兩個(gè)路感電機(jī)(HW Motor1、HW Motor2)根據(jù)轉(zhuǎn)向電機(jī)(FAA Motor1、FAA Motor2)反饋控制模擬路感。轉(zhuǎn)角傳感器分別與HW ECU1、HW ECU2點(diǎn)對(duì)點(diǎn)連接,同樣前軸傳感器分別與FAA ECU1、FAA ECU2點(diǎn)對(duì)點(diǎn)連接。

系統(tǒng)融入全面冗余的概念,設(shè)計(jì)了ECU冗余、電機(jī)冗余、總線傳輸通道冗余、傳感器冗余及電源冗余。HW ECU1/ECU2和FAA ECU1/ECU2實(shí)現(xiàn)了ECU冗余,且具有故障靜默的屬性,實(shí)現(xiàn)了雙模冗余。雙電機(jī)實(shí)現(xiàn)了電機(jī)冗余,可有效應(yīng)對(duì)單個(gè)電機(jī)失效的狀況。雙通道的使用保證了FlexRay總線通道冗余。每個(gè)通道速度均達(dá)到10Mbps,使用雙通道,總速度可達(dá)到20Mbps,保證數(shù)據(jù)傳輸實(shí)時(shí)性。雙電源的使用保障了電源冗余。隨著汽車用電設(shè)備的增加,傳統(tǒng)12V電源已不足用。如果采用42V電源系統(tǒng),對(duì)于相同功率提高電壓值、減小電流值,可減小電能損耗,減少線束線芯,降低成本及負(fù)載電流并提高電子元件集成度等[20]。3個(gè)傳感器實(shí)現(xiàn)了傳感器三模冗余。傳感器是數(shù)據(jù)來源,對(duì)于整個(gè)系統(tǒng)安全運(yùn)行起著至關(guān)重要的作用,故采用安全性可靠度較高的三模冗余方法。Lamport研究表明,為容忍n個(gè)拜占庭錯(cuò)誤,至少需要3n+1個(gè)冗余單元[21]。例如:容忍1個(gè)單元的拜占庭失效,至少需要4個(gè)單元。對(duì)應(yīng)的解決辦法是四模冗余,但是硬件開銷成本很大。根據(jù)定理,如果至多有m個(gè)叛徒,SM(m)算法可解決m個(gè)叛徒的拜占庭問題。故若提供一種表決簽名算法,3個(gè)傳感器可克服1個(gè)拜占庭錯(cuò)誤或隨后的1個(gè)連續(xù)錯(cuò)誤或1個(gè)故障靜默錯(cuò)誤。ECU具有相同算法和傳感器測(cè)量數(shù)據(jù),并且把這些數(shù)據(jù)在冗余通道及不同的FlexRay幀時(shí)隙傳輸,從而實(shí)現(xiàn)全面冗余,保障系統(tǒng)可靠性。從冗余性和多樣性來看,該架構(gòu)設(shè)計(jì)受系統(tǒng)可靠度、制造成本及元件尺寸限制。但是,從經(jīng)濟(jì)性角度看,若系統(tǒng)滿足可靠性關(guān)鍵要求,方向盤控制和前軸轉(zhuǎn)向控制功能均使用2個(gè)ECU的方案是最優(yōu)的。

線控轉(zhuǎn)向系統(tǒng)主要由傳感器、ECU、電機(jī)組成。方向盤轉(zhuǎn)角數(shù)據(jù)采集來源于轉(zhuǎn)角傳感器,經(jīng)過方向盤ECU處理,再通過總線進(jìn)行傳輸?shù)角拜SECU,前軸ECU根據(jù)得到的數(shù)據(jù)對(duì)轉(zhuǎn)向電機(jī)進(jìn)行控制;反之,可對(duì)路感電機(jī)進(jìn)行控制。因此,線控轉(zhuǎn)向系統(tǒng)每個(gè)節(jié)點(diǎn)應(yīng)由電源輸入模塊、MC9S12XF512單片機(jī)、A/D轉(zhuǎn)換電路、PWM輸出電路、通信收發(fā)器等組成,可實(shí)現(xiàn):①利用傳感器信號(hào)進(jìn)行采樣;②輸出PWM控制相應(yīng)電機(jī)運(yùn)轉(zhuǎn);③FlexRay網(wǎng)絡(luò)通信;④CAN總線通信。

線控轉(zhuǎn)向系統(tǒng)節(jié)點(diǎn)結(jié)構(gòu)設(shè)計(jì)如圖4所示。

3.2 FlexRay線控轉(zhuǎn)向系統(tǒng)網(wǎng)絡(luò)參數(shù)與任務(wù)配置

本文分布式線控轉(zhuǎn)向系統(tǒng)使用FlexRay網(wǎng)絡(luò),其網(wǎng)絡(luò)參數(shù)配置如表1所示。

FlexRay網(wǎng)絡(luò)使用最高的傳輸速率10Mbit/s,報(bào)文在A、B雙通道同時(shí)傳輸,單個(gè)周期設(shè)為5ms。方向盤節(jié)點(diǎn)FAA ECU1和FAA ECU2分別在靜態(tài)時(shí)隙1、2中發(fā)送方向盤轉(zhuǎn)角消息,并在每個(gè)周期進(jìn)行發(fā)送,周期為5ms。

FlexRay線控轉(zhuǎn)向系統(tǒng)中的每個(gè)節(jié)點(diǎn)均有任務(wù), FlexRay線控轉(zhuǎn)向系統(tǒng)任務(wù)參數(shù)如表2所示,表2列出了在FlexRay線控轉(zhuǎn)向系統(tǒng)中4個(gè)任務(wù)周期、驅(qū)動(dòng)機(jī)制、任務(wù)傳輸時(shí)間等信息。

表2中,road-motor_task是路感電機(jī)任務(wù),steering _task是轉(zhuǎn)向電機(jī)任務(wù),corner_task是轉(zhuǎn)角傳感器任務(wù),epipodium_task是前軸傳感器任務(wù)。

系統(tǒng)中含有非周期任務(wù),F(xiàn)lexRay線控轉(zhuǎn)向仿真系統(tǒng)未使用優(yōu)先級(jí)置頂算法的調(diào)度分析如圖5所示。

圖5中[τ4]是corner_task,[τ3]是steering _task,[τ2]是epipodium_task,[τ1]是road-motor_task,d_segment表示動(dòng)態(tài)段資源,Outer表示某一全區(qū)變量。

從圖5可看出,F(xiàn)lexRay線控轉(zhuǎn)向系統(tǒng)最終會(huì)出現(xiàn)死鎖狀態(tài)。為實(shí)現(xiàn)優(yōu)先級(jí)置頂算法,在實(shí)際應(yīng)用中,為每個(gè)任務(wù)設(shè)置一個(gè)定時(shí)器,每隔0.005s監(jiān)測(cè)是否有其它任務(wù)申請(qǐng)資源,當(dāng)監(jiān)測(cè)到有其它優(yōu)先級(jí)的任務(wù)申請(qǐng)相同資源時(shí),將正在運(yùn)行的任務(wù)優(yōu)先級(jí)提升至資源置頂優(yōu)先級(jí)。

4 系統(tǒng)運(yùn)行評(píng)估

FlexRay線控轉(zhuǎn)向系統(tǒng)任務(wù)模型建立后,先對(duì)未使用基于優(yōu)先級(jí)置頂算法的FlexRay線控轉(zhuǎn)向系統(tǒng)多任務(wù)動(dòng)態(tài)調(diào)度性能進(jìn)行評(píng)估測(cè)試。運(yùn)行系統(tǒng)與網(wǎng)絡(luò)調(diào)度過程如圖6所示。

圖6中,r代表路感電機(jī)任務(wù),u代表轉(zhuǎn)向電機(jī)任務(wù),y代表傳感器任務(wù)。輸出結(jié)果與圖5FlexRay線控轉(zhuǎn)向系統(tǒng)調(diào)度分析結(jié)果一致,F(xiàn)lexRay線控轉(zhuǎn)向系統(tǒng)中只有傳感器節(jié)點(diǎn)運(yùn)行,其它節(jié)點(diǎn)任務(wù)由于路感電機(jī)任務(wù)和轉(zhuǎn)向電機(jī)任務(wù)產(chǎn)生死鎖而處于停滯狀態(tài)。

使用優(yōu)先級(jí)置頂算法的FlexRay線控轉(zhuǎn)向系統(tǒng)運(yùn)行系統(tǒng)與網(wǎng)絡(luò)調(diào)度過程如圖7所示。

圖7中r、u、y的代表意義與圖6一致。運(yùn)用優(yōu)先級(jí)置頂算法后,F(xiàn)lexRay線控轉(zhuǎn)向系統(tǒng)的各個(gè)任務(wù)均正常被系統(tǒng)調(diào)度,有效防止了死鎖發(fā)生。

5 結(jié)語

本文對(duì)FlexRay線控轉(zhuǎn)向系統(tǒng)中的死鎖問題進(jìn)行了分析,研究了優(yōu)先級(jí)置頂算法防止死鎖問題的原理,闡述了優(yōu)先級(jí)置頂算法工作原理和過程,并搭建了FlexRay線控轉(zhuǎn)向系統(tǒng)。通過對(duì)比驗(yàn)證可知,未使用優(yōu)先級(jí)置頂算法的FlexRay線控轉(zhuǎn)向系統(tǒng)出現(xiàn)了死鎖,使用該算法進(jìn)行動(dòng)態(tài)任務(wù)調(diào)度之后,系統(tǒng)可正常運(yùn)行,驗(yàn)證了優(yōu)先級(jí)置頂算法對(duì)避免死鎖問題的有效性。

優(yōu)先級(jí)置頂算法雖有效性較高,但本文系統(tǒng)任務(wù)數(shù)量較少,當(dāng)任務(wù)數(shù)量大幅增加時(shí),該算法作用將受到限制,甚至?xí)ト蝿?wù)調(diào)度公平性。因此下一步將圍繞優(yōu)先級(jí)置頂算法可調(diào)度性進(jìn)行定量研究,探索改進(jìn)方法。

參考文獻(xiàn):

[1]KOPETZ H. Real-time systems: design principles for distributed embedded applications[M]. Boston:Springer,1997.

[2]?????? 李祖欣,王萬良,雷必成,等. 網(wǎng)絡(luò)控制系統(tǒng)中的調(diào)度問題[J]. 計(jì)算機(jī)工程與應(yīng)用,2007,43(16):241-246.

[3]周平方. 實(shí)時(shí)控制系統(tǒng)多任務(wù)反饋調(diào)度研究[D]. 上海:上海交通大學(xué),2006.

[4]同愛麗. 實(shí)時(shí)多任務(wù)調(diào)度方法研究與應(yīng)用[D]. 西安:西北工業(yè)大學(xué),2006.

[5]?????? 朱森. 資源分配系統(tǒng)死鎖控制及其應(yīng)用研究[D]. 西安:西安電子科技大學(xué),2006.

[6]?????? JUNG K H, SONG M G, LEE D I, et al. Priority-based scheduling of dynamic segment in FlexRay network[C]. IEEE International Conference on Control, Automation and Systems,2008:1036-1041.

[7]?????? KISS D K. Intelligent priority ceiling protocol for scheduling[J].? IEEE International Symposium on Logistics & Industrial Informatics, 2011:105-110.

[8]王常友,董愛杰.? 汽車轉(zhuǎn)向系統(tǒng)的現(xiàn)狀及發(fā)展趨勢(shì)[J]. 北京汽車,2007(3):7-10.

[9]許張義. 基于FlexRay總線的線控轉(zhuǎn)向控制系統(tǒng)設(shè)計(jì)研究[D]. 長沙:湖南大學(xué), 2013.

[10]唐瑩. 汽車前輪線控轉(zhuǎn)向系統(tǒng)研究[D]. 上海:上海理工大學(xué),2009.

[11]潘旭臨. 全球首輛可駕駛線控燃料電池車在長城揭開面紗[EB/OL]. http://www.chinanews.com/n/2003-11-15/26/369118.html.

[12]李岳鵬. 國產(chǎn)微型概念車“春暉三號(hào)”亮相上海[EB/OL].? http://auto.enorth.com.cn/system/2004/11/15/000903200.html.

[13]田杰,高翔,陳寧. 基于分?jǐn)?shù)階微積分的線控轉(zhuǎn)向系統(tǒng)的控制研究[J]. 機(jī)械科學(xué)與技術(shù),2010,29(9):1172-1176.

[14]歐陽海,張杜鵑,高崗. 線控轉(zhuǎn)向車輛前輪轉(zhuǎn)角控制算法研究[J]. 技術(shù)與應(yīng)用,2009(11):30-31.

[15]田承偉,宗長富,王祥,等. 線控轉(zhuǎn)向汽車傳感器的容錯(cuò)控制[J]. 吉林大學(xué)學(xué)報(bào), 2010,40(1):6-12.

[16]田承偉,宗長富,姜國彬,等. 基于雙自適應(yīng)Kalman濾波的線控轉(zhuǎn)向汽車傳感器故障診斷[J]. 中國公路學(xué)報(bào),2009,22(4):115-121.

[17]張鳳登. 分布式實(shí)時(shí)系統(tǒng)[M]. 北京:科學(xué)出版社,2014.

[18]余志生,夏群生. 汽車?yán)碚揫M]. 北京:機(jī)械工業(yè)出版社,2006.

[19]喻凡,林逸. 汽車系統(tǒng)動(dòng)力學(xué)[M]. 北京:機(jī)械工業(yè)出版社,2005.

[20]汽車轉(zhuǎn)向系統(tǒng)的技術(shù)探討. 電子產(chǎn)品世界[EB/OL]. http://www.eepw.com.cn/article/196610.htm.

[21]LAMPORT L,SHOSTAK R,PEASE M. The Byzantine generals problem[J]. ACM Transactions on Programming Language and Systems,1982,4(3):382-401.

收稿日期:2019-12-05

基金項(xiàng)目:上海市自然科學(xué)基金項(xiàng)目(15ZR1429300)

作者簡(jiǎn)介:石志國(1995-),男,上海理工大學(xué)光電信息與計(jì)算機(jī)工程學(xué)院碩士研究生,研究方向?yàn)楝F(xiàn)場(chǎng)總線技術(shù)與汽車電子;張鳳登(1963-),男,博士,上海理工大學(xué)光電信息與計(jì)算機(jī)工程學(xué)院教授、博士生導(dǎo)師,研究方向?yàn)榉植际较到y(tǒng)、過程控制與現(xiàn)場(chǎng)總線技術(shù)。

猜你喜歡
任務(wù)調(diào)度
基于動(dòng)態(tài)能量感知的云計(jì)算任務(wù)調(diào)度模型
一種改進(jìn)的wRR獨(dú)立任務(wù)調(diào)度算法研究
基于PEPA的云計(jì)算任務(wù)調(diào)度性能分析
基于改進(jìn)NSGA-Ⅱ算法的協(xié)同制造任務(wù)調(diào)度研究
基于時(shí)間負(fù)載均衡蟻群算法的云任務(wù)調(diào)度優(yōu)化
云計(jì)算中基于生物共生機(jī)制改進(jìn)粒子群優(yōu)化的任務(wù)調(diào)度方案
基于小生境遺傳算法的相控陣?yán)走_(dá)任務(wù)調(diào)度
面向異構(gòu)分布式計(jì)算環(huán)境的并行任務(wù)調(diào)度優(yōu)化方法
云計(jì)算環(huán)境中任務(wù)調(diào)度策略
云計(jì)算中基于進(jìn)化算法的任務(wù)調(diào)度策略