999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Jetson TX2處理器的星載操作系統設計與驗證

2022-11-15 13:44:36趙麗李超王冰田帥虎林博軒徐婧瑤
航天器工程 2022年5期
關鍵詞:進程智能設計

趙麗 李超 王冰 田帥虎 林博軒 徐婧瑤

(航天東方紅衛星有限公司,北京 100094)

隨著空間大數據在軌應用需求的日益增長以及人工智能技術快速演進,衛星使用智能化手段解決空間數據的應用需求越來越迫切[1]。為了使空間遙感數據更好地服務用戶,開展支持衛星智能應用的操作系統設計和驗證工作,有利于加快實現星載操作系統技術自主可控,推動衛星智能化程度的發展。當前主流的嵌入式系統有UCOS[2]、Vxworks[3]、Linux。UCOS為搶占式多任務操作系統,但缺少文件系統支持。Vxworks實時性強,為商業操作系統,不支持開源。Linux嵌入式系統,支持文件系統,代碼開源,適配于多種處理器,兼容性強,且對于深度學習、神經網絡等人工智能應用支持性較好。對于人工智能應用硬件處理平臺,Nvidia Jetson系列處理器應用廣泛,支持主流的并行計算平臺和編程模型(Cuda)并行計算應用,尤其是NVIDIA Jetson Tegra TX2處理器功耗低、性能強。因此本文基于Linux系統進行在Jetson TX2硬件平臺進行改進設計,形成適用于智能應用的星載操作系統。

國內有多位學者對星載操作系統進行了深入的研究,其中文獻[4]對多核處理器的星載分區操作系統的調度方式進行研究,文獻[5]對小衛星星載操作系統內核的實時性進行了研究,文獻[6]對衛星星載操作系統的容錯機制進行了研究,文獻[7]對星載操作系統的安全機制進行了研究設計。這些研究成果重點關注星載操作系統的調度機制、實時性、容錯機制、安全機制,但是缺少對Linux操作系統用于航天器的研究和工程驗證。而深度學習、神經網絡等人工智能應用深度依賴Linux系統,因此有必要開展基于Linux的星載操作系統專項設計和工程驗證。

從當前國外行業Linux應用情況來看,國外龍飛船(Dragon)[8]、獵鷹火箭已經作為重要核心軟件投入使用Linux系統,充分說明了Linux系統應用于復雜任務航天器的可行性和必要性。基于Linux操作系統的軟件研制能夠催生出代碼完全自主可控的宇航系統軟件,不僅有利于加快天基高速計算的推廣應用,也必將有利于推動國家大數據服務體系的技術生態建設。

本文基于Jetson TX2處理器硬件平臺上開展了Linux的星載操作系統的可靠性設計、高速傳輸設計、智能應用管理框架的設計及編碼實現,并對星載操作系統進行了工程驗證。通過開展面向智能應用的星載操作系統設計,可大幅提高衛星的智能應用水平,對于完成深空探測、星群協作、天基大數據服務等復雜宇航任務,具有十分重要的意義。

1 星載智能應用操作系統的設計與改進思路

空間環境相比地面環境較為惡劣和復雜,對操作系統的可靠性安全性有著較高的要求。在軌智能應用需要接收高速數據,需要操作系統具備強實時性的特征。另外,為了滿足App上注、加載運行的需求,需要專門設計一套智能應用管理框架。當前的地面Linux系統多為單份啟動,出現操作系統故障后沒有自主恢復機制,而且在常規PCIE(PCI-Express)軟件驅動方面不能實時匹配高速數據傳輸,因此需要針對星載操作系統開展專項設計和適應性改進,具體有以下3點。

(1)智能應用所需要的嵌入式系統為大規模Linux操作系統,啟動流程包含了Uboot引導、Linux內核選擇啟動以及文件系統加載,啟動過程較為復雜。為確保操作系統能夠在復雜空間環境下正常啟動,需要對星載操作系統的啟動關鍵環節加強防護,以提升操作系統在無人值守環境下的可靠性。

