基(jī)於多核 ARM 的數控係統實時(shí)性研究
2018-6-15 來(lái)源:轉載 作者(zhě):王穎慧 郭(guō)銳鋒 韓衛光 尹震(zhèn)宇 鄧昌義等
摘要: 隨著數控係統的(de)不(bú)斷發展, 數(shù)控係統對精度和(hé)速度有了更高的要求, 這(zhè)都對當前普遍采用的單核處理器(qì)平台(tái)提出(chū)了嚴峻的挑戰. 基於同構的四(sì)核ARM處理器平台(tái), 在添加了實時補丁的Linux係統環境下, 根據數控係統中(zhōng)硬實時任務、軟實(shí)時任務、非(fēi)實(shí)時任務(wù)並存的特點(diǎn), 把數控係統任務(wù)合理的分配到多核 ARM 上運行, 並采用改進的 RM 算法進(jìn)行(háng)調(diào)度, 最後對新的任務調度算法進行實時性能(néng)測試. 本(běn)調度(dù)模型能夠解決了數控係統混合(hé)任務調度的問題, 並能滿足數控係統對實時性的要(yào)求.
關(guān)鍵詞: 多核 ARM ; 實時(shí)調度; RM 算法; IRM 算法
1、引言
目前基於嵌入式芯片的數控係統普遍采用單核處理器平台, 隨(suí)著對(duì)數控係統功能和性能要求的不斷提高(gāo), 對(duì)處(chù)理器平台的性能要求也越來越高, 在單核平台上運行(háng)高檔數控係統軟件遇到了嚴峻的挑戰. 單純通過提高 CPU 的主頻和指令的(de)執行效率來提(tí)高性能, 不僅會帶來巨大的功耗問題, 而且還麵臨著技術和工藝方麵的瓶頸. 多核(hé)處(chù)理器的出現, 大大提高了(le)處理器的性能, 滿足了人們對處理器性能提高的要求, 成了商業化處理器的發展趨勢, 但也給體係(xì)結構、軟件、功耗和安全性設計等方麵帶來了巨大挑戰, 多核係統(tǒng)線程調度算法就(jiù)是其中一個重要的研究方向(xiàng). 隨著數控技術(shù)的發展, 加工對象的複雜度增(zēng)加, 處理器處理(lǐ)運動控製插補運算的高速度(dù)高精度要求更高, 要解決這一問題, 除了更換更(gèng)好性能的 ARM 芯片, 多核ARM 是其另一個重要的發展方向.
數控係統(tǒng)具有實時性和多任務的特點, 如(rú)當數控係統正處(chù)於(yú)加工控製狀(zhuàng)態時, 各數(shù)控加(jiā)工程序段(duàn)的預處理、插補計算(suàn)、位置控(kòng)製和各種輔助(zhù)控製任務(wù)都要及時進行. 且數控係統是一(yī)個實時(shí)任務(wù)係統,其任務按是否具有實時性要求和周期性(xìng)要求可分為:實時周期(qī)性任務、實時突發性(xìng)任務和非實時任務. 數控係統任務(wù)的複雜性, 使得單核處理器不再適應數控係統對速度和精度(dù)的要求(qiú), 而將多核 ARM 應用於數控係統可以根據任務的不同性質將(jiāng)任務(wù)合理的分配到不同的核, 減少所有任務都等待同一個處理器而增加的延時(shí), 從而更好的適應數控(kòng)係統的(de)要求. 目(mù)前, 對多核處理器實時調度算法的研究主要為了提高多核處理器係統的負載平衡, 本(běn)文采(cǎi)用改進的 RM 調度(dù)算法, 主要針對數控係統混合任務的特點, 可減小插補周期的延遲, 提高數控係統加工工件的精(jīng)度和速度(dù).
2 、基於數控(kòng)係統的RM調(diào)度算法及其改進算法
2.1 RM 調度算法的概述
1973 年 Liu 和 Layland 提出的單調速率調度算法(fǎ)(RM)是一(yī)種靜態優先級調度算法, 已被證明是可搶占(zhàn)的硬實時周期性任務調度的最優算法. RM 算法(fǎ)應(yīng)用於周期任務, 根據任(rèn)務的周期來分配(pèi)優先級, 周期越短, 優先級越高. 理想的 RM 調度模型是基於一係列(liè)假設的基礎(chǔ)上的, 這些假設(shè)是 RM 調度算法可執行的必要條件, RM 調度模型的基本假設如下:
(A1) 所有的任務請求都是相隔(gé)固定時間觸發的即任務具有周期性, 且為硬實時任務, 任務必須在規定的時限內(nèi)完成;
(A2) 任務的周期即為任務的截止期, 即任務必須在下一次任務到來之前(qián)完(wán)成(chéng);
(A3) 任務之間是相互獨立的, 每個任務的請求和執行與其他任務(wù)的請求和執(zhí)行無(wú)關;
(A4) 每個任務的運行時間是不變的, 這裏任務的運行(háng)時間是指(zhǐ)處理器在無中斷情(qíng)況(kuàng)下用於處理該任務的時間;
(A5) 係統(tǒng)調度和(hé)任務的上(shàng)下文切換的時間不計;
(A6) 任務之(zhī)間是可搶占的(de), 高(gāo)優先級任務可以搶占低優先級任務(wù);
(A7) 默認 CPU 是任務唯一需要爭奪的(de)資源, 任務所需的其他資源都是可(kě)滿足(zú)的.
圖 1 RM 調度算法任務調度
由於 RM 調度算法的(de)可執行條件的限製, 導致RM 調度算法在麵對數控係統(tǒng)的(de)實時環境方麵存在一些不足. 首先, 數(shù)控係統是(shì)混合任務係統, 不僅有周期任務還有非(fēi)周期任(rèn)務, 而(ér) RM 調度(dù)算法規定(dìng)實時任務必須為周期任務; 其次, RM 調度算法是固定優先級調度算(suàn)法(fǎ), 它的(de)優先級隻取決於任務的周期, 任務周期越短, 優先級越高, 但是數控係統中的(de)實時任務除了實時周期任(rèn)務, 還有實時突發任務, 這些任務周期不固定且具有很高(gāo)的實時性, 需要係統及時的響應和處理. 使用 RM 調度算法可能會使得一些重要的(de)實(shí)時突發任務得(dé)不到調度, 從而超過任務的時限, 給係統帶來不可挽回的錯誤.
2.2 基於 RM 調度算法的改進算法
基於以上提(tí)到的 RM 調度算法的不足, 提出一種基於 RM 調度算法的單(dān)調速率計算能力調度算法, 該算法是應用於雲環境任務調度. 因數控係統有其自(zì)身的特點, 例如: 混合多任務、高要求的(de)實時(shí)性等. 本文在該算法的基(jī)礎上進行改進, 提(tí)出一種能更好的適用於數控係統任務環境的調度算法 IRM 算法, 使其更好的滿足數控係(xì)統對實時性的要求(qiú). 在(zài) RM 調度算(suàn)法(fǎ)的基(jī)礎上引進參數 I, I 表示一個任務的重要(yào)程度, 數控係統(tǒng)操作者(zhě)根據經驗靜態的給不同的實時(shí)任務賦一個 I 值, 則數控係統任務的優先級為:
由(yóu)此看出, 改進的RM調度(dù)算法, 任務的優先級不再僅僅取決於任務的周期, 而是任務的重要度和截止(zhǐ)期的(de)二元函數. 同時為每一(yī)個任務維持(chí)一個表示(shì)還能(néng)等待多長時間的N值, 保證任務不會由於等待而錯過截止期限. 這樣在多任務混合(hé)的數控(kòng)係統中, 不僅能夠保證周(zhōu)期任務的(de)正常運行, 而且能夠使得非(fēi)周期(qī)任務能(néng)及時響應. 由此可以看(kàn)出, IRM調度算法比RM調度算法更(gèng)加適用於多種(zhǒng)實時任務並(bìng)存的數控係統, 能更好的滿足數控係統對實時性的需求.
3、 多核處理器下數控係統的架構及(jí)實驗結果分(fèn)析
3.1 多核(hé)處理(lǐ)器下數控係統的(de)架構
按照對(duì)實時性要求(qiú)的不同, 數控係統的任務(wù)可分為硬實時任務、軟實時任(rèn)務和非實時任務. 在單核處理器時代, 其主要解決方法為在保證實時任務能夠(gòu)在周期內完成的前提下, 在處理器空閑的時間才執行非實時任務. 由於處理器(qì)的個數限製, 使得非實時(shí)任務的等待時間大大(dà)的增加, 甚至導致非實時任務得不(bú)到運行. 同時也可能由於多個實時任務的周期(qī)相近而導致實時(shí)任務不能在截止期(qī)內完成.
軌跡插補是(shì)數控係統(tǒng)最重要的計(jì)算任務,軌跡插補具有實(shí)時性和精度的要求, 數控係統如果需要提高加工(gōng)零件的精度, 則需要提高插補的精(jīng)度, 插補精(jīng)度可以(yǐ)通過減小步長獲得, 但減小步長(zhǎng)將導致計算量成倍地增加, 極大地限製機床進的進給速度的提高, 甚至可能造成數控係統無(wú)法(fǎ)進行實時(shí)加工. 本文基於(yú)以上考(kǎo)慮(lǜ), 從任務分配和任務調度兩個方麵來縮小插補周期, 提高數控係(xì)統的加工精(jīng)度, 同時保(bǎo)證數控係統的(de)其他(tā)任務能夠更加高效的運行. 基於數(shù)控係統對實(shí)時性的需求, 本文(wén)基於四核的 ARM 硬件結構, 采用開源的 Linux 為軟件係統(tǒng)來搭建(jiàn)數控係統(tǒng).
圖 2 數控係統任務分配
圖 2 中, 數控係統非實時任務分配到 core0 上執行, 使用 Linux 的分(fèn)時調度器調度. 軟實時任務在 core1 核上調度, 采用 Linux 的實時調度器進行(háng)調度. core2 核上調度數控係統的硬實時任務, 采用 IRM 調度算法(fǎ)進行調度, 當 core2 核上某個(gè)任務的剩餘等待時(shí)間 N<1時, 則將此(cǐ)任務賦(fù)予一個最高優先級, 遷移到 core1 核上運行. core3 核上運行數控係(xì)統的插補任務, 使用RM 調度算法進行調度(dù), 單獨為插補任務分配一個內核運行, 有(yǒu)利於插補任務(wù)周(zhōu)期的縮短, 能有效(xiào)提高數控(kòng)係統的加工精度. 此(cǐ)任(rèn)務分配模型既可以(yǐ)保證數控係(xì)統重要的實時任務能夠得到更快的執行, 也可以保證非實時任務能夠及時的響應, 有效的解決(jué)了數控係統多任務(wù)混合的調(diào)度問題(tí).
3.2 仿真實驗與結果分析(xī)
本文基於四核 ARM 結構, 操作係統為添加了實時內核的 Linux 係統, 實時內核(hé)為 Xenomai. 3.2.1 Linux 係(xì)統實時性能測試.
本文針對數控係統的延遲時間進行了測(cè)試, 分別就 Linux 係(xì)統和添加了 Xenomai 實時內核後的係統進行了 20000 次實驗, 以下是測試結果.
圖 3 未添加實時補丁的係統延遲
圖(tú) 4 添加實時補丁的係統延遲
圖 3 為標準 Linux 內核的延遲(chí), 延遲的最大值為(wéi)97us, 最小值為 15us, 平均值為 20us, 延遲的波動性較大, 延遲時間較大, 係統的實時(shí)性能不佳. 圖 4 為添加了實時補丁後的(de)係(xì)統(tǒng)延遲, 其最大(dà)延遲為(wéi) 40us, 最小延遲為(wéi) 5us, 延遲的時間比較穩定, 平均延遲為 11us. 從結果可(kě)以看出, 增加了實時補丁的 Linux 係統延遲明顯減小, 係統延遲更加穩定, 能更好(hǎo)的提高係統對任務的(de)響(xiǎng)應速度, 使得增加了實時補丁的係(xì)統比之前的係統在實時性能方麵有很大的提高, 能更好的滿足數控係統對實時性的要求.
3.2.2 數控係統實時任務調度測試
本文基於搭建的數控係統仿真環境進行性能(néng)測試, 插補(bǔ)算法選用逐點比較法, 直線插補算法(fǎ)是在本地進行(háng)模擬測試, 設插補周期為1ms和0.8ms, 分別用C語(yǔ)言對直線插(chā)補進行仿真, 把交叉編譯後的程序在目標平台上運行, 測(cè)試結果表明該插補算法可以在(zài)目標平台上運行並繪製出(chū)一條直(zhí)線, 插補運算都能在(zài)其周期內完(wán)成, 從而說明數控係統的實時性能基本能夠滿(mǎn)足數控係統插補運算(suàn)的要求, 能夠明(míng)顯(xiǎn)的縮(suō)短(duǎn)數控係統的插補周期.
4、 總結
由於單核處理器在性能上遇到的瓶頸問題(tí),多核處理(lǐ)器的(de)出現有效的提高了係統的性能和效率,將多核(hé)處理器應用到數控係統能有效的(de)提(tí)高數控係(xì)統的效率,滿足數控係統對速(sù)度和精度的要求.木文基於四核的ARM處理器,搭建添加了實時補J‘的Linux操作(zuò)係統,將數控係統任務合理的分(fèn)配到每個核上運行,很好的提高了數控係統的效率.同(tóng)時使用改進的RM調度算法來調度數控係統的實(shí)時任務,能夠進一步提高數控係統的加工速度和精度.接卜來的進一步任務是進行大量的實驗,根據這些實驗的經驗確定合理的插補周期,既能保證(zhèng)數控任務精度的要求(qiú)也能使插補運算能夠(gòu)在周期內完成.
來源:中國科學院大學, 中國科學院 沈陽計算技術研究所
投稿(gǎo)箱:
如(rú)果您有機床行業、企業相關新聞稿件發(fā)表,或(huò)進行資訊合作,歡(huān)迎聯係本(běn)網編輯部, 郵箱:skjcsc@vip.sina.com
如(rú)果您有機床行業、企業相關新聞稿件發(fā)表,或(huò)進行資訊合作,歡(huān)迎聯係本(běn)網編輯部, 郵箱:skjcsc@vip.sina.com
更多相關信息
業界視點
| 更多
行業數據
| 更多
- 2024年11月 金屬切削機床產量數據
- 2024年11月 分(fèn)地區金(jīn)屬切削機床產量數據
- 2024年11月 軸承(chéng)出(chū)口情況(kuàng)
- 2024年11月(yuè) 基本型乘用車(chē)(轎車)產(chǎn)量數據
- 2024年(nián)11月 新能源汽車(chē)產量數據(jù)
- 2024年11月 新能源汽車銷量情況
- 2024年10月 新能(néng)源汽車產(chǎn)量數據(jù)
- 2024年10月 軸承出口情況
- 2024年10月 分(fèn)地區金屬切(qiē)削機床產量數(shù)據
- 2024年10月 金屬切削機床產量數據
- 2024年9月 新(xīn)能源汽(qì)車銷量情況
- 2024年8月 新能源汽車(chē)產量數據
- 2028年8月 基本型乘用車(轎(jiào)車)產量數(shù)據
博文選萃
| 更(gèng)多