在航空電子設(shè)備中,將軟件集中到一個(gè)硬件平臺(tái)中被認(rèn)為是一種很好的做法。事實(shí)上的標(biāo)準(zhǔn) ARINC653 根據(jù)排除和緩解硬件資源沖突的分區(qū)模型描述了它如何正常工作。隨著此模型的成功和多核處理器 (MCP) 的出現(xiàn)越來(lái)越多,證書(shū)頒發(fā)機(jī)構(gòu)已開(kāi)始擴(kuò)大其對(duì)使用多核處理器的接受程度。
CAST-32 方法為多核處理器打開(kāi)了大門(mén)。..
關(guān)于這一點(diǎn),認(rèn)證機(jī)構(gòu)軟件小組(CAST),一個(gè)由認(rèn)證和監(jiān)管機(jī)構(gòu)代表組成的國(guó)際小組(EASA,F(xiàn)AA),發(fā)表了一篇名為CAST-32的論文,描述了允許在機(jī)載系統(tǒng)中使用多核處理器的條件。從本質(zhì)上講,本文確定了可能對(duì)系統(tǒng)安全產(chǎn)生影響的主要主題,在大多數(shù)情況下,事實(shí)證明確定性是關(guān)鍵。CAST-32的最終結(jié)論是可以使用多核處理器,但范圍僅限于最多兩個(gè)活動(dòng)內(nèi)核。
。..但隨后的開(kāi)發(fā)實(shí)際上允許有效地利用它們
隨著CAST-32文件CAST-32A(2016)的更新,這種情況發(fā)生了變化。現(xiàn)在可以在機(jī)載系統(tǒng)中并行使用處理器的所有內(nèi)核。該文件明確允許使用多個(gè)內(nèi)核,只要提交認(rèn)證的組織(申請(qǐng)人)可以為上述問(wèn)題提供最先進(jìn)的解決方案。這些問(wèn)題涉及硬件設(shè)計(jì)的各個(gè)方面以及軟件體系結(jié)構(gòu)的問(wèn)題。后者需要通過(guò)適當(dāng)?shù)?a target="_blank">操作系統(tǒng)打下堅(jiān)實(shí)的基礎(chǔ)。高級(jí)操作系統(tǒng)已經(jīng)將多核支持緊密地整合到其分區(qū)管理中。
規(guī)劃的挑戰(zhàn)
CAST-32A 定位文件的“規(guī)劃”部分討論了與處理器、架構(gòu)、操作系統(tǒng)和工具選擇相關(guān)的所有主題。它始于申請(qǐng)人確定MCP的責(zé)任。此外,CAST-32A要求申請(qǐng)人注意軟件架構(gòu)(包括IMA考慮),資源分區(qū)模型和要使用的開(kāi)發(fā)工具。
最大的挑戰(zhàn):管理共享處理器緩存而不發(fā)生沖突
CAST-32A最具爭(zhēng)議的討論主題被稱(chēng)為“干擾信道和資源使用”。它讓申請(qǐng)人來(lái)識(shí)別應(yīng)用程序之間的干擾,定義資源使用情況,并評(píng)估對(duì)整個(gè)系統(tǒng)的確定性行為的影響。共享處理器緩存和主內(nèi)存帶寬的影響這兩個(gè)問(wèn)題正在挑戰(zhàn)申請(qǐng)人構(gòu)建系統(tǒng)。
由于高級(jí)緩存在處理器內(nèi)核之間共享,因此 CPU 的硬件必須處理同步問(wèn)題。此外,共享緩存的狀態(tài)可能會(huì)受到錯(cuò)誤應(yīng)用程序的影響,從而嚴(yán)重影響安全關(guān)鍵分區(qū)的性能。
及時(shí)處理任務(wù)的內(nèi)存沖突解決方案
為了應(yīng)對(duì)最壞的情況,符合 CAST-32A 標(biāo)準(zhǔn)的操作系統(tǒng)必須提供緩存帶寬監(jiān)控,以便關(guān)閉錯(cuò)誤的應(yīng)用程序。除了這些在運(yùn)行時(shí)適用的技術(shù)方法之外,申請(qǐng)人應(yīng)該有可能(幾乎)消除架構(gòu)級(jí)別的緩存影響。最明顯的方法是增加時(shí)間分區(qū)窗口的安全裕度,以便即使共享緩存永久不穩(wěn)定,也可以滿(mǎn)足最壞情況執(zhí)行時(shí)間 (WCET)。這樣做時(shí),性能將受到重大影響。相反,申請(qǐng)人可以將應(yīng)用程序分成具有相同軟件級(jí)別的組。通過(guò)確保安全關(guān)鍵流程并行運(yùn)行,緩存可以在關(guān)鍵時(shí)間范圍開(kāi)始時(shí)失效。這應(yīng)該類(lèi)似于單核處理器上的情況,其中應(yīng)用程序按順序調(diào)度,在關(guān)鍵安全應(yīng)用程序啟動(dòng)時(shí)執(zhí)行資源清理。
另一個(gè)干擾源是主內(nèi)存總線。即使內(nèi)存區(qū)域被劃分并因此相互保護(hù),對(duì)總線的訪問(wèn)也需要一定的時(shí)間。一個(gè)應(yīng)用程序?qū)?nèi)存總線的密集使用是以并行運(yùn)行的應(yīng)用程序?yàn)榇鷥r(jià)的。本主題與共享緩存討論非常相似,緩解措施幾乎相同。
細(xì)粒度鎖定和清晰的前景
當(dāng)在不同內(nèi)核上執(zhí)行的應(yīng)用程序同時(shí)進(jìn)入內(nèi)核空間時(shí),也可能發(fā)生爭(zhēng)用,從而可能訪問(wèn)相同的數(shù)據(jù)結(jié)構(gòu)。傳統(tǒng)上,對(duì)整個(gè)內(nèi)核內(nèi)存的訪問(wèn)受全局鎖保護(hù),一次只允許一個(gè)內(nèi)核執(zhí)行操作系統(tǒng)服務(wù)。這在技術(shù)上可能已經(jīng)足夠,但在可擴(kuò)展性方面并不令人滿(mǎn)意。為了減少這種干擾通道的影響,一個(gè)兼容良好的操作系統(tǒng)必須使用細(xì)粒度鎖定,這大大降低了應(yīng)用程序同時(shí)請(qǐng)求同一鎖的概率。
除了識(shí)別干擾信道外,CAST-32A論文還要求對(duì)每個(gè)內(nèi)核的資源使用情況進(jìn)行分析。例如,申請(qǐng)人仍然需要在合理?xiàng)l件下確定安全任務(wù)的WCET,并且最終必須確定安全裕度。這同樣適用于存儲(chǔ)區(qū)域大小的分析。一個(gè)好的操作系統(tǒng)必須通過(guò)提供有關(guān)內(nèi)存預(yù)算和執(zhí)行時(shí)間的信息來(lái)支持用戶(hù)。
總結(jié)
證書(shū)頒發(fā)機(jī)構(gòu)團(tuán)隊(duì) (CAST) 小組勾勒出在航空電子系統(tǒng)中使用多個(gè)處理器內(nèi)核的方法。他們的定位文件CAST-32A提到了硬件設(shè)計(jì)的各個(gè)方面以及軟件架構(gòu)的問(wèn)題。通過(guò)PikeOS操作系統(tǒng),SYSGO公司提供了主要的構(gòu)建塊之一,將強(qiáng)大的資源和時(shí)間分區(qū)擴(kuò)展到具有多個(gè)內(nèi)核的CPU,完美地應(yīng)用了CAST-32A論文中描述的需求。
審核編輯:郭婷
-
處理器
+關(guān)注
關(guān)注
68文章
19349瀏覽量
230286 -
航空電子
+關(guān)注
關(guān)注
15文章
492瀏覽量
45256
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論