神盾作戰系統計算機(4)─開放架構/虛擬化

AN/UYQ-107通用處理系統 ( CPS)是神盾Baseline 9/TI-12硬體架構的基礎設施,
基本上是在滿足軍規抗震能力的機櫃,裡面安裝未加固、與商業市場完全相同的刀鋒伺服器機組。

神盾系統從Baseline 1到Baseline 9(TI-12)的軟硬體架構演進示意圖
──by Captain Picard
|
神盾Baseline 8:全COTS化、開放式架構的起點 2002年起,美國海軍開始規劃為提康德羅加級進行神盾系統升級計畫,分為兩個階段:其中,第一個階段稱為CR2與先進能力構築08(Advanced Capability Build 2008,ACB08),從2008財年展開(於CG-52~58執行), 這個神盾版本稱為Baseline 8。 神盾Baseline 8/TI-08的計算機架構延續Baseline 7(TI04)相同,都是包含Q-70商規工作站為運算節點的分散式系統架構;不過,Baseline 8/TI-08進一步引進民間機房相同的刀鋒伺服器硬體,而且全面升級資料流傳輸頻寬,更首度實現神盾系統核心軟體功能與舊有軍規計算機硬體的抽離,這些相較於Baseline 7/TI-04有本質上的飛越。Baseline 8/TI-08是神盾系統從先前「初步商規化」邁向「全艦開放式架構」(Open Architecture, OA)」的關鍵轉捩點。 在計算機硬體方面,先前Baseline 7/TI-04雖然已經使用商規產品的UYQ-70工作站為主要計算節點,但UYQ-70仍使用特製機箱以及完全訂製化的SBC主板,並非真正的市場現成產品,價格昂貴。此外,雖然TI-04名義上已經是分散式架構,但特定的戰術任務往往還是跟特定的計算機硬體節點綁定,而不能靈活自由互換。 而從Baseline 8/TI-08起,雖然仍以Q-70系列工作站作為主要計算節點跟人機介面,但正式引進與民間完全相同的標準化刀鋒伺服器(Blade Servers,內裝Intel/x86伺服器) 與 儲存區域網路(Storage Area Network,SAN,連接伺服器與外接儲存體的區域網路)。有了這些新基礎設施,戰術軟體不再只能於特定的中央處理器(CPU)綁定,更能輕易地轉移到其他節點重啟,真正實現廣泛的節點相戶備援。 1.三代計算機硬體的並存與分工 神盾Baseline 8堪稱從軍規系統過渡到商規組件的最後一步,最老的UYK-43軍規計算機、中間的UYQ-70顯控台以及TI-08新引進的商規伺服器三者並存。 在改裝後,部分UYK-43主電腦實體機箱仍被保留在機房裡,但已經不再承擔任何神盾核心系統的運算工作,原本其上的神盾核心戰術軟體(如C&D指揮決策、WCS武器控制)都已經被重新編譯並遷移到新引進的商規伺服器裡上執行。暫時保留UYK-43是因為某些最底層的武器控制接口(如控制舊型發射架或特定的雷達信號處理類比電路)仍需要通過UYK-43計算機內的物理接口。此時,UYK-43主要是處理一些尚未完成數位化轉換的歷史任務(Legacy Tasks),或者僅僅作為一個通訊轉接器,把舊式的序列信號轉譯給新的乙太網路。當然,這些UYK-43在必要時也可作為備援系統。直到下一階段的TI-12這些舊部件都被完全虛擬化,UYK-43才從神盾系統中被徹底移除。 而UYQ-70顯控台還留在戰情室(CIC)裡,用來專門作為人機介面,包括運算出顯示圖像以及處理操作員輸入。此外,UYQ-70也作為通往UYK-43的老式軍規總線與商規乙太網路的接口,通過原有的VEM排線從UYK-43抓取舊格式數據,處理成圖形化介面顯示給操作員,並將操作員輸入的指令(如武器發射)轉譯回軍規代碼傳給武器系統。 新引進的TI-08商規伺服器則成為神盾系統中的運算主力,從UYK-43 遷移出來的神盾系統核心代碼如C&D、WCS、目標軌跡管理(Track Manager)都被轉移到這些伺服器上執行。TI-08的硬體資源也作為整個計算機系統的「資源池」,提供龐大的記憶體空間與高速網路(Gigabit Ethernet),通過資料分佈服務(Data Distribution Service,DDS)達成資料共享。分配系統資源的服務也在TI-08的商規伺服器上執行,決定由哪一部處理器執行程式。 為了取得仍會通過UYK-43軍規電腦的信號(如雷達與武器),TI-08的機櫃中安裝了專門的VME總線轉換卡,以連接UYK-43軍規電腦上軍規並列匯流排(NTDS)傳輸來的信號(如雷達信號)。VME轉換卡在物理接口上連節UYK-43 的NTDS排現接口,接收雷達或武器傳來的軍規信號,然後轉換成乙太網路封包傳入伺服器。通過這樣的轉接,神盾艦能在不更換全艦電纜和武器數據接口的情況下,把原本送往UYK-43中央電腦處理的信號改送到商規伺服器。 因此,神盾Baseline 8的運算實際上是在TI-08新商規伺服器以及UYQ-70顯控台上完成所有的運算與資料處理。其中,TI-08的商規伺服器執行中樞的C&D、WCS、軌跡管理等,透過DDS將處理解算好的數據輸出。UYQ-70 從 DDS 接收這些數據並在顯示器上繪圖,並把操作員下達的武器發射指令丟回 DDS 給伺服器給武器系統。 由於TI-08提供的充沛的記憶體資源,神盾Baseline 8首度實現能同時在記憶體常駐艦隊防空(AAW)與反彈道飛彈(BMD)模組。 先前神盾Baseline 7.1系統執行反彈道飛彈任務(BMD)時,由於記憶體容量與資料傳輸頻寬不足,在執行BMD模式時只能把許多艦隊防空(AAW)任務的模組從記憶體卸除,代表同時間只能在反彈道飛彈或艦隊防空任務中「二選一」。而神盾Baseline 8/TI-08的記憶體容量與資料傳輸頻寬大增,有能力在不從記憶體卸載AAW 模組的情況下,同時處理更複雜的BMD追蹤數據,甚至在執行艦隊防空追蹤、接戰的同時一面追蹤外大氣層彈道飛彈。雖然美國海軍實際上沒有為這些神盾Baseline 8巡洋艦整合BMD能力並賦予任務,但TI-08的硬體架構,已經為日後能真正同時執行完整艦隊防空與反彈道飛彈任務的TI-12的多任務處理器(MMSP)奠定基礎。 2.神盾核心功能完全遷移到商規主機 在神盾Baseline 7時,商規的UYQ-70工作站開始承擔如雷達信號處理、反彈道飛彈攔截運算等軍規電腦「跑不動」的作戰相關功能; 然而,神盾最核心、最基礎的指揮決策(C&D)與跟飛彈射控指令相關的武器控制系統(WCS),照舊在UYK-43軍規電腦上執行。 這是因為神盾Baseline 7/TI-04硬體架構時代,即便引進經過深度改造的商規作業系統如HP-UX或VxWorks,在高負載時系統還是可因為背景的排程干擾而出現些微延遲,比不上指令週期保證固定的UYK-43舊機器;加上當時模擬技術不成氣候(商規計算機硬體能力也還不足以支持),想將指揮決策(C&D)、武器控制(WCS)等神盾核心邏輯移到UYQ-70商規工作站上,勢必只能對這些原本由CMS-2語言的舊軟體進行大規模轉譯或重寫,才能在商規作業系統與處理器上執行,風險過大。 到TI-08時,由於引進的專業伺服器等級硬體運算能力比先前UYQ-70工作站高得多,且工程師已經開發出以軟體模擬(Emulation)方式在商規處理器上模擬UYK-43電腦底層(如指令集、暫存器、記憶體定址等),直接把在UYK-43軍規電腦上運行的舊二進位(binary)執行檔原封不動搬到商規伺服器上並在這個「沙盒」(sandbox)執行,執行得甚至比在原本UYK-43電腦還快速平順(見下文)。
作業系統方面,TI-08商規伺服器的Red Hat Enterprise Linux 經過深度內核修改(RT-Patch),更好地實現硬即時(Hard
Realtime),確保了CPU在處理火控計算時,不會被背景的系統更新或掃描排程中斷干擾。而TI-08不僅是處理器硬體層面的升級,還引進能確保低延遲數據傳輸的各種中間件(Midware)服務如數據分發服務(DDS)、RTG
(Real-Time
Guild)等,確保大量數據傳輸傳輸過程中不會堵塞,關鍵的飛彈導引、火控指令等擁有最高優先而不會延遲,使商規系統也能像過去的軍規總線一樣,保證數據在1毫秒內送達。 3. 「先進COTS封裝」機櫃(ACE) 在TI-08時期,引進的主機完全就是民間市場上的19 吋機架式刀鋒伺服器 (Blade Servers)。內部的零件(CPU、記憶體、硬碟)與 Google 或亞馬遜機房裡的產品,在電路設計上幾乎沒有差別,完全不經過特別的軍用加固。這跟先前AN/UYQ-70 ADS時代,把商規CPU、記憶體等組件依照軍規抗震散熱需求而專門訂製的單板電腦(SBC)有天壤之別。如此,美國海軍才真正能直接拿民間市場上的完整主機裝上軍艦,而不是仍得仰賴少數幾家軍用代工廠生產昂貴的特規SBC組件,讓後勤保障與人員訓練上完全享受「商規現成」的益處。
為了直接引進與商規相同的產品、又符合在軍艦運作的環境需求,美國海軍改變了COTS組件思維,單純透過加固機箱來保護裡面的純商規主機。於是在TI-08上,開始引進先進COTS封裝(Advanced
COTS Enclosure,ACE)
技術,這是一種具備強大防震與熱交換能力的機櫃,即便裡面裝的是純商規、未加固的刀鋒伺服器,整個系統依然能通過A級(Grade
A)防護標準(艦艇中彈、結構變形時,計算運算工作不能中斷)。在神盾Baseline 8/TI-08時期,這些機櫃被稱為 第一代通用處理系統(Common
Processing System Generation I,CPS G1);日後神盾Baseline
9的ACB12/TI-12時,CPS的技術正式定型完備,並被賦予AN/UYQ-107 的軍用型號(見下文)。 4.朝虛擬化的過渡期 雖然TI-08引進了商規伺服器,但當時(2000年代前半)的虛擬化技術(Hypervisor)不夠成熟,且當時商規伺服器的Intel Xeon算力沒有沒強到可以執行虛擬化層。例如雷達火控要求延遲在微秒級,SPY-1雷達信息經虛擬機器處理網路封包經多次軟體轉換(如虛擬交換機),這些延遲導致雷達即時反饋信息產生抖動(Jitter)。而神盾系統射控指令必須在極精確的時間點執行,當時的虛擬技術無法確保延遲幅度的確定性 (Determinism),戰術運算只能暫停。 因此,當時並沒有把原本在UYK-43或UYQ-70上執行的軟體連硬體行為「封裝」成虛擬機器,而是分別採取「原生執行 」(Native Execution)」、軟體模擬(Software Emulation)、「中間件化」等措施。 「原生執行」是將原本在UYQ-70執行的C++或ADA程式(跑在LynxOS或 Solaris作業系統),編譯成在TI-08硬體上的Red Hat Enterprise Linux (RHEL)執行的二元執行檔(binary)。「軟體模擬」是通過美國海軍工程師開發、能在Linux伺服器(X86處理器)上模擬舊軍規電腦的指令集模擬器 (Instruction Set Simulator),模擬UYK-43的32位元指令集架構、暫存器以及特有指令集(ISA)等行為,讓原本在UYK-43電腦的二元執行檔原封不動地在TI-08的Intel x86處理器直接。 「中間件」則是透過外部的數據分派服務(DDS)來支持不同戰術應用程式間的溝通,每個戰術應用程式依照DDS的信息格式將資料丟到DDS匯流排上,由TI-08商規伺服器上的軟體接收並解算,算出後再經DDS傳到顯示終端渲染成畫面。此外,也有透過硬體模擬(Emulation,在商規硬體上模擬舊軍規電腦的底層行為),讓新的商規伺服器執行原本在UYK-43計算機運行的部分程式。 對於某些極度複雜、不適合重寫或轉譯的舊程式邏輯(例如某些特定的反潛或導航演算法),美國海軍選擇不重新編譯,直接將這些程式原有的二進位代碼在這個軍規電腦軟體模擬器上執行。由於TI-08的Intel Xeon 處理器時脈(GHz 等級)遠高於 UYK-43(MHz 等級),即使運行軟體模擬層難免造成系統的Overhead,原程式在「虛擬UYK-43」上運行速度還是高於在原本真實UYK-43機器上。 雖然這種軟體模擬可以方便地直接執行舊軍規電腦的軟體執行檔,但這無法發揮新硬體的優勢(例如多核心並行處理)。因此,對於一些運算量大的工作如主要的決策跟運算,美國海軍選擇以「原生執行 」策略,將這些軟體的CMS-2原始碼編譯出在Linux上執行的執行檔;而一些對穩定性要求極高但運算量較小、日後不太需要變動的邏輯,就維持原樣,直接將舊機器的執行檔通過軟體模擬器執行。 神盾Baseline 8是第一個以神盾開放架構(AEGIS Open Architecture,AEGIS OA)實作軟體的版本。過去神盾Baseline 7的軟體雖然大量使用ADA乃至於C++等高階語言,但不同軟體模組之間依然存在高度的依賴性,升級一個模組往往需要連動修改數十個部分。而到了神盾Baseline 8/TI-08,透過資料分派服務 DDS) 中介軟體,將「感測器數據」與「武器控制邏輯」完全分離,這讓海軍可以單獨升級雷達軟體或飛彈的導引代碼,而不會彼此牽連。 5.資料傳輸頻寬的重大升級
Baseline 8/TI-08的最大改變,是用新的萬兆(Giga)級乙太網 (Gigabit Ethernet ),取代Baseline
7/TI04的雙冗餘光纖資料匯流排(FDDI)。在1990年代後期,FDDI的100Mbps資料頻寬堪稱一流,而且十分穩定可靠;然而隨著反彈道飛彈能力(BMD)日益發展,資料流越來越龐大,FDDI的頻寬已經趨近飽和;尤其當2010年代以後美國開始發展AN/SPY-6數位化電子掃描雷達,產生的原始數位數據動輒就是Gbps級,FDDI根本不可能應付。另外,隨著商用乙太網路技術進步,FDDI到此時已經日趨小眾,商源逐漸消失,讓美軍維護與採購備品日漸吃力。因此,神盾Baseline
8/TI-08則全面引進傳輸速率1Gbit級的乙太網作為數據交換主幹,頻寬比FDDI提升了10倍以上。過去商用乙太網路用到軍事用途的最大變數就是數據碰撞問題;為此,美國海軍配合引進了 等時乙太網
(Isochronous Ethernet)與資料分佈服務(Data
Distribution Service,DDS) 協議,確保戰術數據擁有絕對優先權,相當於額外在萬兆級乙太網上建立一條虛擬通道。原本FDDI的線路需要特製光纖街頭,而乙太網路只需要標準LC光纖或加固的RJ45,讓艦內機房佈線成本大幅降低,並且為將來商規刀鋒伺服器全面進入機房鋪平了道路。 神盾Baseline 9/TI12:全開放式架構與全虛擬化 在2007年,美國海軍開始發展神盾系統先進能力構築12(Advanced Capability Build 12) 與技術插入12(Technical Insertion 12)硬體架構,成為神盾Baseline 9的基礎。在神盾Baseline 9/TI12,神盾系統終於徹底完成現代化,全面實現神盾開放系統架構(AEGIS Open Architecture,AEGIS OA)與全COTS商規硬體,以及軟體與硬體之間的徹底解耦(Decoupling)抽離。 先前神盾Baseline 8/ACB 08/TI-08開始引進純商規硬體(如刀鋒伺服器、SAN),而到ACB 12/TI-12則是徹底的全面實施,並且真正展開了神盾系統的全虛擬化。 在TI-12硬體架構中,無論是舊的軍規UYK-43電腦或在軍規機殼裡裝商規組件的UYQ-70系列顯控工作站都完全消失,機房中全面換成IBM與HP的商規刀鋒伺服器叢集,通過分散式架構一起運算作業,與民間雲端資料中心機房基本無異;而戰情室的人機介面也以三平面顯示器工作站取代原本的AN/UYQ-70。在TI-12的伺服器叢集上,運行的也不再是傳統單機作業系統,而是商規的虛擬機管理程式(Hypervisor)軟體(類似軍用版的VMware或 KVM)。原本神盾系統的個別功能如指揮決策、雷達信號處理、射控計算、反潛等,都被個別封裝成不同的虛擬機(Virtual Machine,VM)在虛擬平台上運行。如此,不同的軟體功能的VM可以被創立、運行在伺服器叢集中任何一個節點上,並能照當前的任務需要同時創建多個容器實體來運作。透過虛擬化封裝隔離,上層軟體與底層實際硬體規格(如什麼型號的CPU)無關;例如,一些舊有的CMS-2/ADA軟體功能在模擬舊型軍規電腦的容器上運行,但實際的執行環境是Intel處理器。而為了確保每個虛擬機在處理雷達數據時不會延遲,TI-12使用專用的即時中介軟體(Middleware),確保在虛擬化層上執行的軟體仍具備精確的確定性(Determinism)。TI-12架構裡,計算機節點之間的資料傳輸是1 Gbps~10 Gbps等級的乙太網路。 由於現代單一伺服器功能強大,通過Hypervisor,可以將一台實體伺服器內切分成多個獨立的虛擬機(Virtual Machine)。在以前,每一個戰術功能就需要一個沉重龐大的UYK-43或UYQ-70機櫃,例如神盾Baseline 7中各項核心功能總共數十個Q-70系列機櫃,佔用體積與耗電量十分龐大;若要拆換這些機櫃支持設施,則必須切割艦體艙壁、甲板,只能在船艦維修週期進行。到TI-12之後,一個刀鋒伺服器上就可以跑 多個戰術功能(含雷達處理、火控、顯示..等),大大降低船艦的供電、冷卻與空間需求;且機架上的刀風伺服器可由工作人員輕易拆換、攜出或攜入船艦,平時隨時可以進行。 TI-12另一項核心技術是多任務信號處理器(Multi-Mission Signal Processor,MMSP),此系統架構的開發工作在1999年就開始了。MMSP是一個由大量商規組件如Intel 處理器、現場可程式化邏輯閘陣列(Field-Programmable Gate Array,FPGA)和數位訊號處理器(Digital Signal Processor, DSP) 組成的伺服器叢集,主要是為了能同時執行反彈道飛彈(BMD)以及傳統的高密度艦隊防空(AAW)任務,能把每個SPY-1雷達的掃描週期切分成反彈道飛彈與一般防空任務分時進行。配合神盾Baseline 9的反彈道飛彈能力是BMD 5.0;在此之前的BMD 3/4中,神盾系統的算力以及資料傳輸頻寬只能在艦隊防空與反彈道飛彈任務之間擇一執行。由於在神盾Baseline 9中,雷達信號統一都由MMSP出來,不像先前神盾Baseline 8仍必須倚賴UYK-43軍規電腦上一些連結雷達的類比電路,因此神盾Baseline 9/TI-12終於能完全移除UYK-43電腦。 TI-12的伺服器叢集環境提供了強大的動態重構能力;如果探測到叢集中任何一部伺服器節點故障失效(可能因過熱、震動或戰損),Hypervisor 軟體會在不到一秒的時間內,在叢集的另一個正常的伺服器節點上創建並啟動原本毀損節點上運行的戰術程式模組(VM或容器);每個執行的程式功能的資料(如雷達追蹤狀態、火控參數等)都會被雲端系統持續鏡像備份到不同的伺服器節點,因此即便有一個節點突然失效,原本該節點的資料與記錄都還存在其他節點上能夠還原,因此該功能被重新創建的虛擬機也能讀取原資料而繼續運行。真正做到在任意計算機上即時功能替換;這類以往AN/UYK-43 (N/UYK-43軍規電腦 的「主動冗餘」概念,但效能更強、速度更快。在過去Baseline 7與以前的神盾系統中,各項戰術功能都分別跑在特定節點上,一旦節點硬體毀損,該功能就會立刻中斷。而如果伺服器叢集裡剩餘的可用伺服器節點資源不足,系統會根據優先級(Priority)分配資源,例如關閉次要的系統(如行政文書、後勤管理等),將所有運算資源集中給火控戰術(如防空武器導引)的虛擬機。而虛擬化結合CEC/NIFC-CA作戰網路的最先進應用甚至能實現「跨艦備份」,假設某一艘如果本艦(例如一台伯克級驅逐艦)的運算核心全部失效,透過協同作戰(CEC) 網路傳輸,該艦的數據處理任務能暫時由友軍艦艇的虛擬化平台接手,再將處理完成的火控數據回傳。 TI-12硬體架構也首次實現將神盾系統與AN/SQQ-89A(V)15反潛作戰系統 在同一個計算機環境裡運作。在TI-12之前,神盾與AN/SQQ-89一直都是 完全獨立的計算機硬體;而在神盾Baseline 9系統軟體被虛擬化、與硬體抽離的同時, AN/SQQ-89A(V)15也被重新編譯而完成虛擬化/容器化,可以跟神盾軟體都部署在 CPS機櫃的刀鋒伺服器上運行。至此,艦上主要作戰系統軟體統一實現在 CPS機櫃的伺服器群上執行,也不必區分哪一種伺服器專屬於神盾或SQQ-89系統; 在虛擬系統管理之下,所有伺服器節點成為全艦所有作戰運算功能的「資源池」 ,不同程序透過DDS進行信息交換。系統可根據當前戰場情況,動態調整 各戰系功能配置的運算資源;例如在反潛作戰時,更多資源(CPU算力、記憶體空間) 分配給反潛聲納信號處理;而遭到飽和空中攻擊時,較多資源分配給雷達追蹤偵測。 此外,SQQ-89與神盾使用共通伺服器,代表可以交互備援,不必像以前UYQ-70的時代為各種不同的功能 準備對應的主機板卡;例如,萬一SQQ-89的伺服器故障,能從神盾系統的備用伺服器堆裡選一台標準刀鋒伺服器, 插入機櫃並載入SQQ-89的軟體鏡像檔(Image),不到十分鐘就能重啟並恢復反潛功能。到TI-16硬體架構時,所有功能軟體進一步拆分成大量微服務之後,甚至也不限定哪一台伺服器專門執行哪一個任務,能夠自由地調整運行。 TI-12也達成了類似民間的線上更新軟體能力;以往的軟體升級需要拆換硬體,或者由人員登艦把儲存了更新代碼的媒介接到機器上載入。而到TI-12,軟體更新跟同時期的Windows作業系統或智能手機的App一樣,從網路下載即可。當要更新新版軟體時,TI-12的伺服器叢集還有影子模式 (Shadow Mode),可以在虛擬環境中啟動不同的VM或容器,分別執行現有版本與剛剛更新的新版軟,比兩者的輸出,確認新版功能正常穩定後再切換,大大降低了升級風險。
神盾Baseline 9的AN/UYQ-107通用顯示器(CDS),取代了原本的UYQ-70。 神盾Baseline 9在戰情中心的人機介面是與AN/UYQ-107作戰通用顯示系統(Common Display System,CDS),取代了Baselne 6以來引進的UYQ-70顯控工作站。有趣的是,最初神盾系統(Baseline 1∼5)的顯控終端不具備算力,而Baseline 6引進的AN/UYQ-70工作站則擁有自身的處理器、繪圖卡(GPU)和戰術總線接口,兼具運算與顯控功能,後來也擴充成為神盾計算機網路中的運算節點。而到神盾Baseline 9,CDS工作站又回到單純的人機介面角色,顯示後端運算好的戰術圖像以及接收操作人員輸入的指令,所有的運算功能都集中到CPS機櫃的刀鋒伺服器叢集上,而CDS靠乙太網路與後端伺服器連接;因此,神盾Baseline 9的前台工作站又被稱為瘦客戶端 (Thin Client),維修工作比先前UYQ-70時期大幅簡化(如果UYQ-70的顯示器損壞,維修更換時需要動到主機板)。操作人員從任何一個 CDS 終端登入,都可以存取戰系任何功能的畫面(如雷達、導航、反潛等),實現完全的不同工作站點任務交替。 AN/UYQ-107通用處理系統(CPS)機櫃 TI-12的關鍵硬體基礎,使能讓與民間企業機房相同的刀鋒伺服器直接裝上軍艦的先進封裝機櫃 (Advanced COTS Enclosure,ACE)。 過去美國海軍最初引進COTS組件的AN/UYQ-70 ADS時代,海軍想引進商規計算機組件但又無法信任民間主機板能滿足軍規要求, 所以UYQ-70機櫃裡插的單板電腦(SBC)是基於商規現成元器件(如CPU、記憶體等)、專門依照軍方要求開發的「特規品」 ,需要花數年時間開發、只有軍方用戶、只有少數軍用代工廠可以生產,因此價格非常昂貴,而且等產品製程差不多依舊會落後同期 民間市面產品一代以上。這與最初COTS「拿市場現貨、與市場同步」的理想,仍有一大段落差。 因此,後來美國海軍改變COTS策略,不再執著於加固「電腦組件」本身,而是加固「裝電腦的箱子」。因此, 美國海軍開始發展先進COTS封裝(Advanced COTS Enclosure,ACE),開發具備極強隔絕衝擊震動能力以及冷卻能力的機櫃系統, 稱為通用處理系統(Common Processing System,CPS), 能直接將未經軍規加固的伺服器主機裝入運作,並滿足「Grade A」等級的軍規抗衝擊需求 (艦艇中彈、結構變形時,運算仍不能中斷)。如此,美國海軍再也不需要開發只能由少數專業代工廠生產的 特規計算機組件,而是直接購買主流市場上性能足夠的伺服器,讓船艦上計算機的運算處理能力直接跟上矽谷「摩爾定律」的性能升級曲線。 在神盾Baseline 8/TI-08硬體架構時,美國海軍開始在艦上測試最早期的ACE機櫃,稱為通用處理系統第一代(CPS G1);除了經神盾Baseline 8升級 的提康德羅加級神盾巡洋艦之外,也加裝到同時期排定升級為神盾Baseline 7的柏克級驅逐艦,稱為Baseline 7 Phase 1R (Restoration/Refresh)。 在此階段,原本艦上的AN/UYQ-70顯控台以及UYK-43軍規電腦都還留在艦上機房內。 美國海軍先經過多年測試,確認在CPS機櫃裡的非加固商用伺服器在實際作業環境(如風浪惡劣的北大西洋)與飛彈、火砲發射的震動下 的確能繼續穩定運作而不當機。此外,因為這些商業伺服器上執行大量原本從UYK-43軍規電腦移過來、透過模擬器執行的原本神盾軟體核心邏輯, 而當時的軟體模擬器對底層硬體延遲非常敏感,因此美國海軍在TI-08階段花了很多時間調整機櫃內網路交換器(Switch)的優先順序。 經過多年測試、這些問題都得到解決與驗證後,總結所有經驗的CPS機櫃系統得到AN/UYQ-107的標準型號,成為神盾Baseline 9/TI-12硬體架構的 統一算力來源,將UYK-43軍規電腦、UYQ-70工作站等全部移除。 AN/UYQ-107通用處理系統 (Common Processing System, CPS)是一套具備適應性(adaptable)、模組化(modular)且可擴展(scalable)的運算機櫃(computing enclosure),由全球技術系統(Global Technical Systems,GTS)公司為美國海軍海上系統司令部 (NAVSEA) 所研發,用於支持神盾戰鬥系統現代化(AEGIS modernization)以及其他海軍計畫採辦資源經理(Program Acquisition Resource Manager,PARM) 的運算需求。CPS機架與民間的19吋伺服器機櫃規格共通,直接裝上與商規市場相同、未加固(unhardened)的刀鋒伺服器主機。從2012年起,CPS已經部署在美國海軍神盾驅逐艦、巡洋艦與航空母艦上。CPS在完全的開放式架構運算環境 (Open Architecture computing environment,OACE)中提供商用現貨 (COTS) 技術更新,為「任務關鍵型」(Mission Critical)艦載戰鬥系統提供強大且具成本效益的處理能力。CPS具有創新的防護技術, 創新的衝擊與振動隔離系統(Shock and Vibration Isolation,包括在機櫃內部的特殊的緩衝結構與底部的大型彈簧避震器),CPS 即使搭載未加固的COTS硬體(如IBM或HP刀鋒伺服器)的情況下,仍能符合A級任務關鍵需求 (Grade A Mission Critical),例如直接遭遇爆震衝擊時機櫃內的刀鋒伺服器不會直接中斷工作。CPS 結合了易於更新的先進商業運算能力、具適應性的電力與冷卻系統,並具備提供機櫃重心特性化描述 (CG characterization) 的能力。由於刀鋒伺服器在執行神盾系統軟體時發熱量極高,CPS機櫃通常與船艦冷卻水系統(Chilled Water)整合,透過熱交換器直接為電子設備降溫。CPS的機櫃被稱為先進商用現貨機櫃 (Advanced COTS Enclosure,ACE),該機櫃也可單獨提供,用來搭載其他任務關鍵型運算的應用。 CPS機櫃具有精密複雜的冷卻系統,結合內部氣冷循環與外部液冷熱交換,讓伺服器始終處於恆溫與乾燥的環境。使用複雜的雙循環機制是因為 CPS機櫃跟過去軍規機箱一樣必須是密封的,不能讓外界的 濕冷空氣不能進入伺服器內部,以滿足海軍船艦所需的電磁干擾防護以及抗海上鹽霧要求;此外,現代化專業伺服器內部組件Intel Xeon處理器與GPU產生的熱量已非單純氣冷風扇可以應付。CPS內循環氣冷系統包括伺服器內部本身的風扇,將CPU的熱量吹向機櫃背部的空間; 此外,機櫃內部有強力的大型工業風扇,強制空氣在機櫃內部不斷循環,形成一個受控的微氣候環境。 外循環系統是在機櫃側邊或底部的水-空氣熱交換器(Heat Exchanger),機櫃內部的熱空氣流過一組充滿循環液(通常是淡水或冷卻液)的冷卻盤管, 盤管內的熱量傳導至船艦本身的輔助淡水冷卻系統,透過熱交換器由海水帶走。 TI-12引進CPS機櫃之後,計算機維修作業也大幅簡化。先前UYQ-70時代需要打開機櫃、拆除機櫃裡的組件板卡, CPS機櫃則與一般商用伺服器機架無異,維修人員只需將故障的伺服器從機架上滑出,斷開乙太網路線與電源, 換上另一台備品並接回電源、網路線即可。 此外,由於TI-12已經實現了軟硬體徹底抽離, 戰系裡所有系統的算力來源都是CPS裡的商規伺服器 ,甚至過去與神盾系統計算機硬體完全獨立的AN/SQQ-89反潛作戰系統,也 都遷移到同一個商規伺服器叢集上;因此,艦上只需要攜帶備用的商規伺服器就能讓所有系統通用, 不需要為不同的次系統準備不同的計算機組件 (先前UYK-43乃至於UYQ-70時代,特定功能往往綁定特定硬體,例如UYQ-70裡有多種不同板卡)。 而到之後TI-16硬體時代,艦上負責維護計算機的人員只需一般管理商規伺服器的技術(例如辨識伺服器面板上的警告燈號), 不需要學習複雜的軍規匯流排理論。 TI-16:結合SPY-6數位化雷達/邁入雲端化 神盾Basline 9C2是基於神盾系統先進能力構築16(Advanced Capability Build,ACB 16),2016財年展開,其中包括技術插入16(Technologies Insertion 16,TI-16)硬體架構。 TI-16是在TI-12的全商規、叢集伺服器的基礎上進一步翻新升級;首先,配合引進全數位化的AN/SPY-6電子掃描雷達(AESA)帶來的龐大數位資料流,全面提升系統硬體的計算能力與資料傳輸頻寬,而在軟體架構層面則從TI-12的「初步虛擬化」邁向真正的全艦計算機環境「雲端化」。 依照美國海軍最初的規劃,SPY-6雷達是在ACB 16階段整合到神盾系統而成為柏克Flight 3;但由於預算刪減,美國海軍只能把SPY-6雷達從ACB 12刪除,延到下一階段的神盾Baseline 10/ACB20。 1. 升級計算機硬體: 神盾Baseline 9/TI-12引進第一代通用處理系統(CPS)機櫃設施,運算節點是基於Intel Xeon處理器的商用刀鋒伺服器(Blade Servers);雖然TI-12開啟了虛擬化執行環境,但通常每個CPS機櫃仍有明確的功能劃分。而TI-16則進一步升級為更高密度的伺服器架構,不僅採用更新型、更多核心數的Intel Xeon處理器,並大幅增加了圖形處理單元(GPU)與現場可程式邏輯閘(FPGA) 的比例,大幅優化平行處理能力。TI-16的伺服器佈局也更朝超融合基礎設施結構(Hyper-converged infrastructure,HCI)的方向,將同一廠商的伺服器與儲存等硬體單元搭配虛擬化軟體整合在一個實體機箱中,使處理與管理效能達到最優化。 TI-12的運算能力足以支撐多任務信號處理器(MMSP)進行基本的IAMD任務(同時處理AAW與BMD);但引進AN/SPY-6雷達後,其輸入的數據量級是先前AN/SPY-1雷達的30倍以上。為了因應新來的海量數據處理需求,TI-16大幅提昇了數位信號處理能力,從先前TI-12伺服器只擔負「通用運算」,變成能支持SPY-6雷達波束合成與處理需求進行硬體加速,充分發揮AN/SPY-6雷達的潛力(例如同時進行多個複雜任務,或者增加對抗具機動變軌能力的重返載具或鄰近大氣層高超音速目標、更進階的電子戰應用等)。在TI-16架構中,AN/SPY-6的雷達前置處理被分散化,天線接收的雷達信號經ADC轉換成數位信號後,基礎的信號過濾、都普勒計算也都在靠近雷達天線端的FPGA 或小型刀鋒伺服器上處理完成,即邊緣運算(Edge computing)。 TI-16 使用多核心Intel Xeon處理器,單一核心可能就在處理以前一台UYK-43主電腦的工作量;因此,總共有幾十個CPU核心可以分給 MMSP進行反彈道飛彈(BMD)運算工作。 以往神盾Baseline 7時代需要數十個Q-70系列工作站節點處理各項戰術運算,到TI-16時2到3個標準的19 吋伺服器機箱就能處理相同工作量。 2.升級傳輸能力: 資料傳輸基礎設施是TI-16相較於TI-12最重要的升級。先前TI-12使用1Gbps~10Gbps級的乙太網路來交換數據,對於IAMD、協同接戰能力(CEC)與整合射控防空(NIFC-CA)已經足夠,然而當引進AN/SPY-6雷達之後就嫌不足。先前UYK-43軍規電腦時代,AN/SPY-1雷達前端會先過濾掉大部分雜訊,只把目標座標傳給電腦;但是到AN/SPY-6數位雷達時代,策略就完全改變,雷達前端就完成類比到數位(ADC)轉換,最後將海量的數位資料流傳給後端處理,這可以大幅擴展數位雷達的力,但這也讓資料傳輸量比先前SPY-1大漲超過30倍,先前TI-12的資料傳輸頻寬不勝負荷。 為此,TI-16就全面升級為40G/100GPbps的內部光纖網路。而TI-16普及的另一項關鍵技術是遠端直接記憶體存取(Remote Direct Memory Access,RDMA);RDMA能讓遠端一台電腦記憶體能繞過作業系統核心以及其上的網路傳輸協議,直接存取另一台電腦記憶體資料的網路技術;這允許SPY-6雷達前端回傳的龐大數據流進入戰系的伺服器時,不需要由中央處理器(CPU)搬運,而是直接寫入伺服器的記憶體。這能大幅降低通訊延遲,對於攔截高超音速目標所需的微秒級反應極其重要,也避免伺服器CPU被處理搬運海量數據的工作佔滿(甚至當機)。 TI-16的40/100GB級網路交換機使用嚴格的QoS (服務品質) 管理以及虛擬區域網路(VLAN)技術,將雷達原始數據 (Raw Data)、火控指令 (Fire Control) 和系統監控數據劃分為不同的虛擬通道;其中,火控通道擁有高度優先,即便雷達原始數據量極大的工作,系統也會強制預留 10%的頻寬通道給火控指令,確保飛彈發射訊號永遠不會被雷達數據卡住。 3. 雲端化/微服務化/線上更新: 先前TI-12的虛擬化主要是將原本執行在實體計算機上的各項程式(包括由CMS-2、ADA、C++語言撰寫)封裝到一個個對應各自系統鏡像(image)的虛擬機 (VM)裡;虛擬機有模擬對象機器的整個作業系統內核,較為龐大,啟動速度慢且佔用系統資源(如記憶體)較多。 在 TI-16架構中,美國海軍正式引進作戰雲(Combat Cloud)的概念,標誌著神盾系統從整塊式軟體(Monolithic Software)徹底轉向容器化微服務(Containerized Microservices)時代。 過去神盾系統中一大塊軟體功能(如C&D、WCS等),被拆分成上百個各自獨立的微服務,每個微服務的應用程式與執行環境(依賴函式庫、設定檔等)被封裝成一個獨立的容器鏡像(Container Image);相較於傳統虛擬機,容器不包括作業系統核心(直接複製伺服器本機的核心系統堆疊),所以輕量得多,啟動快且執行時期佔用資源少。 在以往「整塊式軟體」系統中,為每個軟體程式增加一個新功能,就需要重新編譯整個神盾代碼庫。而系統軟體「微服務化」後,新功能只需更動相關的容器檔或者封裝成新的容器鏡像,完全不會與其他功能的容器衝突。每個微服務容器可任意在神盾系統「區域雲」的任何一個伺服器節點上執行。 在先前TI-12中,神盾系統雖然實現了虛擬化與伺服器叢集化,但軟體交付方式仍較為傳統,通常還是需要透過實體介質(如硬碟或加密隨身碟)裝載新的程式映像檔(Image),或者等船艦停靠特定港口時透過高頻寬專線載入。由於每次軟體更新就得更換所屬的虛擬機映象檔,容量龐大,自然不容易實現線上更新。而在當時,更新軟體就需要關閉舊的虛擬機,掛載更新程式的鏡像檔然後重起虛擬機,啟動速率較慢,甚至更新一個模組就可能需要重新驗證整個系統的穩定性。如果是在交戰中環境下執行軟體更新,重起程式風險較大,難以稱為真正的「即時線上更新」。 而在TI-16,神盾系統軟體完成「微服務化」,拆分成大量單的輕量容器,並引進「線上更新」(Over-the-air,OTA)的機制;任何在陸地單位開發測試完成的軟體更新發佈後,被打包成一個個加密的容器鏡像,透過高度加密的軍事衛星鏈路傳送到配備TI-16硬體架構的神盾驅逐艦上,就像是智能手機更新APP或者微軟線上發佈Windows更新推送到用戶電腦一樣。由於容器不包含系統核心,因此鏡像檔案小、傳輸快,啟動也能在數秒內完成。每個「微服務」的容器都只負責特定功能,因此更新特定模組(容器)不會影響戰系裡其他的功能。 通過類似K8s的容器編排技術,TI-16具備了執行時期升級(Hot-Patching)與滾動更新 (Rolling Updates)能力,實現零停機部署。例如,當某個包含新功能的容器線上更新到神盾艦上,會先在背景啟動新版容器(舊容器仍繼續運行),確認運行穩定無誤後,系統瞬間將數據流切換到新容器,隨後關閉舊容器;整個過程只需幾秒鐘,且不需關閉、重新啟動整個神盾作戰系統。 利用類似Docker和 Kubernetes (K8s) 的容器編排器管理技術,TI-16的執行環境具備自動擴縮容 (Auto-scaling)能力,根據實際作戰中的需求來決定啟用多少個特定任務的微服務容器實體(instances),從而得到前所未有的戰術靈活性;而先前在TI-12時代運行的傳統虛擬機,就不可能達成這樣即時的快速擴縮,因為傳統虛擬機過於「厚重」。自動擴縮容是根據當前戰場環境變化與系統資源實況,自動啟動更多當前需要的軟體服務的容器實體(instances),或者裁減當前不需要的容器實體。例如,當雷達偵測到數十枚飛彈或無人機群集的飽和攻擊時,管理層自動感知到偵測功能(某些運行的容器實體)承受的算力壓力增加。會自動關閉當前非必要的容器實體(如後勤管理、行政、非戰時訓練模組),將釋放出的CPU和GPU 資源,瞬間複製(Clone)出數十個火控運算容器的實體來接戰湧現的目標。 容器自動管理能力也提供了系統受損時出色的自我恢復、重組能力;例如,如果某伺服器物理損毀而失聯,編排器也會立即偵測到,並自動在當前健康上線的伺服器節點上重啟那些丟失的戰術容器。 神盾系統轉型成雲端化與微服務化,不僅可用於神盾船艦這樣的傳統大型平台,還能將各種微服務容器迅速複製到小型平台的計算機環境中,作為其他運用。例如美國海軍在2020年代發展的無人水面載具(USV)或者使用拖車搭載MK-70發射器裝載SM-6、戰斧巡航飛彈等海軍飛彈的「提豐」(Typhon)系統,它們只需要一部伺服器主機,在上面的虛擬環境中運作一部份來自神盾或CSL程序庫的微服務容器,就能滿足其控制需求。 TI-16也進一步優化資料分送服務(DDS),降低運行的每個容器實體之間的數據交換延遲。透過DDS 協議,instance實現在記憶體共享數據、消除複製傳輸所需的時間,從而解決了高數據流量下的延遲問題。 |