(2)星載智能應用所運行的空間環境對高速數據的處理時效性要求更高,需要對操作系統所運行的CPU架構與高速數據傳輸流程綜合考慮,增強操作系統的實時性,優化數據傳輸流程,從而提高遙感數據的傳輸速度。

(3)為了方便用戶對星載操作系統進行智能應用的管理,需要設計智能應用的管理框架,實現對App的在軌管理模式。同時,為了促進星載智能應用的持續發展,增強操作系統生態建設,需要通過吸納更多用戶、參與者開發使用App,并不斷拓展衛星數量、星座規模,最終成長為天基數據服務體系的重要組成。

典型星上操作系統如UCOS系統支持的硬件平臺多以單核處理器為主,傳輸總線多以低速CAN總線、中速SpaceWire總線為主,并且對深度學習、神經網絡等人工智能軟件環境支持較差。Vxworks星上操作系統實時性高,但是屬于商業操作系統,代碼不支持開源。改進后的基于Linux內核的星上操作系統支持多核處理器的任務調度和并行計算,具備高速接口PCIE的數據傳輸功能,支持主流的人工智能軟件運行環境及多種App的在軌管理運行,并且開放源碼,代碼自主可控。相對于典型星上操作系統,本操作系統在星上數據處理能力、星上數據傳輸能力、智能應用的管理能力上有很大優勢。

2 星載智能應用操作系統的設計實現

2.1 星載智能應用操作系統設計架構

星載操作系統由系統底層、協議層、應用層3個部分組成,具體如圖1所示。底層具有強實時和多內核冗余的特性,包括Bootloader與Linux內核。Bootloader采用引導軟件Uboot,具有開源、硬件支持良好等優秀特性。Linux內核由實時內核和常規內核模塊組成,實時內核采用RTLinux[9]實時調度模塊,常規內核采用了穩定性和兼容性好的Linux4.9調度常規內核模塊,這樣可以滿足實時任務和非實時任務不同等級的響應要求。

注:Cudnn為神經網絡加速庫;GDAL為空間數據轉換基礎庫。

協議層支持動態更換基礎庫、軟件高速上注、多文件系統冗余,從內容上包括自定義基礎庫、公用基礎庫、智能應用基礎庫、星載軟件使用協議、文件系統。自定義基礎庫為第三方自行定義的庫函數,公用基礎庫包含libc、libc++等常規C函數庫,智能應用基礎庫包括Cuda[10]、Tensor[11]、Opencv[12]等,星載軟件協議包括斷點續傳協議、高速上注協議、低速遙控協議、高速傳輸驅動,文件系統采用四份Ext4[13]文件系統進行備份。

應用層具有軟件定義和軟件動態重構的特性。應用層設計了智能應用管理框架,包括App生命周期管理模塊、遙控遙測管理模塊、數據庫管理模塊、容器管理模塊。App生命周期管理包括App安裝、App啟動、App停止、App更新、App卸載。遙控遙測管理模塊具備接收地面指令的功能,并對星上健康狀態進行監控下傳。App采用容器建立安全防護機制,數據庫負責App數據的存儲和記錄。

2.2 星載智能應用操作系統改進設計實現

根據星載操作系統高可靠、高性能、生態優良、自主可控的需求,設計了Linux操作性系統多分區可靠啟動策略、自主恢復策略、高速數據傳輸策略,并制定了智能應用管理框架設計方案。

2.2.1 多分區可靠啟動策略與自主恢復策略

為了應對空間復雜環境可能引起的單粒子翻轉導致數據錯誤問題,設計了Linux操作性系統“三取二比對啟動”、“遍歷內核啟動”的可靠啟動策略,并能夠在操作系統被破壞的情況下進入“自主恢復模式啟動”,完成內核與文件系統的覆蓋恢復。

