陆军国民警卫队使用 Linux
陆军国民警卫队 (ARNG) 长期以来一直寻求出于成本原因将军事战争游戏模拟移植到个人计算机上。在使用 Hummingbird 的 eXceed X Window Server 将战争游戏图形部分移植到 Windows 95/NT 后,结果令人失望,但开发人员对使用 Linux 的性能感到震惊。因此,ARNG 将整个战争游戏模拟移植到了 Linux。Linux 版本目前已部署到 107 多个 ARNG 站点以及几个外国政府。
SIMITAR(高级战备训练模拟)计划由国会于 1992 年中期作为高级研究计划局的项目而设立(Krug 和 Pickell,《陆军》[ISSN 0004-2455],46(2):57-59,1996 年 2 月)。这项工作的一部分包括修改一种名为 Janus 的战场同步工具,以训练参谋人员和部队在他们家乡的军械库中进行训练。
根据陆军国民警卫队的合同,Cubic Applications Inc. (CAI) 的任务是将 Janus 战争游戏的十六个程序之一从 HP-UX 操作系统移植到 Linux。选择的程序管理 Janus 战争游戏在支持 X Window 系统的图形工作站上的可视化。这项任务的主要原因是节省平台的初始成本,更重要的是,降低持续的维护成本。CAI 将用 C 语言编写的图形程序移植到三个操作系统:Windows 95、Windows NT 和 Linux。Windows 95/NT 操作系统中的 X 客户端环境由 Hummingbird Communications, Ltd, eXceed v5.11 提供。
表 1 比较了在不同平台和操作系统上,当逐步放大到 Janus 战争游戏模拟中具有交叉道路、障碍物和雷区的某个位置时,屏幕刷新时间。图形进程在每个平台上本地运行。每个显示器的中心都是相同的 X,Y 坐标。
请注意,在缩放级别 6 时,不同平台和操作系统之间的刷新率存在巨大差异。HP Apollo 715/100 工作站是我们比较其他系统的基准,因为它在我们开始测试时是我们拥有的最快的 POSIX 兼容计算机。HP 715/100 的时间范围为一到九秒。
对于 ARNG 的实时训练环境而言,运行 Windows 95 的 P200Pro PC 和 P133 PC 的图形性能被认为是不可接受的。在缩放因子 6 时,刷新时间分别为 73 秒和 121 秒。与 Hummingbird Communications Ltd. 的开发支持人员讨论后发现,无法进一步提高速度。Windows 95 X 服务器软件已正确优化,并且在执行这些测试时,P200Pro PC 平台是最先进的。Hummingbird 的一名工作人员建议,Windows NT 版本的 eXceed 可能比 Windows 95 版本更快。
运行 Windows NT 版本的 eXceed 的 P133 PC 的图形性能也被认为是不可接受的。在缩放因子 6 时,刷新时间为 103 秒。与 Windows 95 相比,Windows NT 软件在极端情况下性能较慢,但在中间缩放级别性能更快。Windows NT 的总刷新时间为 527 秒,而 Windows 95 为 511 秒。总的来说,Windows NT 端口的性能比 Windows 95 端口慢。我们惊讶地发现,除非 PC 用户在 Hummingbird 软件中被授予管理员权限,否则 Windows NT 实现无法运行。如果 PC 用户被授予普通用户权限,则根本无法工作。特权异常是 Hummingbird 以前未知的。向应该是普通用户的用户授予超级用户特权将是一个重大的安全漏洞。
作为最后的手段,实际上只是在同事随意提到一种对 Internet 服务器有用的操作系统之后,我们研究了官方 Red Hat Linux for Intel 作为控制 Janus 模拟图形显示的另一种可能的操作系统。在这一点之前,我们从未听说过 Linux。说我们对免费操作系统持怀疑态度已经是客气的说法了。
我们对 Linux 操作系统的图形性能感到震惊。配备 Linux 的入门级奔腾和最先进的奔腾 Pro 的性能比以前测试过的任何平台都快,包括 HP 715/100。200MHz 奔腾 Pro 系统的图形刷新率范围为不到一秒到三秒。200MHz 奔腾 Pro 比 HP 715/100 工作站(额定 10.25 Xmark93 单位)快三倍。即使是配备 90 美元显卡的 133MHz 奔腾也比 HP 715/100 快两倍,其值从不到一秒到四秒不等。作为比较,当时最快的 HP 工作站的额定值为 41.13 Xmark93 单位(C180-XP HP Visualize-EG 使用 PA-8000/180MHz 处理器,零售价约为 51,400 美元)。
显然,CPU 马力、加速显卡和降低的操作系统开销的组合是造成这些显著结果的原因。仅就 X 性能而言,几种用于 Intel 平台的高性能加速显卡优于当时最快的 HP X 工作站。
200MHz 奔腾 Pro Linux 工作站中的中等性能显卡的基准测试为 112,000 Xstones(1280x1024,135MHz 点时钟频率,每像素 8 位,数据来自 www.goof.com/xbench/summary.html)。最先进的显卡能够达到近 300,000 Xstones。例如,配备 S3-968 芯片组的 Diamond Stealth 64(PCI 总线,135MHz 点时钟频率,1280x1024 分辨率,每像素 8 位)在配备 16MB 主内存的 133MHz 奔腾 Linux 工作站中被评为 291,000 Xstones。作为比较,惠普系列的 X 工作站已被惠普评级如下:Entria Color 为 106,000 Xstones;Entria Hi-Res Color 为 135,000 Xstones;Envizex “a” 系列为 168,000 Xstones;最快的 Envizex “p” 系列为 220,000 Xstones。
决定使用 Linux 工作站是受成本和性能参数驱动的。就成本而言,基于 Intel 的 Linux 工作站比其他 POSIX 兼容工作站提供商的工作站便宜得多。一台基于 133MHz 奔腾的 Linux 工作站(214 MIPS),配备 32MB RAM、2GB 硬盘、加速显卡、20 英寸彩色显示器和一块 LAN 卡,成本约为 3,000 美元。HP 712/100 (122MIPS),配备 32MB RAM、2GB 硬盘、20 英寸彩色显示器和 LAN 接口,成本约为 10,600 美元(SEWP 合同)。当时,入门级 HP 712/64 (78MIPS),配备 32MB RAM、1GB 硬盘、20 英寸彩色显示器和 LAN 接口,成本约为 12,000 美元(GSA 价格)。
就性能/成本比率(数字越高越好,性能与 HP 715/100 相比)而言,P133MHz Linux 工作站为 2.25/$3K = 0.75,而 715/100 为 1/$10.6K = 0.09。P133MHz Linux 工作站的性能/成本比率是 715/100 的 8.3 倍(0.75/0.09)。换句话说,与 HP 715/100 相比,Linux 工作站每美元投入的回报性能是其 8.3 倍。
基于 Intel 的 Linux 工作站不仅在初始成本和性能/成本比率方面更便宜,而且在添加/维修/更换组件方面也更便宜。要添加/维修/更换惠普/Sun/Silicon Graphics 工作站组件,您必须购买受支持的组件。例如,在测试时,向 Linux 工作站添加 64MB EDO 内存的成本为 500 美元(SW Technology 的价格,网址为 http://www.swt.com/)。向惠普工作站添加 64MB 内存的成本为 3,800 美元至 5,600 美元(取决于型号,数据来自 SEWP 合同,CLIN 4.2.1 内存)。向 Linux 工作站添加 4X CD-ROM 驱动器的成本为 91 美元(SW Technology 的价格)。向惠普工作站添加 4X CD-ROM 驱动器的成本为 328 美元至 500 美元(取决于型号,数据来自 SEWP 合同,CLIN 4.2.4 CD-ROM 驱动器)。向 Linux 工作站添加 2GB 硬盘的成本为 285 美元(Maxtor MX72004A,E-IDE)。向惠普工作站添加 2GB 硬盘的成本为 675 美元至 2,425 美元(取决于型号,数据来自 SEWP 合同,CLIN 4.2.2 大容量存储迷你塔和磁盘驱动器)。请注意,SEWP 合同价格远低于惠普对政府非合同采购提供的标准 22% 折扣。
Linux 工作站比更传统的图形工作站提供商具有另一个优势——它可以是多启动平台。分区可以是 MS-DOS、Windows 95/98/NT、OS/2 或 Linux 的任意组合。Linux 包括 Linux 引导加载程序 (LILO),用于指定要加载的分区(操作系统)。
由于陆军选择惠普作为开发和运行 Janus 的平台,如果 ARNG 选择惠普作为主要的 Janus 显示平台,那么就不会有意外情况发生。然而,成本/性能分析论证以及持续的维护成本都反对购买整套惠普工作站。
最终,ARNG 决定购买大约 1700 台基于 Intel 的双启动 Linux/Windows 95 工作站,每台价格低于 1,800 美元。ARNG 将 Windows 95 端用于基于 CD-ROM 的远程学习培训任务。Linux 端用于 Janus 战争游戏模拟。因此,ARNG 能够从同一平台获得两种不同的用途,每种用途都需要不同的操作系统。
由于上述工作,ARNG 决定将整个 Janus 模拟(16 个程序)移植到 Linux。大部分是 FORTRAN 和一些 C 代码的软件在大约六个人周内成功地从 HP-UX 移植到 Linux。几乎所有的移植问题都与源代码中的缺陷有关,这些缺陷被宽容的 HP-UX FORTRAN 编译器所掩盖。现在用于执行和显示 Janus 模拟的硬件完全由基于 Intel 的 Linux 工作站组成。该移植由 CAI 的程序员 Kevin Buehler 完成。
正如人们可能想象的那样,成本节约和性能提升并没有在政府部门被忽视。由于展示了 ARNG 将 Janus 完全移植到 Linux 操作系统,下一版本的 Janus (v7.1) 将在美国陆军现役部队的基于 Intel 的 Linux 工作站上执行。由于 ARNG 的实验计划,其他战争游戏模拟目前正在移植到 Linux,使用 Janus v6.30 作为基本源代码。
我们将 Linux 视为解决问题的最后手段。随着好消息的传播,也许其他人会将 Linux 视为第一选择。Linux 仅在初始采购成本方面就为 ARNG 节省了大约 8,000,000 美元(不包括更昂贵的持续维护成本)。它可能会为您节省多少钱?
1975 年,Richard Ridgeway 在一台配备 20 个寄存器的惠普桌面计算器上编写了他的第一个统计分析程序。Ridgeway 博士目前在堪萨斯州莱文沃堡国家模拟中心的战术理事会工作。他正在努力改进一种独特的模拟程序 (Spectrum),该程序旨在训练参谋人员进行非战争军事行动。他的妻子 Luann 在密苏里州众议院代表第 35 区 (home.earthlink.net/~ridgeway(http://home.earthlink.net/~ridgeway)。在业余时间,他骑马和帆船。您可以通过电子邮件 ridgewr1@leav-emh1.army.mil 与他联系。