將軟件集中到一個硬件平臺中被認為是航空電子設備的一種良好做法。事實標準 ARINC653 描述了它如何根據分區模型正確工作,排除和減輕硬件資源沖突。隨著該模型的成功和多核處理器 (MCP) 的普及,認證機構已開始擴大其對使用多核處理器的接受程度。
CAST-32 方法為多核處理器打開了大門……
關于認證機構軟件團隊 (CAST),一個由認證和監管機構代表 (EASA, FAA) 組成的國際組織,發表了一篇名為 CAST-32 的論文,描述了允許使用多核 -機載系統中的處理器。從本質上講,本文確定了可能對系統安全產生影響的主要主題,并且在大多數情況下,確定性是關鍵。CAST-32 的最終結論是可以使用多核處理器,但范圍僅限于最多兩個活動核心。
但隨后的發展實際上允許有效地利用它們
隨著 CAST-32 文件CAST-32A (2016) 的更新,這種情況發生了變化。現在可以在機載系統中并行使用處理器的所有內核。該文件明確允許使用多個核心,只要提交認證的組織(申請??人)可以為所提到的問題提供最先進的解決方案。這些問題涉及硬件設計方面以及軟件架構方面的問題。后者需要借助適當的操作系統打下堅實的基礎。高級操作系統已經將多核支持緊密結合到其分區管理中。
規劃的挑戰
CAST-32A 定位文件的“規劃”部分討論了與處理器、架構、操作系統和工具的選擇相關的所有主題。首先是申請人有責任識別 MCP。此外,CAST-32A 要求申請人注意軟件架構(包括 IMA 考慮因素)、資源劃分模型和要使用的開發工具。
最大的挑戰:無沖突地管理共享處理器緩存
CAST-32A 中最具爭議的話題被稱為“干擾通道和資源使用”。它留給申請人來識別應用程序之間的干擾,定義資源使用,并評估對整個系統的確定性行為的影響。兩個問題,共享處理器緩存和主內存帶寬的影響正在挑戰申請人構建系統。
因為高級緩存在處理器內核之間共享,所以 CPU 的硬件必須處理同步問題。此外,共享緩存的狀態可能會受到錯誤應用程序的影響,從而嚴重影響安全關鍵分區的性能。
內存沖突解決方案及時處理任務
為了為最壞的情況做好準備,符合 CAST-32A 的操作系統必須提供對緩存帶寬的監控,以關閉錯誤的應用程序。除了這些在運行時適用的技術方法之外,申請人應該有可能(幾乎)消除架構級別的緩存效應。最明顯的方法是增加時間分區窗口的安全邊際,這樣即使共享緩存永久不穩定也能滿足最壞情況執行時間(WCET)。這樣做時,性能將受到顯著影響。相反,申請人可以將應用程序排序為具有相同軟件級別的組。通過確保安全關鍵進程并行運行,緩存可以在關鍵時間框架開始時失效。
另一個干擾源是主存儲器總線。即使內存區域被分區并因此相互保護,對總線的訪問也需要一定的時間。一個應用程序對內存總線的密集使用是以并行運行的應用程序為代價的。該主題與共享緩存討論非常相似,緩解措施也幾乎相同。
細粒度的鎖定和清晰的前景
當在不同內核上執行的應用程序同時進入內核空間時,也可能發生爭用,可能訪問相同的數據結構。傳統上,對整個內核內存的訪問受到全局鎖的保護,一次只允許一個內核執行操作系統服務。這在技術上可能是足夠的,但在可擴展性方面并不令人滿意。為了減少這種干擾通道的影響,一個兼容良好的操作系統必須使用細粒度的鎖定,這大大降低了應用程序同時請求相同鎖定的概率。
除了識別干擾信道之外,CAST-32A 論文還需要對每個核心的資源使用情況進行分析。例如,申請人仍然需要在合理的條件下確定安全任務的 WCET,并且必須最終確定安全裕度。這同樣適用于內存區域大小的分析。一個好的操作系統必須通過提供有關內存預算和執行時間的信息來支持用戶。
概括
認證機構團隊 (CAST) 小組已經勾勒出在航空電子系統中使用多個處理器內核的方法。他們的定位文件 CAST-32A 涉及硬件設計方面以及軟件架構方面的問題。借助操作系統PikeOS,SYSGO 公司交付了主要構建塊之一,將強大的資源和時間分區擴展到具有多核的 CPU,完美地應用了 CAST-32A 論文的描述要求。
審核編輯:郭婷
-
處理器
+關注
關注
68文章
19404瀏覽量
230804 -
存儲器
+關注
關注
38文章
7528瀏覽量
164189 -
操作系統
+關注
關注
37文章
6889瀏覽量
123602
發布評論請先 登錄
相關推薦
評論