針對Linux系統的組成結構以及所在運行平臺NVIDIA Jetson Tegra X2存儲器的大小,進行多分區存儲設計。NVIDIA Jetson Tegra X2存儲器EMMC共32 GByte,存儲了bootloader(Tboot、Cboot、Uboot)、Linux內核、Linux文件系統。由于NVIDIA廠商對Tboot、Cboot做了固化,只有Uboot、Linux內核、Linux文件系統所在分區可以修改,因此重新對Uboot、Linux內核、Linux文件系統進行分區設計。本設計方案Uboot存儲一份,Linux內核存儲4份(3份常規存儲與1份備份存儲),Linux文件系統存儲4份(3份常規存儲與1份備份存儲),并對App分區單獨劃分一塊存儲分區。其中Linux文件系統存儲分區大小為5 Gbyte,App分區存儲大小為10 Gbyte。如圖2所示,圖中黑色箭頭表示Uboot啟動內核的過程,紅色箭頭表示內核掛載文件系統的過程,綠色箭頭表示文件系統調用App分區的過程,藍色虛線箭頭表示備份分區恢復內核與文件系統的過程。

圖2 多分區存儲圖

本操作系統設計了“三取二內核比對啟動”、“內核遍歷啟動”、“自主恢復模式啟動”3種方式。操作系統啟動失敗后會觸發硬件看門狗,引起操作系統重新啟動。如圖3所示,“三取二內核比對啟動”是操作系統上電后對三份內核進行“三取二”比對,比對成功則繼續啟動對應的文件系統完成啟動流程。“內核遍歷啟動”是操作系統在上電后“三取二內核比對”失敗后進入的啟動方式,此時操作系統直接通過選擇內核N(N=1,2,3)啟動。如果“三取二內核比對啟動”以及“內核遍歷啟動”3次啟動后均啟動失敗,則進入“自主恢復模式啟動”流程。自主恢復模式選擇使用備份內核及備份文件系統對三份操作系統進行覆蓋恢復,恢復完成后再次進入“三取二比對啟動”方式。操作系統啟動成功后,檢測其他操作系統分區的文件標記,對于錯誤標記的操作系統分區使用備份系統恢復正常。

圖3 可靠啟動流程圖

2.2.2 高速數據傳輸設計策略

為了增強操作系統的實時性,增加RTLinux實時內核的支持,使任務的進程調度延時和關中斷延時大幅下降。在操作系統實時性的基礎上,需要根據數據傳輸的流程進行優化,提高操作系統PCIE接口的數據傳輸性能。

對于PCIE高速數據傳輸設計了3種方式進行優化,分別是綁定專用CPU核、用戶態內核態使用共享內存、傳輸數據雙緩沖處理。首先,對PCIE高速數據讀取模塊綁定特定的CPU核,這樣就減少了Linux操作系統調度CPU的時間,提高了PCIE數據的處理性能。其次,對于PCIE高速數據讀取模塊讀取到緩存數據后,與應用層App交互時采用共享內存機制快速傳輸數據,減少了PCIE驅動內核態與用戶態的數據拷貝時間。

另外開展了PCIE數據傳輸緩存數據的雙緩沖區設計,如圖4所示。

圖4 PCIE圖像讀取流程圖

以App讀取圖像數據為例,PCIE接口接收到圖像數據后進行圖像幀讀取,當緩存1空閑時,PCIE將數據寫入緩存1。此時如果有App讀取緩存1數據,則將緩存1置為忙碌狀態,App讀取完數據時置緩存1為空閑狀態。當有新的圖像幀數據需要寫入時,PCIE讀取模塊檢測到緩存1為忙碌狀態,則將讀取的圖像寫入緩存2,并通知用戶態App接收圖像1。同理,當App讀取緩存2的圖像幀數據時,將緩存2置為忙碌狀態,App讀取完圖像數據時置緩存2為空閑狀態。由于當前操作系統僅允許同一個App讀取緩存圖像數據,所以PCIE寫入模塊尋找空閑的緩存區時不需要等待。這樣既解決了App讀寫緩存數據同步的問題,又減少了PCIE的等待時間。

2.2.3 智能應用管理框架設計

智能應用管理框架包含App在軌全生命周期管理、App上注以及App應用方式。通過地面發送指令星上App可以完成整個生命周期的狀態改變。App上注可實現地面完整上注、斷點續傳上注、增量文件上注。App應用模式包含容器應用和數據應用。本節對智能應用管理框架下App任務調度、動態加載、編譯打包、資源訪問機制進行了分析,同時給出了在軌上注的使用方式以及App的應用方式。

