如今,航空電子系統架構師在做出設計決策時經常因一個代價高昂的問題而感到沮喪 - 由于現有系統缺乏支持更新所需的靈活性,因此必須執行實質性的重新設計。設計過程中的這種不靈活的障礙可以通過使用新的、高度集成的多核處理器來克服,這些處理器可以提供長期的系統靈活性。現在,多核處理器不僅被用于解決新單核處理器可用性下降的問題,而且還利用增加的吞吐量,同時保持同等的功耗。
對各種多核操作系統(OS)架構的討論經常得出一個共同的錯誤結論:它們都提供類似的功能,降低了架構在設計選擇中的重要性。更詳細的檢查突出顯示了一些關鍵的多核操作系統體系結構之間的顯著差異。仔細考慮這些差異有助于防止當今的多核操作系統架構選擇成為未來系統更新的數百萬美元的障礙。
背景
在單核系統中,多個應用程序可以通過在托管應用程序之間對內存、資源和處理器時間進行可靠分區來共享計算資源。時間分區的常見方法是將固定時間間隔劃分為一系列固定子間隔,稱為“分區時間窗口”。為每個應用程序分配一個或多個分區時間窗口,窗口的長度和數量是應用程序最壞情況執行時間 (WCET) 和所需重復率的因素。操作系統確保每個應用程序在其分配的時間內都可以訪問處理器。
任何系統都需要考慮如何考慮應用程序的增長,特別是對于范圍傾向于擴展的系統(例如,飛行管理或機載維護)。單核系統的方法包括使用未分配的時間,轉移和/或縮短其他應用程序的時間分配,以及將應用程序移動到功能更強大的計算平臺。多核平臺的端口應繼續支持這些方法,并允許在單核架構下不可行的技術。
多核 – 并發調度
在最基本的層面上,多核處理器的內核可以分配給并發執行獨立的應用程序或同時執行應用程序內的多個線程。必須考慮通過兩個或多個內核共享的資源(如主內存或系統互連)可能發生的任何爭用。遺憾的是,今天的 COTS 多核處理器目前缺乏允許管理對所有共享資源的訪問的硬件控制。
SMP 多核架構
對稱多處理 (SMP) 是一種基于多核的架構,其中單個操作系統控制所有資源,包括將內核分配給應用程序。“對稱”是指所有內核被視為平等,允許操作系統利用任何內核來執行應用程序線程。即使應用程序可能被設計為多線程,這并不意味著當多個內核可用時,它將執行相同的操作。對于可靠的分區,操作系統應包括支持配置將哪些內核分配給應用程序以及線程將具有要執行的關聯性。
借助 SMP 支持,在將一組應用程序從單核處理器移植到多核處理器時,可以采取保守的方法,包括保留現有分區計劃。通過確保所有線程對同一內核具有關聯,線程將像在單核處理器上一樣執行。如圖 1 所示,現在可以根據需要并行化特定應用程序以獲得吞吐量,選擇每個線程將在哪個內核上運行,從而實現應用程序增長。新應用程序可以專門設計為同時利用多個內核,可能具有更短的時間分配。此外,將擴展連續內置測試(BIT)應用程序,以確認所有內核和共享資源的正確性。
圖1:使用 SMP 的應用程序增長注意事項
AMP多核架構
在移植應用程序(即使是多線程應用程序)時,可以并行有效使用多少個內核可能存在實際限制。非對稱多處理 (AMP) 是一種基于多核的架構,其中每個內核基本上作為單獨的計算資源運行,允許并發調度。這種體系結構被稱為“非對稱”,因為它允許(但不要求)實現使用不同類型的處理器內核和/或操作系統。由于多個不同的操作系統不能全部以最高的處理器權限級別運行,因此可能存在一個監視器功能(有時稱為“虛擬機監控程序”)在所有內核上提供此支持。AMP 架構的優勢在于,不同的應用程序可以在可用內核上同時運行。通過一定程度的虛擬化支持(例如,作為監控功能的一部分),這包括不同操作環境(如Linux或專有操作系統)的應用程序。
將應用從單核處理器移植到 AMP 架構時,可以采用與 SMP 架構類似的方法。但是,在解決爭用問題之前,可以實際分析的并發執行內核(例如 WCET)的數量將受到限制。如圖 2 所示,由于應用程序相互依賴性,服務器應用程序(如文件系統)即使在爭用的情況下也可能是并行性的良好候選項。假設可以考慮對共享資源的爭用,則可以將AMP架構中的每個內核配置為運行獨立的應用程序計劃或完全不同的環境,例如來賓操作系統。與運行獨立計劃相關的一個困難是,仍然需要跨計劃分析資源利用率。如果不能及時協調獨立的計劃,則可能無法分析和考慮資源可用性和協調的硬件 BIT。如果其中一個內核正在運行虛擬化操作系統(例如 Linux),則操作系統上缺乏保證活動以及無法協調硬件 BIT 可能會導致并行運行的內容受到嚴重限制。
當應用程序更新需要的帶寬超過其當前核心可以支持的帶寬時,可以將應用程序移植到其他核心之一。這種移植會因 AMP 架構固有的幾個因素而變得復雜。例如,帶寬必須全部來自一個內核,移植可能會破壞有關應用程序執行順序的假設,并且傳輸延遲可能會因開/關內核通信機制的差異而受到影響。這些復雜性與流行的想法相矛盾,即 AMP 架構由于調度不那么復雜,因此更容易認證。
圖2:AMP 的應用增長注意事項
來自綠山軟件的 tuMP 多核架構
其他架構包括異構多處理(HMP – 單個內核靜態劃分為獨立的 AMP 或 SMP 子系統,每個子系統都有自己的操作系統)和統一多處理(UMP – 單個內核在應用程序基礎上靜態劃分為子系統,但具有單個“統一”操作系統)。AMP、SMP 和其他類似架構的一個常見限制是,核心使用情況在執行期間是固定的,并且在分配后不會更改。這一限制通過Green Hills Software開發的多核架構得到解決,該架構目前正在進行DO-178B A級認證工作,作為INTEGRITY-178產品線的一部分。這種架構被稱為“時變統一多處理”(tuMP),顯著提高了處理器內核利用方式的靈活性。(tuMP 是 Green Hills Software 的注冊商標。tuMP 架構的可行性通過其作為 INTEGRITY-178 單核產品的更新的實施得到了證明,保留了 12 年的安全和安保保證譜系和產品服務歷史。
tuMP 架構的好處是它保留了所有 AMP 和 SMP 調度功能,同時解決了它們的重大限制。tuMP 體系結構通過稱為“地緣組”的新可調度實體提供靈活性,該實體是應用程序、核心和調度特征的關聯。只有分配給地緣組的應用程序才能在其計劃的時間范圍內使用分配給同一地緣組的核心。通過創建多個子系統調度,可以同時調度獨立的關聯組(即應用程序和內核的非重疊使用),并且不受時間窗口必須在所有內核之間對齊的限制。此外,通過為每個組合創建唯一的地緣組,應用程序可以在不同的內核集上運行。借助 tuMP,可以完全靈活地利用可用內核進行并發應用程序和并發線程執行,并在需要時更改這些關系(即時變)。
tuMP 體系結構稱為“統一”,因為通用操作系統控制所有內核的調度和應用程序之間的整體通信。此特性解決了在內核之間移動時的 AMP 應用程序移植問題;可以使用相同的機制在相同或不同內核上的應用程序之間進行通信。
單核處理器的分區調度端口可以通過為綁定到同一核心的每個應用程序創建具有關聯組的相同子系統調度來實現。如果某些應用程序需要額外的吞吐量,則可以將其他內核分配給其地緣組,也可以從任何內核分配未使用的時間。
在 AMP 系統中(如圖 2 所示),通過并行運行文件系統應用程序與相互依賴的應用程序來實現一定程度的并行性。如果應用程序需要比文件系統更高的吞吐量,則文件系統不會充分利用其核心。如圖 3 所示,tuMP 通過創建一個將文件系統與依賴于它的應用程序(例如飛行管理)組合在一起的關聯組,并為其分配多個內核,從而解決了利用率不足的問題。在此方案中,文件系統可以與特定核心具有相關性,應用程序在未用于文件系統操作時也會使用該核心。
當其他應用程序(例如 BIT)需要同時控制所有內核或現有應用程序不能容忍并行運行的其他應用程序時,在內核上集成來賓操作系統是一項設計挑戰。在 tuMP 中,可以將來賓操作系統關聯性組分配給多個分區時間窗口,這些時間窗口會分解核心的使用以支持這些其他要求。現在,可以為 BIT 應用程序的地緣組分配所有內核,以便它可以執行必要的硬件測試。
在 AMP 系統中,如果另一個內核有足夠的未分配時間來支持更新的應用程序,則可以支持其核心吞吐量不足以支持更新的應用程序。借助 tuMP,應用程序(例如,板載維護)可以分布在與多個內核關聯的時間窗口上,而不僅僅是一個內核。
圖3:使用 tuMP 的應用程序增長注意事項
集成多核處理器
航空電子認證工作需要徹底了解使用這些技術的復雜性和后果。系統設計人員在將多核處理器集成到其航空電子平臺設計中時,應牢記謹慎選擇架構的重要性。系統設計人員應考慮根據其系統靈活性選擇多核架構,以優化核心使用并管理認證風險。就用戶而言,他們應該明白,他們的供應商今天的選擇將影響未來軟件擴展的經濟可行性。
審核編輯:郭婷
-
處理器
+關注
關注
68文章
19833瀏覽量
233961 -
操作系統
+關注
關注
37文章
7114瀏覽量
125154
發布評論請先 登錄
電鉆改裝新潮流:航空插頭的魅力所在

從零開始學MOS管:揭秘現代電子設備的“心臟”

電線連接的藝術:航空插頭如何征服了連接領域

電源技術對電子設備的影響
航空插頭的“守護者”:揭秘絕緣材料之謎
艾畢勝電子全自動跟拍智能云臺驅動板方案的神秘面紗

北斗衛星時鐘——揭開“授時”的神秘面紗

評論