美国人的IT应用技术向来领先世界,从民用的iPad、Google Glass,到商用的Cloud Computing,各种超级酷的应用及设备让人为之炫目。然而美国最强大的IT应用技术并非来自民用与商用,而是来自美国军方,美国IT巨头IBM最早就是为美军提供IT支持的。美国军方的IT系统到底有多酷?是否如热门美剧尼基塔中那位极客特工Seymour Birkhoff所耍弄的那套系统?我们不妨从美国海军新军舰所配置的操控系统来窥探其冰山一角。
美国海军第一艘新一代导弹驱逐舰“朱姆沃尔特”号(USS Zumwalt ,“朱姆沃尔特级”三艘驱逐舰的第一艘),上周一从缅因州船厂下水。这艘驱逐舰的满载排水量超过一万四千吨,将是美军有史以来最为庞大的一个驱逐舰舰型,甚至超过了美军现役的提康德罗加级巡洋舰(Ticonderoga class cruiser,九千八百吨)。除此之外,由于其隐形设计的缘故,朱姆沃尔特号那有棱有角的外形也十分吸引眼球。而它一艘三十五亿美元的造价更是引人注目。
在军舰下水之前,Ars Technica的小编肖恩·加拉格尔(Sean Gallagher)有幸得以参观了设计军舰控制中心的Raytheon公司的演示,从而让大家知道这样一艘高调的驱逐舰,其控制系统究竟是个什么样子。
过去,要在军舰上利用计算机主机来控制关键任务可不是一件容易的事情——因为军舰在开火的时候,会产生剧烈的震动和冲击,很容易破坏主机系统。在艾奥瓦号战列舰上服过役的肖恩对此深有体会:开火之前,大家会把那些不必要的系统统统关掉。
因此,军舰上的主机系统不能用商业成品,而需要特别加固。这样一来,系统不仅昂贵,而且维护、更换均变得麻烦。
朱姆沃尔特级军舰则采用了另外一种思路——与其让硬件变得更皮实,不如把整个“机房”给做皮实了,再让“机房”为其中的设备提供电力、缓冲、水冷以及电磁屏蔽防护等等。这样的话,即使采用成品设备,也不会出现问题。按照这种思路设计的“机房”被称作“电子设备容器模块”(Electronic Modular Enclosure,EME),一艘驱逐舰上将配备十六个这样的模块,每个模块均可独立运转,成为一个微型的数据中心。至于模块中的硬件设备,便都是市面可见的那些了(大部分是IBM产的运行Red Hat Linux的刀锋服务器)。
电子设备容器模块
这套设计思路除了节省硬件造价之外,还提供了另一个优点:负责生产电子设备的Raytheon可以预先安装测试整个模块,等排除所有问题之后再交付造船厂,而不需要带一套人马专程跑去船上,在很有限的时间里完成安装测试。
除了硬件设备在市面上随处可见之外,朱姆沃尔特级军舰的软件控制也采用了很多现成的方案:一艘军舰上的十六个模块之间相互联结成了一个小型的互联网,船只的各个系统,包括航行控制、火控、侦查和通信等等,都以各种互联网协议实现相互之间的通讯(包括大家熟悉的TCP和UDP),舰内通话更是大部分使用IP电话协议来完成。舰上还有一定的无线网络技术支持,虽然详情不方便透露,但我们至少知道,船员还是有办法无线连接军舰上的这个小型互联网来完成任务的。
其它那些原本不能通过互联网协议连接的系统,也就是多种军舰上都会安装的现有组件,则通过安装有Lynx OS实时Linux系统的单板机来连接军舰的网络。这种单板机叫分布式转换处理器(DAP, Distributed Adaptation Processor),它能将舰上的轮机系统、消防系统、导弹发射器、无线电和卫星通讯装置等连接到网络上,并能够象对待普通网络客户端一样来控制它们。
朱姆沃尔特的控制系统及其全舰计算环境的连接示意图
至于网络中发出命令的地方,就是军舰的控制中心了。跟大家在电视上看到的常规军舰不同,朱姆沃尔特级军舰的控制中心不是那种仅仅显示各种信息,然后指挥官大呼小叫发出各种指令让各位船员去执行的地方,而是能够从字面意义上“控制”整艘船的核心部门。舰上没有“无线电室”,所有的通讯都从控制中心走;所有的舰炮都是自动的,由控制中心专人控制,不需要有人坐在炮塔上;甚至连军舰的航行都由计算机管理,受控制中心指挥,不需要舵手。
Mark 57垂直发射系统,可以携带反舰,反航母,和对陆攻击巡航导弹,它通过网络与控制中心相连。
控制中心里面有为数众多的终端(称为共用显示系统,Common Display System,CDS),作为船员控制整艘船的界面。每个终端的强化机箱内包含了几块四核英特尔主板,并能把内容输出到三个屏幕上。终端能够通过实时虚拟机管理系统 LynxSecure,同时运行多个Linux的虚拟机,各个虚拟机再根据自己的权限和功能,同网络上的其它舰船组件连接。
控制中心数字化示意图
这样的设计使得所有的终端可以共享同一套配置,船员在任何一台终端上都能利用自己的权限调用自己需要控制的内容。相比之下,传统舰船的每个终端都只能执行特定的功能,要么控制特定的武器,要么控制特定的探测器,船员如果需要同时控制多个系统,那就只能来回跑了。
终端采用了触摸屏设计,同时也提供了传统键盘鼠标等外设的USB接口。从舰长、副舰长到控制中心执勤的一般船员,这样的终端人手一台,整个控制中心看上去与其说像其它军舰的作战情报中心,不如说更像是科幻电影《星际迷航》里面太空船“企业号”的控制室。
控制中心
舰上的各个终端和其它部件都借助IBM刀锋服务器上运行的中间件(middleware)来联系在一起。除去类似导弹发射指令系统这样对时间要求更严格的部件之外,一般使用的都是市面上可以见到的商用发布/订阅中间件,用来更新终端的信息。更严格的部件则使用军方推荐的通用对象请求代理架构(Common Object Request Broker Architecture,CORBA)。
为了让船员们能尽快适应这种太空船式的控制室,早在开始编写军舰使用的全套软件系统之前,Raytheon就把他们请来并展示新系统的界面设计,听取他们的建议和意见。其中有一个大副特别说明道:“我们不要什么‘软件向导’,别做那个。”整套系统在第五版完成的时候,Raytheon更是请来许多船员进行了一次模拟反潜、对空、对地战斗场景的演习,其结果被用来改进了随后交付的第六版。首航测试的时候,朱姆沃尔特号上的软件系统将会是第七版,而之后的软件系统还会继续更新,并应用到朱姆沃尔特级军舰的全部三艘驱逐舰上。
除了朱姆沃尔特级驱逐舰之外,这个共用显示系统终端(CDS)还会被用在美国海军的“宙斯盾更新计划”之上,用来升级舰队中的导弹巡洋舰和驱逐舰。考虑到一艘船三十五亿的造价,开发的其它技术或许也会在别处被重复利用。
参考资料:
https://www.navy.mil/navydata/fact_display.asp?cid=4200&tid=900&ct=4 (朱姆沃尔特号的吨位信息等)
https://www.nvr.navy.mil/nvrships/details/CG47.htm(提康德罗加级巡洋舰的吨位信息等,网页中吨位单位为长吨,1长吨=0.907吨。)
作者:UnknownC4