1)基于Linux實現APP任務調度、動態加載

智能應用管理框架設計了App遙控遙測進程、App管理進程,這兩個功能進程長期在Linux系統后臺運行。App遙控遙測進程負責進行地面指令的解析判斷(如AppN安裝、AppN啟動、AppN更新、AppN卸載、AppN停止)與App狀態的健康狀態遙測下傳。App管理進程負責接收App遙控遙測進程消息去執行不同的App任務。如圖5所示,App遙控遙測進程通過套接字傳遞過來的方式通知App任務執行進程去執行不同的任務,App任務執行進程通過套接字進程通信的方式通知向App遙控遙測進程記錄AppN的健康狀態信息,并將App的狀態信息進行遙測下傳。

圖5 App任務調度

App管理進程接收到App指令接收進程的消息后,根據消息的種類分別進行了線程創建、進程創建、消息隊列創建。接收到AppN安裝的消息后,創建AppN安裝線程,執行App安裝功能;接收到AppN啟動的消息后,由于各個App需要有獨立的存儲空間,所以創建AppN啟動進程,執行App啟動功能;接收到AppN更新的消息后,創建AppN更新線程,執行App更新功能;接收到AppN卸載的消息后,創建AppN卸載線程,執行App卸載功能;接收到AppN停止的消息后,為了考慮節省資源消耗,采用創建消息隊列的方式,將AppN停止的動作加入消息隊列,按照先后順序分別執行多個App的停止功能。從而App管理進程完成了多個App的任務調度和動態加載、卸載。

2)App編譯打包過程

用戶在地面完成App編譯過程。如圖6所示,App由總線數據、計算模型、可執行程序、緩沖區、程序區、配置數據等文件夾組成,文件夾里面分別存放對應的文件。用戶代碼編寫完畢之后,由SDK工具包按照App開發實例和App編譯指南,在開發機x86 Linux環境下由交叉工具編譯鏈進行交叉編譯,生成可執行程序文件。最后由SDK開發工具包進行App打包,從而完成App的地面制作。App注入到星上后,由Linux系統按照進程進行資源調度。

圖6 App地面打包過程

3)App資源訪問、獨立運行機制

對于多個App訪問資源,為了避免App對資源訪問沖突的問題,App管理進程對特定資源訪問設計了鎖機制,當一個App進行該資源訪問時,進行加鎖操作。這樣在當前App進行資源訪問時,其它App無法進行資源訪問,直到當前App資源訪問完畢解鎖操作后,其它App才能進行資源訪問。

為了保證App進行圖像數據處理后發送出各自獨立的數據,App發送接口采用加鎖操作。如圖7所示,當一個App發送處理結果數據時,進行加鎖操作,這時其它App發送處理結果時就要等當前App發送完畢解鎖后再進行發送操作,從而避免了發送數據亂幀的現象。

圖7 App資源訪問鎖機制

對于同一個App的安裝、啟動、停止、更新、卸載,App管理進程對同一個App的這些動作設計了線程加鎖處理,保證每個動作完成之后再執行其他動作,如圖8所示。當收到AppN的安裝動作時,去獲取AppN的線程鎖,若沒有該App的其它動作,則能獲取成功,則執行該App的安裝操作。當該App正在安裝時,收到該App的啟動操作,AppN取獲取線程鎖。由于AppN在安裝過程中,還未釋放AppN的線程鎖,因此App啟動的指令需要等待App安裝完成之后執行。

圖8 多個App鎖機制過程

4)App在軌上注模式

操作系統支持用戶發送指令數據進行App在軌上注與在軌管理,包含“進入上注模式”、“開始App高速上注”、“結束App高速上注”、“退出上注模式”、“AppN安裝”、“AppN啟動”、“AppN停止”、“AppN升級”、“AppN卸載”,指令碼字設計見表1。

表1 App管理指令

星載操作系統接收地面注入的App完成在軌上注。上注的方式分為整體上注、斷點續傳上注、增量文件上注。對于占用空間較小的App,可以在衛星過境時間內完成整體上注。如果衛星過境時間內App無法完成整體上注,則可以選擇斷點續傳上注,等衛星下次過境時再次上注。對于只需要改變App的某個配置文件或增加一個腳本文件,可以選擇增量文件上注。

