神盾作戰系統計算機(3)─引進商規現程組件(COTS)

AN/UYQ-70顯控台與工作站系列是美國海軍第一種應用商規現成組件的工作站,
是神盾Baseline 6~8時期從軍規硬體過渡到商規硬體的重要基礎設施。
──by Captain Picard
|
商規現成產品(COTS) 雖然美國海軍專門發展的軍規電腦在惡劣的航海與作戰環境下有良好可靠度,且其電子器件壽命很長;然而到了1990年代初,美國海軍卻開始推動放棄開發軍規計算機設備,開始引進民間的商規現成產品(Commercial Off-The-Shelf,COTS)。 在先前美蘇冷戰高峰期,往往由美國國防部的項目引領計算機科技發展;但是到了1990年代,由加州矽谷引領的民間電腦領域突飛猛進,在商業競爭下處理器效能每18個月就翻一倍。相形之下,像是AN/UYK-43這樣的大型軍規主機,由於零組件的要求與認證繁瑣嚴苛,從設計、驗證到部署可能需要10年。如果繼續維持這樣的週期,軍規電腦從開始設計到剛剛服役,效能就已經落後同時期市面上最新商用處理器(Intel 或 PowerPC)好幾代。 以AN/UYK-43為例,原型機於1980年完成,1983年交付美國海軍進行測試,到1987年以後才陸續裝備於新造艦艇上,至1990年代以後才由於舊有艦艇陸續回廠翻修升級而較為普遍。AN/UYK-43運算速率為2~5MIPS,1990年代初期的Motorola 68040處理器的速度為20MIPS,比同時期剛推出的改良型AN/UYK-43處理器還是快了1.7倍以上;1995年推出的Intel Pentium Pro處理器速率大增到300MIPS,而1999年市場上的商用多處理器大型主機(Mainframe)已經突破1000MIPS。 經濟效益也是軍規電腦的一大死穴,所有的零件是美軍獨家的特規品,而用戶僅限於美軍或盟邦軍隊,產量比起民間電腦市場微不足道;專門為美軍需求設計處理器或其他計算機組件,還必須通過嚴苛的軍規測試認證成本極高。而隨著商業技術突飛猛進,許多美軍舊型電腦的技術早已被市場淘汰(如特殊電晶體、磁芯記憶體),很容易面臨商源消失,除非美軍以天價維持這些「夕陽生產線」。1990年代美蘇冷戰結束後國防預算大減,美軍再也無法承受這樣的成本。美國海軍發現,購買10部商用伺服器輪流替換,比維護1部軍規電腦還要便宜。 另外,隨著計算機技術進步來到的算力、頻寬暴增,作戰系統功能與性能更多取決於軟體(演算法)而非硬體,而軟體也變得越來越複雜。到1990年代,計算機科技學系畢業的年輕工程師都在學民間常用的C/C++和Java,而會用美軍獨門的古老CMS-2或ADA程式語言的人才如鳳毛麟角。轉向商規組件,意味著海軍可以利用矽谷資訊產業充沛的人才庫,快速開發新的演算法。到1990年代後期,美國海軍戰略目標轉向在有嚴重雜波干擾的近岸環境作業,加上新興的探測、攔截彈道飛彈的需求,舊有的軍規電腦硬體條件與軟體演算法已經無法處理這樣龐大的資料量,只能用時下最新商規電腦技術。美國海軍高層曾明確表示,如果想攔截彈道飛彈,「舊電腦的腦容量根本算不出來」。
使用COTS商規組件的另一優勢是引進開放架構 (Open
Architecture)。過去AN/UYK-43/44軍規電腦的硬體規格難以繼續擴充,反觀西方其他國家於1980年代末期陸續引進包含VME匯流排開放系統架構標準(Versa
Module Europa),能直接接上市面上的現成組件而擴充能力(例如更新運算、顯示功能) 因此,美國海軍放棄軍規電腦而轉向與商規同步,本質上就是從單純「硬體至上」的思維,朝著「軟體定義戰力」的過程。這過程中雖然讓計算機硬體的強固程度相對降低(商規組件需要額外的加固與強化冷卻),但這賦予了神盾作戰系統類似民間資訊產品的快速進化能力。 引進COTS的過渡 美國海軍從軍規電腦轉換到商規現成組件並不是簡單到將商規電腦裝到船上就了事,也並非一朝一夕就完成,而是經過一段相當長的時間漸進轉換,慢慢將COTS硬體引進軍規系統中,兩者並存了一段時間,從一開始核心作戰任務如「戰術圖像整合」和「武器控制」等仍由軍規電腦負擔、商規系統分擔輔助或非作戰功能,到後來慢慢增加商規系統擔負的比重。而商規硬體組件的應用程度,也從一開始AN/UYQ-70先進顯控台(ADS)時代的「商規零件,軍規封裝」,到2010年代前期的神盾Baseline 9/TI-12硬體架構將舊有的軍規電腦設備完全汰除,將與民間市場上硬體結構一模一樣的伺服器「封裝」到軍規環境裡。 1990年代中期,美國海軍水面系統司令部底下的神盾計畫辦公室(NAVSEA PMS-400)開始執行以COTS取代神盾系統中所有軍規電腦的計畫。此計畫將循序漸進,首先在1993年以開放系統模組(Open System Module,OSM)套件改良UYK-43/44,使其相容於VME匯流排,大幅增加這兩種電腦的可擴充性。OSM是種介面,UYK-43/44可藉由OSM連結於SAFENET光纖資料匯流排,並擴充記憶體容量。 接著,從神盾Baseline6.1起,以基於商規現成組件的UYQ-70先進顯示系統(ADS)取代原來的UYQ-21;從AN/UYQ-70起,美國海軍就不再開發專門軍用處理器,而是直接裝入多個HP 或 IBM的商用工作站處理器。神盾Baseline 6時,新增的COTS組件只負責顯示運算等周邊功能。從神盾Baseline7.1起,開始將一些重要戰術功能(如反彈道飛彈運算)交給由UYQ-70工作站為基礎的分散式計算機網路(仍保留UYK-43/44)。 軍規硬體到商規硬體的過渡期(神盾Baseline 6、7) 神盾系統從軍規計算機架構全面轉換到商規現成架構,發生在1990年代後期到2000年代初期的神盾Baseline 6至Baseline 8。在這段時期,神盾系統處於「混合與過渡」階段,舊的AN/UYK-43軍規電腦與COTS組件的AN/UYQ-70 並存。 在神盾Baseline 6時,核心的「戰術圖像整合」和「武器控制」全部仍在可靠的AN/UYK-43軍規電腦上進行;而所有人機介面和雷達顯示數據,則透過高速的分散式光纖資料介面(Fiber Distributed Data Interface,FDDI)傳送到AN/UYQ-70工作站進行處理與顯示。 隨著技術持續演進成熟,美國海軍逐漸將更多的核心戰術程式從軍規電腦轉移到商規電腦上。神盾Baseline7是神盾系統引進COTS組件後的第一次重大躍進,首次嘗試將與戰術相關的計算功能從軍規UYK-43計算機轉移到COTS組件,也就是在UYQ-70系列工作站的處理器上執行由C++撰寫的戰術程式(不過關鍵的火控決策等功能仍在UYK-43上執行);而這個硬體架構稱為技術插入04(Technical Insertion 04,TI-04)。 在TI-04架構中,最顯著的硬體變化是連接計算機之間的排線,全面引進FDDI與HiPPI 高速光纖網路來取代軍規電腦時代的厚重MIL-STD-1397銅軸電纜;MIL-STD-1397傳輸數據是32位元並列(MIL-STD-1397 Type D/E傳輸速率是10M bit/s),傳輸距離有限(意味相連的計算機必須設置在同一機房)而且容易受到電磁干擾;而FDDI與光纖網路不僅體積重量大幅減輕、傳輸頻寬激增(整個機房內的數據流量從以往Mbps級提高到Gbps級),傳輸距離也大幅增加,使戰系的各個計算機能分散在不同艙室,提高了系統生存性。 在反彈道飛彈方面,由於AN/UYK-43軍規電腦已經沒有多餘算力,從神盾Baseline 7的TI-04硬體架構上,開始以AN/UYQ-70 的商用處理器加入彈道飛彈偵測任務,即BMD 4.0。當AN/SPY-1D雷達捕捉到大氣層外的目標時,資料會先送入UYQ-70的處理器進行高速複雜運算,算完攔截解算(Fire Control Solution)再送回UYK-43執行最後的發射指令。 AN/UYQ-70先進顯控台系列 在1990年代,美國海軍朝COTS商規現成技術轉型的第一個重要基礎硬體,就是AN/UYQ-70先進顯示系統(ADS)。 作為美國海軍引進COTS計算機組件的起點,AN/UYQ-70在硬體結構上屬於「商規零件,軍規封裝」。裡面的晶片產品如 CPU(HP PA-7100、PowerPC 750 或早期的 Intel Xeon)和記憶體顆粒是直接購買民間產品,但並不是直接插在民用主機板上放進機櫃,而是使用美軍訂製的特製主機板,滿足更高的軍規耐震與散熱需求,並且具有能與UYK-43等軍規電腦連結的軍用插槽(如 VMEbus 或 CPCI)。 為了承受武器發射或遭到命中時的爆震,UYQ-70機櫃裝有鋼絲繩隔振器 (Wire Rope Isolators),機櫃底部可以看到捲曲的鋼絲繩,能吸收垂直與水平方向的劇烈衝擊波,保護內部脆弱的商用硬碟與電路板。而UYQ-70機櫃裡另一項特點是加固型插槽:商用電腦的PCI插槽在震動時組件很容易鬆脫,而AN/UYQ-70則在插槽上加裝橫桿,把每一張介面牢牢壓在主機板上。由於商規組件算力更高,產生的熱量更大更集中,AN/UYQ-70的機箱內部裝滿了特製的熱導管,並配合高靜壓風扇來滿足冷卻需求。 除了加固機箱之外,COTS系統架構另一個提高系統生存性與強韌程度的手段是提高 冗餘性(Redundancy);因為單機成本比軍規系統低廉,可以在艦上安裝更多組計算機來當備用,並能在執行期間快速切換。 一開始,美國海軍內部對於商用電腦能否在軍艦所處的作戰環境下,可靠地擔負起分秒必爭、攸關生死的作戰功能,有很大的疑慮(過去軍規計算機硬體機箱強固到可以防彈)。因此,美國海軍把裝載著商規組件的AN/UYQ-70工作站拿去進行軍規的各項戰場物理測試,包括軍規MIL-S-901D高強度打擊測試以及駁船震撼測試(Barge Shock Test),也就是將AN/UYQ-70安裝在測試駁船上並通電運作,然後在附近水中引爆水雷;爆炸讓船體劇烈搖晃後,工作站依然能穩定顯示雷達圖標。 商規組件在作戰環境下的測試也並非一帆風順;例如發射艦砲與飛彈時,強大的震動曾讓部分 UYQ-70工作站的商規硬碟發生故障(獨寫頭因震動劃傷磁區),迫使美國海軍後來全面轉向當時還處於早期階段、價格昂貴的工業級固態硬碟(SSD)來取代傳統磁盤式硬碟。 以往美國海軍配合計算機的顯示終端如UYA-4、UYQ-21都是單純的終端輸出裝置,畫面與資料完全由AN/UYK-7或AN/UYK-43等屬於中央系統的主電腦提供,是這些主電腦的額外負擔。這在早期只需顯示單色線條波形的時代還不是太大問題,等到後來為了增加信息呈現能力與畫面可讀性,改以彩色顯示,顯示器的解析度也越來越高,就加重了中央電腦的負擔。 UYQ-70 ADS不再只是字面意義上的「終端顯示」,而是具備強大運算能力的圖形工作站,不僅能自行處理畫面生成,還可提供多種功能來輔助戰鬥系統的作業。過去由UYK-43主電腦計算並呈現在AN/UYA-4顯控台的影像, 目標是陰極射線管電子束直接在螢幕上畫上綠色的線或點,畫面單調且不直觀,更新速率緩慢,且無法顯示複雜的地形圖;操作人員必須根據接受的訓練,將點/線顯示結果在腦中轉成實際空間的3D關係。 而AN/UYQ-70使用算力強大得多的COTS組件以及更先進複雜的軟體,引進與當代個人電腦相同的高解析度光柵掃描。這讓操作員第一次能看到彩色地圖、氣象雲圖、目標3D 預測路徑,甚至是重疊在目標上的數位影片,效果有如天壤之別。AN/UYQ-70的輸入介面也現代化,引進軌跡球(Trackball)和可編程選單,取代了舊軍規電腦成百上千個物理旋鈕,大幅降低了操作人員在高度壓力下的失誤機率。例如,操作員過去要用鍵盤輸入座標,有了軌跡球就可快速移動游標,點擊目標並選擇「交戰 (Engage),速度比以前快數倍而且大幅減少失誤。UYQ-70的顯示屏下方還有可程式化的觸控輸入面板 (TIP),會依照當前的任務(防空、反潛或平時導航)來改變當前的觸控按鍵佈局。 AN/UYK-70本地的運算能力也提供了讓神盾系統轉為分散式架構 (Distributed Architecture)提供了條件:到神盾Baseline 6,所有戰術運算以及顯示都由UYK-43主電腦完成。而AN/UYQ-70 可以處理複雜的雷達掃描轉換和戰區地圖繪製,大幅減輕了中央電腦的負擔。過去軍規電腦時代的終端顯控台只能專門顯示特定的戰術功能,AN/UYQ-70則能同時開多個視窗顯示不同的機能,包括各型雷達、聲納、武器狀態等,一個顯控台就可以涵蓋多個工作。 AN/UYQ-70的主承包商為洛馬集團,次承包商包括DRS等公司。最初採用的是HP 9000系列的PA-RISC處理器(後來演進改用Intel x86指令集處理器)、64MB記憶體、Barco的CX4100模組化圖形顯示處理器(爾後進步到HP 165,單一記憶體容量提高到512 MB,兩個插槽單元可超過1 GB)。顯示方面,有兩種圖形引擎選項可供選擇:Esterline具備30萬像素/秒、,048×2048 pixel解析度、12個底層和12個重疊平面;而HP Graphics方案提供3100萬像素/秒、1280×1024解析度、8個底層和八個重疊; 視頻採集集器具有30 Hz的frame速率,最多可由X-Windows使用Motif GUI管理兩個窗口。 AN/UYQ-70系列使用與商業規格相容的開放式架構,包含符合民間業界標準並被全球嵌入式電腦系統廣為採用的VME/VME64匯流排插槽(Versa Module Europa,VME),相容於民間市場上許多相關套件,不僅升級非常容易,而且來源多樣化,不會像以往軍規電腦般被某些特定供應商綁死。艦上技術人員維修時也能像處理一般商用電腦一樣,直接在插槽更換顯示卡或處理器模組。 除了顯控台之外,UYQ-70系列中還包括OA-9481/9482嵌入式處理系統(Embedded Processor System,ESPG)、CY-8874關鍵任務裝備(Mission Critical Equipment,MCE)以及MEV(Mission Essential Variant)等運算系統;此外,UYQ-70還有ESPG、MCE、MEV等無人操作的機櫃版本,擁有數十個VME插槽,可根據不同需求來選用不同形式的VME處理卡,來滿足不同的運算需求。這些內含強大運算能力的子系統,就是之後神盾系統(Baseline 7起)邁向全分散結構的基礎。 隨後,AN/UYQ-70逐漸成為美國海軍各種平台的標準工作站,用於各型水面艦艇、潛艦甚至飛行器上,例如在1990年代末期完成的「艦艇自衛系統」(Ship Self-Defense System,SSDS,美國海軍第一種真正的全分散式戰鬥系統)以及神盾系統Baseline7這兩種全分散式艦載戰鬥系統中,都以AN/UYQ-70便擔任整套戰鬥系統的統一監控、管制工作。此外,日本、澳大利亞、德國、挪威與西班牙等國也引進了UYQ-70系列工作站供其海軍載台使用,其中日本海自採用的UYQ-70由美國在2000年10月授權日本沖電氣電子公司(OKI)製造。 「半套」的商規硬體 AN/UYQ-70的主機板硬體結構實際上是更接近工業需求的特製單板電腦(Single Board Computer,SBC),而不是一般民間電腦的主機板:因此,UYQ-70像是在專門設計的軍規機箱裡,插入一片片依照軍方需求訂製的SBC。與一般民間主機板的差別如下: 1.AN/UYQ-70機箱內部採用的是插槽安裝底座(Rack-mounted chassis),要求電腦組件必須做成一片片垂直插入的板卡,民用主機板「一大塊水平放置」的規格根本塞不進UYQ-70的機箱裡。 2.UYQ-70的機板上不是一般的插槽,而是加固型、具備抗震能力、能承受極端溫度的針腳式連接器(DIN 或特殊軍規針腳)。 3.優化電路佈局:為了通過軍方嚴苛的電磁干擾(EMI)測試,主機板的佈線(Routing)和層數通常比商用主機板更厚更複雜,並會加上額外的保護電路以防電磁浪湧(Surge)。 而當時設計AN/UYQ-70之所以不用民用主機板的佈局,主要顧慮還是散熱與導熱。UYQ-70使用符合軍規條件的密閉、無風扇特製機箱;一般民用主機直接用風扇吹主板降溫,除了噪音大之外,萬一風扇失效就無法散熱,在當時被認為不夠可靠。在沒有風扇的情況下,主機板依賴傳導散熱 (Conduction Cooling)。這意味著主機板上必須有大面積的鋁製或銅製散熱板直接壓在晶片上,這就不是民用主機板的方式。 於是在UYQ-70時代,雖然軍方不必再從頭開發軍規處理器,但仍需要花時間設計SBC主板來整合這些組件 ;因此即便軍方決定引進某種新CPU,大約花費大約5年「軍規化」程序才能使產品問世,等到可以部署仍比市面上同期產品落後一代。 一般民用主機板型號通常2到3年就停產,而AN/UYQ-70的SBC主板則必須符合美軍規範,保證至少10年的零件供應與相同的介面、電路腳位。由於以上專門的設計製造需求,美國海軍必須找專門的軍用代工廠(如 Mercury Systems 或 Curtiss-Wright)來生產這些SBC主板,無法直接在商用市場上找現成方案。也因此,AN/UYQ-70只能算是「半套商規」,實際上還是高度訂製的組件,還不能完全實現「拿商規市場現貨」的目標。雖然美軍的確不需要再自行開發軍規處理器,但在UYQ-70這種「半商規/半軍規」架構下,特製而使用週期長的SCB主板,依舊限制住上面的組件規格,無法做到真正隨時換用同期民間市場上主流CPU、記憶體等組件。 另外,在 AN/UYQ-70 時代,海軍技術維修人員(通常是電子技術員 ET)面對的技術門檻與零件壓力,恐怕比軍規電腦時代更大。首先,UYQ-70每一種SBC板卡都是特製的,特定的模組必須找型號對應的VME。這些零件單價極高(一張特製SCB卡可能要價數萬美金),且庫存有限,一旦用完就得向特定幾家軍用代工廠訂製。另外,維修這種特製版卡涉及的靜電防護、針腳對齊以及底板佈線檢查,都比一般民間消費性電子產品高得多。 引進商規作業系統 而配合引進AN/UYK-70 ADS,神盾系統也開始引進商規的作業系統(OS)。第一批大規模進入神盾核心架構(特別是與 AN/UYQ-70 結合時)的商用作業系統是HP-UX (Hewlett Packard UniX)。 一開始,一般商規作業系統(如Windows/Unix/Linux)並不是為了配合火控導引等需要「硬即時」的需求,而是盡量滿足兼顧各種應用程序的運算與I/O;直接用於火控等關鍵戰術任務時,常因背景執行的後台程序導致幾豪秒的卡頓,這樣的延遲對飛彈火控而言就會導致攔截失敗。因此,美國海軍不得不還是對商用作業系統內核(kernel)進行深度修改。 神盾Baseline 6中,最初的AN/UYQ-70工作站版本大量使用HP的硬體,因此運行的作業系統就選擇HP-UX(核心為Unix),具備強大的網路能力和多工作業穩定性,且符合POSIX標準。當時的程式設計師也能利用Unix環境來快速撰寫C++程式碼。早期HP-UX在神盾系統中主要用於顯示與管理。 而對於需要「絕對即時」(Hard Realtime)的任務如飛彈導引、火控計算等,美國海軍則引進Wind River公司的VxWorks作業系統,這是專為嵌入式系統設計的實時作業系統(Real-Time Operating System,RTOS),能保證在幾微秒內回應戰術指令。VxWorks這樣的RTOS系統,消除早期海軍對於商規電腦「容易當機」的疑慮。 VxWorks的硬即時(Hard Real-Time)能力是「基於優先級的搶佔式排程」(Priority-Based Preemptive Scheduling);每個程序事先分配0-255的絕對優先級,當需要高優先級程序插隊時,系統一定能立刻強行結束當前正在執行、優先級較低的程序,立刻載入高優先級程序並執行;這種能力對於許多緊迫作戰任務(如攔截迫近飛彈的火控工作)非常關鍵。另外,VxWorks的硬即時能保證系統切換不同程序執行時的「上下文切換」(Context Switch)時間是固定的,這對於導引飛彈的火控工作至關重要(如果導引指令晚了0.1 秒發送,飛彈就可能就會偏離目標數百公尺)。 而美國海軍引進的HP-UX一開始本質上並非即時作業系統;為了滿足神盾系統的需求,美國海軍使用了HP-UX一的「即時擴展」(Deterministic)版本,增加以下能力來滿足戰術需求: 1.中斷屏蔽(Interrupt Masking):將CPU核心分組,讓特定的處理器專門處理戰術中斷(優先度高),而不受到通用I/O操作的干擾。 2.鎖定記憶體(Memory Locking):防止作業系統為了節省空間而將核心戰術代碼交換(Swap)到硬碟上,確保這些關鍵代碼永遠留在記憶體中。 到了2000年代中後期,尤其是全商規的神盾Baseline 9/ACB 12開始,美國海軍開始大規模轉向與民間同步的Linux作業系統(主要是 Red Hat Enterprise Linux, RHEL等)來取代較為專門而昂貴的HP-UX跟VxWorks。
這不僅是為了節省成本,而是此時Linux已經很大解決了即時性的問題,從而不再非得採用HP-UX跟VxWorks。原本 Linux
被認為不適合軍事上的實時任務,但Linux開源社群推出了PREEMPT_RT補丁(patch),讓Linux內核幾乎所有部分都成為程序「可搶佔」的;加裝PREEMPT_RT補丁後,Linux也能像VxWorks一樣,在極短時間內中斷低優先級任務,並載入執行高優先級程序;這讓美國海軍敢用Linux取代昂貴的VxWorks來執行核心火控程序。
再者,Linux作業系統原生就支援KVM等虛擬化技術,例如可以在一部強大的Linux伺服器上,透過KVM同時跑數十個「虛擬」的戰術節點,這是TI-12硬體架構能夠實現伺服器叢集化的關鍵技術底層。 然而在2000年代前期的Baseline 7十代,即便陸續引進經過深度改造的商規作業系統如HP-UX或VxWorks,但美國海軍仍然不敢貿然將神盾系統核心邏輯如指揮決策(C&D)、武器控制(WCS)軟體遷移到UYQ-70商規工作站上,主要有以下理由: 1.在處理極高負載時,這些商規作業系統排成仍可能出現微小的延遲。當時美國海軍的工程師擔心,萬一在這種高負載關鍵時刻,商規作業系統的垃圾回收(Garbage Collection)或系統排程(Scheduler)突然卡頓0.1秒,飛彈就可能就會因為接收不到修正指令而脫靶。
而老舊的AN/UYK-43的指令週期是硬性固定的,當時商規作業系統無論如何強化都無法辦到。例如,AN/SPY-1雷達傳回幾千個目標軌跡,且同時要導引多枚SM-2
防空飛彈時,在UYK-43上執行的CMS-2語言代碼能保證在每個 10 毫秒(10ms)的掃描週期內精確地輸出火控指令。 軟體轉換 除了計算機硬體結構全面翻新,神盾系統的軟體也經過一段漸進的轉換過程。首先,需要將先前撰寫、運行於UYK-43/44軍規電腦上的核心戰術演算法(由CMS-2語言撰寫)的戰術與射控程式,轉換成能後來的ADA或C++等高階語言,編譯成能在商規計算機作業執行的機器碼。 雖然神盾系統逐漸演進過渡到與現代大企業類似的伺服器叢集(Baseline 9/TI-12之後),但是某些從第一代神盾(使用AN/UYK-7)就存在的核心戰術演算法(尤其是飛彈指揮、火控等),經過與語言轉譯,仍然在21世紀以後的神盾系統源碼庫中。 神盾系統軟體從CMS-2轉化到ADA或C++等現代高階語言,主要是發生在1990年代Baseline 6/7期間。當時美國海軍啟動了名為 「神盾高階語言轉化」 的工程。這並非一夕之間完成,一開始採取了典型從舊系統過渡到新系統的「絞殺榕樹模式」(Strangler Pattern,透過包裝舊程式碼,將其重定向到新程式碼或記錄舊程式碼的使用情況)。 在神盾Baseline 6、7的COTS組件過渡轉換期,舊的AN/UYK-43/44電腦與商規現成技術的AN/UYQ-70工作站並存;為了讓跑在舊軍規電腦的核心戰術軟體與在COTS電腦上引進的新軟體溝通,美國海軍軟體部門撰寫了大量中介軟體 (Middleware)作為兩者之間溝通的轉譯層,這個過程十分費工。 原本CMS-2語言(N/UYK-CMS)仍比較接近低階語言,日後難以閱讀、維護與擴充。神盾系統從Baseline 7 開始大規模引進由ADA或商規C++等高階語言撰寫的軟體。ADA與C++具「物件導向」特性,使程式開發者可以將「目標追蹤」定義為一個個「物件」,不同類型目標物件中的參數屬性有所不同。如要增加新的目標類型,只需增加對應的物件(例如傳統反艦飛彈與新興的彈道飛彈目標),不需要改動整個核心架構。 而在COST時代,海軍不再為不同級的船艦分別撰寫、維護寫不同的源碼,而是建立了一個巨大的共通軟體池,根據硬體能力(舊的UYK-43/44軍規電腦或新的COTS伺服器)自動配置功能;如此,美國海軍開始建立通用軟體庫 (Common Source Library, CSL),這是神盾Baseline 7/8時代留下的最關鍵遺產,成為之後神盾系統乃至美國海軍其他作戰系統(如SSDS船艦自衛系統或LCS濱海作戰船艦的COMBATSS-21)能共享的軟體資源。 FDDI分散光纖資料介面 神盾Baseline 7.1/BMD 4.0強化反彈道飛彈能力,除了利用先進商規處理器執行新程序之外,提高系統資料傳輸頻寬來處理大量數據也是必要條件;而TI-04硬體架構引進的光纖分散資料介面(Fiber Distributed Data Interface,FDDI)扮演關鍵角色 。沒有光纖的頻寬與低延遲,就無法處理攔截外太空目標所需的海量數據。神盾系統從Baseline 6就引進FDDI作為AN/UYQ-70商規組件工作站的傳輸排線,到神盾Baseline 7的應用更為擴大。 FDDI使用雙環(Dual-Ring)冗餘架構,包括兩條反向旋轉的光纖環;如果其中一條光纖受損中斷,網路會在幾毫秒內自動切換到第二條環,維持資料回路完整性;這對於保障飛彈火控導引數據的連續性至關重要。 商用乙太網路(Ethernet)的機制很容易發生不同的數據傳輸碰撞(collission),而FDDI採用權杖機制(Token Ring),拿到Token的機器才能進行傳輸,從而根絕了碰撞的可能。這使得實時要求極高的戰術數據(如飛彈指令)在FDDI上傳輸的延遲是可預測的(Deterministic),這幾毫秒的確定性在攔截高超音速目標時就會決定命中或脫靶。 FDDI的傳輸頻寬達100Mbps級,在1990代是極高的水平(先前使用電纜的MIL-STD-1397資料匯流排傳輸率在10Mbps以內),使AN/UYK-43軍規計算機與AN/UYQ-70商規工作站能即時共享高解析度的雷達原始追蹤數據。另外,配合FDDI,在計算機之間傳輸的數據已經完成數位化,這意味著這些數據也可以被封裝到其他數位傳輸協議,透過衛星資料鏈等載體發送給地平線以外另一艘友軍艦艇,這也是實現BMD能力結合CEC的基礎條件,讓神盾艦的反彈道飛彈工作也能實現遠隔交戰(Engagement on Remote)。 透過 FDDI 網路,系統可以根據當前戰場動態來分配不同任務的傳輸頻寬。為了處理反彈道飛彈任務的大量,神盾Baseline 7時期的機房裡出現了掛載在FDDI 網路上的「加速器機櫃」,裡面裝滿商規數位訊號處理器(DSP)來輔助核心電腦作業。 神盾Baselin 7的商規、軍規計算機分工 雖然神盾Baseline 7開始讓AN/UYQ-70處理大量與作戰相關的數據(如感測器數據、反彈道飛彈攔截運算),但絕大部分火控決策授權(如確認目標為敵軍、對武器系統下達發射指令、計算武器排程)程序仍然運行舊的UYK-43電腦上;因為這些任務關鍵(mission critical)的代碼經過數十年的驗證,具備極高的可靠性。 在神盾Baseline 7
時期,海軍開始讓COTS組件接手與作戰相關的運算,最重要的是新增的反彈道飛彈任務(BMD)的雷達信號處理與彈道計算工作,舊型軍規電腦的硬體(處理器速率、記憶體容量等)
根本跑不動這些龐大的程序。然而,對於包含飛彈導引在內的武器控制,此時美國海軍還不敢將這些有嚴格即時需求、攸關生死也交給商規計算機環境。這些任務關鍵(Mission
Critical)邏輯執行的時序確定性 (Determinism)非常重要;而在2000年代初期,商規的Linux/Unix
作業系統在處理「極短時間內的硬性即時(Hard
Real-time)」需求時,偶爾會因為背景程序排程而產生微小的延遲。對於飛行速率高達每小時100公里的防空飛彈,0.001
秒的誤差就是幾公尺的距離,足以決定命中或脫靶。 例如,神盾的武器控制系統(WCS)實際管理武器系統硬體,在此階段仍然在UYK-43上執行,這些包括: 1.MK-41垂直發射系統 (VLS)的發射井選擇、飛彈啟動順序、飛彈資料鏈的通訊;負責為標準SM-2防空飛彈提供末端照射的AN/SPG-62照射器的指向與開啟,也都是UYK-43根據火控解算結果來精確控制的。 3. 雷達調度與管理 (Radar Control)AN/SPY-1雷達調度管理(Radar Control):雖然AN/SPY-1D相位陣列雷達的信號處理(Signal Processing)此時已經開始向數位化邁進,但「搜索計畫與雷達資源管理」,包括決定雷達波束在豪秒級的掃描區間該指向哪裡、能量分配(即根據當前威脅優先等級來分配雷達發射機的占空比(Duty Cycle),確保高威脅目標獲得更多的追蹤能量)等仍舊由UYK-43主電腦負責。 3.同步需求:在分散式系統架構中,所有設備的時間與狀態必須精確同步。而負責同步工作的還是UYK-43電腦。 4.監控戰系中所有節點狀態以及分配任務,也仍由UYK-43負責(例如某台UYK-70如果當機失效,UYK-43會立刻重新分配不同節點的任務來分攤失效節點的功能)。 此外,UYK-43也還是負責控制系統中舊型軍規總線(如 NTDS),負責仍使用軍規傳輸介面的舊型輔助系統通訊。 |