作者:RICK HEARN,RICH JAENICKE
雖然多核處理器為安全關鍵型航空電子設備的設計人員提供了更小尺寸、更低功耗和更高性能的顯著優勢,但事實證明,將這些優勢帶到安全關鍵型系統中具有挑戰性。這主要是由于驗證和認證多核軟件和硬件架構的復雜性。主要關注的是在一個內核上運行的應用程序如何干擾在另一個內核上運行的應用程序,從而對確定性、服務質量以及最終的安全性產生負面影響。
正在努力簡化多核處理器的安全關鍵型實施。已經更新了幾個標準來解決多核問題。
其中包括ARINC 653,它涵蓋了安全關鍵航空電子應用的實時操作系統(RTOS)的空間和時間分區。ARINC 653 于 2015 年更新(ARINC 653 第 1 部分補充 4),以解決單個應用程序的多核操作,稱為“分區”。開放組的未來機載能力環境 (FACE) 技術標準版本 3.0 通過要求遵守補充協議 4 來解決多核支持問題。此外,由 FAA、EASA、TCCA 和其他航空當局支持的認證機構軟件團隊 (CAST) 發布了一份立場文件,其中包含名為 CAST-32A 的多核系統指南。這些文檔共同提供了成功將多核解決方案用于可認證高達 DAL A 的應用程序的要求,DAL A 是安全關鍵型軟件的最高 RTCA/DO-178C 設計保證級別。
多核的優勢
多核架構的好處很多,而且引人注目:
更高的吞吐量:在多個內核上運行的多線程應用程序可擴展吞吐量。多個單線程應用程序可以通過每個應用程序同時在自己的核心中運行來更快地運行。最佳核心利用率使吞吐量能夠隨核心數線性擴展。
更好的 SWaP [尺寸、重量和功耗]:應用程序可以在單個多核處理器中的單獨內核上運行,而不是在單獨的單核處理器上運行。對于機載系統,較低的SWaP可降低成本并延長飛行時間。
未來增長空間:多核處理器的更高性能支持未來的需求和應用。
更長的供應可用性:大多數單核芯片已經過時或接近過時。多核芯片在其供電壽命開始時提供處理器。
安全關鍵型應用中多核面臨的挑戰
在單核處理器中,通過在托管應用程序之間對內存空間和處理器時間進行可靠分區,多個安全關鍵型應用程序可以在同一處理器上執行。內存空間分區將內存的非重疊部分專用于在給定時間運行的每個應用程序,由處理器的內存管理單元 (MMU) 強制執行。時間分區將固定時間間隔(稱為主幀)劃分為一系列固定子間隔(稱為分區時間窗口)。為每個應用程序分配一個或多個分區時間窗口,窗口的長度和數量是應用程序最壞情況執行時間 (WCET) 和所需重復率的因素。操作系統 (OS) 確保每個應用程序在其分配的時間內都可以訪問處理器的核心。將這些安全關鍵技術應用于多核處理器需要克服幾個復雜的挑戰,最困難的是內核之間通過共享資源進行干擾。
磁芯之間的干擾
在多核環境中,每個處理核心的專用資源有限。所有多核硬件架構還包括共享資源,例如內存控制器、DDR 內存、I/O、緩存以及連接它們的內部結構(圖 1)。當多個內核嘗試同時訪問同一資源時,會導致爭用。這種情況意味著較低關鍵性的應用程序/分區可能會阻止較高關鍵性的應用程序/分區執行其預期功能。在四核系統中,內核僅通過互連訪問 DDR 內存(即沒有 I/O 訪問),來自多個內核的多個干擾源顯示 WCET 增加了 12 倍以上。由于DDR控制器中的共享資源仲裁和調度算法無法保證公平性,干擾影響通常是非線性的。事實上,測試表明,單個干擾核心可以將另一個核心上的WCET增加8倍。
圖1:單獨的處理器內核(灰色)共享許多資源(綠色),范圍從互連到內存和 I/O。
CAST-32A 為解決多核處理器中的干擾問題提供了認證指導。一種方法是基于對每個應用程序/分區的 WCET 測試和分析及其對共享資源的最壞情況利用率創建一個特殊用例。但是,特殊用例解決方案可能會導致供應商鎖定和重新驗證整個系統,并更改任何一個應用程序/分區,從而使這種方法成為集成模塊化航空電子設備(IMA)系統實施和維護的重大障礙。如果沒有操作系統機制和工具來支持減輕干擾,維持成本和風險非常高。對任何一個申請的更改都需要對所有綜合申請進行完整的WCET重新驗證活動。
更好的方法是讓操作系統根據解決 CAST-32A 目標的 DAL A 運行時機制、庫和工具的可用性有效地管理干擾。這為系統集成商提供了有效、靈活和敏捷的解決方案。它還簡化了新應用程序的添加,而無需對系統架構進行重大更改,減少了重新驗證活動,并有助于消除 OEM 供應商鎖定。
將單核軟件設計移植到多核
雖然將現有安全系統移植到多核平臺可提供更多計算資源,但由于訪問共享資源的延遲較長或來自其他內核的干擾,給定應用程序的 WCET 可能會增加。需要新的分析來確定其他資源(如內存、內存控制器和內核間通信)是否會成為新的瓶頸。雖然資源可能運行得更快,但相對性能的變化可能會導致應用程序停止工作或以不確定的方式運行。
有效利用多核資源
為了實現多核解決方案的吞吐量和 SWaP 優勢,軟件架構需要支持可用處理器內核的高利用率。必須支持所有多核功能,從啟用內核的并發操作(相對于可用內核在啟動時被迫進入空閑狀態或保持重置狀態)到提供確定性負載平衡機制。軟件多處理架構越靈活,系統架構師實現高利用率的工具就越多。
軟件多處理架構
與多處理器系統一樣,多核處理器上的軟件體系結構可以根據訪問來自其他處理器或內核的內存的方式以及每個處理器或內核是否運行自己的操作系統副本進行分類。對于基于多核的系統,最簡單的軟件架構是非對稱多處理 (AMP),其中每個內核獨立運行,每個內核都有自己的操作系統或虛擬機管理程序之上的來賓操作系統。每個內核運行不同的應用程序,在調度方面內核之間很少或根本沒有有意義的協調。由于缺乏負載均衡、難以緩解共享資源爭用以及無法跨內核執行協調活動(如全面內置測試所需的活動),這種解耦可能會導致利用率不足。
現代替代方案是對稱多處理 (SMP),其中單個操作系統控制所有資源,包括哪些應用程序線程在哪些內核上運行。這種架構易于編程,因為所有內核都“對稱”訪問資源,從而使操作系統能夠將任何線程分配給任何內核。
不知道哪些線程將在哪些內核上運行是一個重大挑戰,也是關鍵系統中確定性操作的風險。為了解決這個問題,CAST-32A引用了綁定多處理(BMP)的使用。BMP 是一種增強且受限的 SMP 形式,它將應用程序的任務靜態綁定到特定內核,使系統架構師能夠嚴格控制多個內核的并發操作。BMP 直接遵循 ARINC 653 補充 4 第 2.2.1 節中的多核要求,其中指出:“計劃在不同處理器內核上同時執行的分區內的多個進程。
用于安全認證的多核實時操作系統的一個例子是Green Hill的INTEGRITY-178 tuMP,它是一個統一的多核RTOS,支持AMP,SMP和BMP的同時組合。RTOS 的時變統一多處理 (tuMP) 方法為將安全關鍵型和安全關鍵型應用移植、擴展和優化到多核架構提供了靈活性。它從跨所有內核運行的時間分區內核開始,該內核允許將 AMP、SMP 和 BMP 應用程序的任意組合綁定到稱為關聯組的一個或多個內核組(圖 2)。
圖2:INTEGRITY-178 TuMP 的時變功能支持將應用程序與不同分區時間窗口的核心進行不同的綁定。
然后,它會添加時間差異,以便分區時間窗口不需要在內核之間對齊。INTEGRITY-178 tuMP還包括帶寬分配和監控(BAM)功能,根據DO-178C DAL A目標開發。BAM 旨在使系統集成商能夠識別和減輕基于多核的系統的干擾,直接解決 CAST-32A 指南并降低集成和認證風險。
硬件角度:DO-254 可認證的多核硬件
除了DO-178軟件外,飛機的全面安全認證還需要硬件的DO-254認證。當前和新興的航空航天需求要求硬件處理能力能夠支持具有混合安全關鍵級別的多種功能和應用。這些要求,以及包括多核處理器在內的密集計算需求和架構,突出了對能夠防止性能下降和共享資源爭用的RTOS技術的非常明確和迫切的需求。
包含多核處理技術的硬件體系結構必須專門設計為設置活動內核的數量和執行頻率,指定激活哪些 MCP 外設,并確定對共享內存和緩存的硬件支持。在安全關鍵型應用中,必須仔細選擇多核處理器,并根據幾個關鍵因素構建其主機板,包括處理器的服務歷史、制造可用性和質量數據、I/O 功能、性能水平和功耗。
Curtiss-Wright 基于 NXP QorIQ T2080 電源架構處理器的 VPX3-152 是專為支持安全關鍵型多核應用而設計的單板計算機 (SBC) 的一個示例。四核 T2080 以相對較低的功耗水平滿足許多 DAL A 應用的性能要求。T2080 的 16 個可用 SerDes 通道有效地將可從處理器直接提供服務的功能數量增加了一倍,從而簡化了整體電路板設計和認證工作。
這些多核處理器的全部功能在與RTOS相輔相成時得以實現,RTOS使系統設計人員和集成商能夠以高保證的方式利用處理器內核的所有可用計算能力。使用安全關鍵型多核 SBC 和提供確定性、用戶定義內核和調度分配的 RTOS 可以確保完全實現多核硬件的性能功能。
審核編輯:郭婷
-
處理器
+關注
關注
68文章
19312瀏覽量
230036 -
操作系統
+關注
關注
37文章
6838瀏覽量
123380 -
RTOS
+關注
關注
22文章
815瀏覽量
119695
發布評論請先 登錄
相關推薦
評論