5)App的應用方式

為了減少App與操作系統的耦合性,設計了容器應用模式,App出現異常時,不會影響操作系統的正常運行。用戶上注的App首先進入到測試容器環境中,經過規定時間驗證正確后再執行在軌任務。

傳統星載操作系統受限于存儲空間和CPU的性能,使用文件系統較少,遙測數據多存儲在內存中。基于Linux的星載操作系統支持文件系統,對于數據存儲讀寫,可以使用數據庫存儲數據供在軌任務使用。數據庫可存儲多種遙測數據,包括實時遙測、延時遙測、重點遙測,為星載樣本訓練、自主健康管理、行為預測等智能應用提供了便利手段,解決了衛星難以實現長期有效數據分析的難題。

3 星載智能應用操作系統驗證情況

3.1 驗證方案及驗證環境

根據航天器在軌數據實時計算任務對Linux操作系統的測試需求,搭建了星載操作系統單機測試環境。由于NVIDIA Jetson Tegra X2硬件平臺具備性能高、功耗低的特點,因此本驗證環境單機采用由四核NVIDIA Jetson Tegra X2模塊組成的電性產品。其它硬件測試環境還包括地檢設備及穩壓源。軟件測試環境包括操作系統組件(部署在星上)、部署地檢設備(Ubuntu1804)、Linux測試平臺(LTP)開源測試套件,見表2。

表2 驗證環境

3.2 驗證測試情況

該星載操作系統運行在單機測試環境,進行了可靠啟動、高速數據傳輸的比對測試、智能應用的管理測試、操作系統的壓力測試。

1)可靠啟動策略與自主恢復策略測試

根據可靠啟動及自主恢復機制的設計思路,分別進行了正常啟動、故障注入測試。同時,針對操作系統應用程序的內存泄漏進行可靠性測試。測試結果見表3。

表3 可靠性測試項目及結果

2)高速數據傳輸測試

該高速數據傳輸測試中PCIE選用2.0版本,如圖9所示,斜線圖為改進前的PCIE驅動的傳輸速率,灰色圖為改進后的PCIE傳輸速率。改進后的傳輸速率平均值為8.36 Gbit/s,改進前傳輸速率為6.08 Gbit/s,傳輸速率提高了37%。

圖9 PCIE傳輸比對表

3)智能應用管理框架測試

對智能應用管理框架進行了App上注、App管理、數據庫應用、軟件重構的測試,見表4。App上注對上注數量和上注方式進行了測試,并對App的管理功能(安裝、啟動、停止、更新、卸載)進行了驗證。數據庫應用測試采用SQLite工具,測試了空間遙感數據的插入、刪除、更新、查詢功能。軟件重構功能完成了應用程序和配置文件的更換測試,應用程序包括遙控遙測模塊、App管理模塊,配置文件包括App配置文件、操作系統配置文件。

表4 管理框架測試

4)壓力測試

對操作系統通過Linux測試平臺(LTP)測試環境進行壓力測試,可以獲取到資源利用率的情況。本測試選擇8點到22點之間共8個時間段的測試結果,如圖10所示。

圖10 進程負載情況

從圖10測試結果可知,用戶進程負載、內核進程負載、IO進程負載、空閑進程負載、內存占用情況。其中系統運行時用戶進程最大CPU占用率為96.05%,內存最大占用為76.2%,系統運行穩定。

4 結束語

本文從星載智能應用的可靠性、安全性、好用易用性需求出發,對Linux進行改進設計。經過單機功能性能測試及整星各個階段的工程驗證,改進后的星載操作系統的功能性能提升明顯,滿足了工程預定目標。設計的星載操作系統對整星數管系統的星上數據處理能力、星上數據傳輸能力、星上智能化應用模式都有較大整體性促進作用。對于高算力硬件平臺,基于Linux內核的星載操作系統通過多核調度和并行計算,提高了數管系統的星上算力水平和數據處理能力。改進后的星上操作系統可支持PCIE接口高速傳輸數據,提高了數管系統的數據傳輸性能和數據吞吐量。在軟件重構功能上,改進后的星上操作系統支持多種智能應用的上注與在軌管理,實現了數管系統軟件定義衛星的理念。

本系統基于NVIDIA Jetson Tegra TX2處理器平臺和Linux開源操作系統,開展支持衛星智能應用的操作系統設計,具有自主可控、兼容性廣泛、輕量化、普適性強的特點。基于Linux開源分支進行改進設計,代碼自主可控。本操作系統除了適用于NVIDIA Jetson Tegra TX2處理器,也可兼容NVIDIA Jetson Tegra系列的多種處理器平臺。經過裁剪,本操作系統去除應用基礎庫占用大小為52 Mbyte,適用于多種智能應用場景,為多種智能應用提供了一個平臺。下一步將開展星載操作系統人工智能應用、并行計算的研究,使得操作系統能更高好的發揮應用效能。

猜你喜歡
進程智能設計
債券市場對外開放的進程與展望
中國外匯(2019年20期)2019-11-25 09:54:58
智能前沿
文苑(2018年23期)2018-12-14 01:06:06
智能前沿
文苑(2018年19期)2018-11-09 01:30:14
智能前沿
文苑(2018年17期)2018-11-09 01:29:26
智能前沿
文苑(2018年21期)2018-11-09 01:22:32
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
社會進程中的新聞學探尋
民主與科學(2014年3期)2014-02-28 11:23:03
我國高等教育改革進程與反思
教育與職業(2014年7期)2014-01-21 02:35:04
主站蜘蛛池模板: 久久性妇女精品免费| 亚洲婷婷丁香| 国产精品亚洲精品爽爽| 亚洲午夜综合网| 亚洲香蕉在线| 亚洲区第一页| 亚洲天堂在线免费| 精品黑人一区二区三区| www亚洲精品| 亚洲Av综合日韩精品久久久| 国产欧美性爱网| 蜜臀AV在线播放| 亚洲av日韩综合一区尤物| 色综合国产| 伊人成人在线视频| 亚洲男人天堂2020| 国产人成在线视频| 在线网站18禁| 伊人色综合久久天天| 国产精品成人啪精品视频| 区国产精品搜索视频| 91综合色区亚洲熟妇p| 波多野结衣一区二区三区四区视频| 免费A∨中文乱码专区| 国产欧美亚洲精品第3页在线| 欧美视频免费一区二区三区| 国产av一码二码三码无码| 秋霞午夜国产精品成人片| 欧亚日韩Av| 91精品国产综合久久香蕉922 | 四虎影视8848永久精品| 二级特黄绝大片免费视频大片| 欧美另类一区| 亚洲一区毛片| 99久久精品免费看国产电影| 亚洲高清资源| 日韩在线2020专区| 久久永久精品免费视频| 精品福利视频导航| 在线视频亚洲欧美| 久久久国产精品无码专区| 国产不卡在线看| 国产成人精品无码一区二 | a级高清毛片| 深夜福利视频一区二区| 欧美中文字幕在线视频| 综合亚洲网| 亚洲成人网在线观看| 色偷偷综合网| 国产av无码日韩av无码网站| 亚洲欧美成人在线视频| 91久久精品国产| 色哟哟国产成人精品| 日韩最新中文字幕| 热久久综合这里只有精品电影| 亚洲av综合网| 欧美三級片黃色三級片黃色1| 亚洲日韩精品欧美中文字幕 | 特黄日韩免费一区二区三区| 国产精品视频观看裸模| 亚洲无码91视频| 中文字幕在线欧美| 色婷婷国产精品视频| 久草网视频在线| 无码av免费不卡在线观看| 国产你懂得| 国产在线小视频| 国产乱视频网站| 国产凹凸视频在线观看| 免费看一级毛片波多结衣| 欧美三级日韩三级| 99re在线视频观看| 国产不卡一级毛片视频| 欧美综合区自拍亚洲综合天堂| 亚洲国产日韩在线成人蜜芽| 亚洲成人一区二区| 成年av福利永久免费观看| 久久超级碰| 中国毛片网| 毛片在线播放a| 九色在线观看视频| 亚洲美女一区|