Army National Guard Using Linux
The Army National Guard (ARNG) has long sought to port a military war game simulation to personal computers for cost reasons. After disappointing results porting the graphics portion of the war game to Windows 95/NT using Hummingbird's eXceed X Window Server, the developers were astounded by the performance using Linux. As a result, the ARNG ported the entire war game simulation to Linux. The Linux version is currently being fielded to more than 107 ARNG sites as well as to several foreign governments.
The SIMITAR (SIMulation In Training for Advanced Readiness) program was established by Congress as an Advanced Research Projects Agency effort in mid-1992 (Krug and Pickell, Army [ISSN 0004-2455], 46(2):57-59, February 1996). Part of this effort involved modifying a battlefield synchronization tool called Janus to train staffs and units at their hometown armories.
Cubic Applications Inc. (CAI), under contract by the Army National Guard, was tasked to port one of the sixteen programs making up the Janus war game from the HP-UX operating system to Linux. The selected program managed the visualization of the Janus war game on X Window System capable workstations. The primary reason for this tasking was to save money on the initial cost of the platform, and more importantly, to reduce continuing maintenance costs. CAI ported the graphic program written in C to three operating systems: Windows 95, Windows NT and Linux. The X-client environment in the Windows 95/NT operating systems was provided by Hummingbird Communications, Ltd, eXceed v5.11.
Table 1 is a comparison of screen refresh times on different platforms and operating systems as one progressively zooms into a location having intersecting roads, barriers and mine fields within the Janus war game simulation. The graphic process was running locally on each platform. The center of each display was the same X,Y coordinate.
Note the large discrepancy between refresh rates at zoom level 6 among platforms and operating systems. The HP Apollo 715/100 workstation served as our benchmark to compare other systems against, because it was the fastest POSIX-compliant computer we had at the beginning of our testing. The range of times for the HP 715/100 was one to nine seconds.
The graphics performance of the P200Pro PC and P133 PC running Windows 95 was considered unacceptable for the live training environment of the ARNG. The refresh times at zoom factor 6 were 73 and 121 seconds, respectively. Discussion with the development support staff at Hummingbird Communications Ltd. revealed further increases in speed could not be achieved. The Windows 95 X server software had been optimized correctly, and the P200Pro PC platform was state of the art when these tests were performed. A Hummingbird staff member suggested the Windows NT version of eXceed might be faster than the Windows 95 version.
The graphics performance of the P133 PC running the Windows NT implementation of eXceed was also considered unacceptable. The refresh time at zoom factor 6 was 103 seconds. Compared to Windows 95, the Windows NT software performed slower at the extremes, but faster towards the middle zoom levels. The sum of refresh times for Windows NT was 527 seconds, compared to 511 seconds for Windows 95. Overall, the Windows NT port performed slower than the Windows 95 port. We were surprised to discover the Windows NT implementation did not function unless PC users were given administrator privileges within the Hummingbird software. It would not work at all if PC users were given ordinary user privileges. The privilege anomaly was previously unknown to Hummingbird. Granting super-user privileges to what should be normal users would be a significant security breach.
As a last resort, and actually only after a very casual mention by co-workers of an operating system found useful for Internet servers, we investigated the Official Red Hat Linux for Intel as another possible operating system for controlling the graphic display of the Janus simulation. Up to this point, we had never heard of Linux. To say we were suspicious of a free operating system is putting it mildly.
We were astonished at the graphics performance of the Linux operating system. The performance of an entry-level Pentium and a state-of-the-art PentiumPro with Linux was faster than any previously tested platform, including the HP 715/100. The graphic refresh rates for a 200MHz Pentium Pro system ranged from less than one second to three seconds. The 200MHz Pentium Pro was three times faster than the HP 715/100 workstation (rated at 10.25 Xmark93 units). Even a 133MHz Pentium with a $90 graphics card was twice as fast as the HP 715/100, with values from less than one second to four seconds. As a comparison, the fastest HP workstation at the time of testing was rated at 41.13 Xmark93 units (C180-XP HP Visualize-EG using the PA-8000/180MHz processor, retailing at around $51,400).
Apparently, the combination of CPU horsepower, accelerated graphic cards and reduced operating system overhead were responsible for these dramatic results. In terms of X performance alone, several high-performance accelerated graphics cards for the Intel platform outperformed the fastest HP X station at the time of testing.
The mid-performance graphic card in the 200MHz Pentium Pro Linux workstation has been benchmarked at 112,000 Xstones (1280x1024, 135MHz dot clock rate, 8 bits per pixel, data from www.goof.com/xbench/summary.html). State-of-the-art graphics cards are capable of almost 300,000 Xstones. For example, the Diamond Stealth 64 with the S3-968 chip set (PCI bus, 135MHz dot rate, 1280x1024 resolution, 8 bits per pixel) was rated at 291,000 Xstones in a 133MHz Pentium Linux workstation with 16MB of main memory. As a comparison, the Hewlett Packard series of X stations have been rated by HP as follows: Entria Color at 106,000 Xstones; Entria Hi-Res Color at 135,000 Xstones; Envizex “a” series at 168,000 Xstones; and the fastest Envizex “p” series at 220,000 Xstones.
The decision to use Linux workstations was driven by cost and performance parameters. In terms of cost, the Intel-based Linux workstations were much cheaper than those from other POSIX-compliant workstation providers. A 133MHz Pentium-based Linux workstation (214 MIPS) with 32MB RAM, 2GB hard drive, accelerated graphics card, 20-inch color monitor and a LAN card cost around $3,000. The HP 712/100 (122MIPS) with 32MB RAM, 2GB hard drive, 20-inch color monitor and a LAN interface cost around $10,600 (SEWP contract). At that time, the entry-level HP 712/64 (78MIPS) with 32MB RAM, 1GB hard drive, 20-inch color monitor and a LAN interface cost around $12,000 (GSA price).
In terms of the performance/cost ratio (higher number being better, performance being compared to the HP 715/100), the P133MHz Linux workstation is 2.25/$3K = 0.75, with the 715/100 being 1/$10.6K = 0.09. The performance/cost ratio of the P133MHz Linux workstation is 8.3 times (0.75/0.09) greater than the 715/100. In other words, the Linux workstation gives you 8.3 times the performance per dollar spent as compared to the HP 715/100.
The Intel-based Linux workstation is cheaper not only in terms of initial cost and performance/cost ratio, but also in terms of adding/repairing/replacing components. To add/repair/replace Hewlett Packard/Sun/Silicon Graphics workstation components, you must purchase supported components. For example, adding 64MB of EDO memory to a Linux workstation at the time of testing cost $500 (price from SW Technology at http://www.swt.com/). Adding 64MB of memory to a Hewlett Packard workstation cost $3,800 to 5,600 (depending on the model, data from SEWP contract, CLIN 4.2.1 Memory). Adding a 4X CD-ROM drive to a Linux workstation cost $91 (price from SW Technology). Adding a 4X CD-ROM drive to a Hewlett Packard workstation cost $328 to $500 (depending on the model, data from SEWP contract, CLIN 4.2.4 CD-ROM Drives). Adding a 2GB hard drive to a Linux workstation costs $285 (Maxtor MX72004A, E-IDE). Adding a 2GB drive to a Hewlett Packard workstation costs $675 to $2,425 (depending on the model, data from SEWP contract, CLIN 4.2.2 Mass Storage Mini Towers and Disk Drives). Note that the SEWP contract prices are much less than the standard 22% discount Hewlett Packard gives to the government on non-contract purchases.
The Linux workstation has yet another advantage over more traditional graphics workstation providers—it can be a multi-boot platform. The partitions can be any combination of MS-DOS, Windows 95/98/NT, OS/2 or Linux. Linux includes the Linux boot loader (LILO) to specify which partition (operating system) to load.
Since the Army chose Hewlett Packard as the platform to develop and run Janus, no surprises would be lurking around the corner if the ARNG were to select the Hewlett Packard as the major Janus display platform. However, the cost/performance analysis argument, as well as continuing maintenance costs, argued against purchasing an entire suite of Hewlett Packard workstations.
In the end, the ARNG decided to purchase around 1700 Intel-based dual-boot Linux/Windows 95 workstations at under $1,800 each. The ARNG is using the Windows 95 side for CD-ROM-based Distance Learning training tasks. The Linux side is being used for the Janus war game simulation. Thus, the ARNG was able to get two disparate uses out of the same platform, with each use requiring a different operating system.
As the result of the above work, the ARNG decided to port the entire Janus simulation (16 programs) to Linux. The mostly FORTRAN with some C code software was successfully ported in about six man-weeks from HP-UX to Linux. Almost all of the port problems were related to flaws in the source code being masked by the forgiving HP-UX FORTRAN compiler. The hardware being fielded to both execute and display the Janus simulation is now entirely composed of Intel-based Linux workstations. The port was performed by CAI's programmer, Kevin Buehler.
As one might imagine, the cost savings and performance increase did not go unnoticed in government circles. As a result of demonstrating the ARNG's complete port of Janus to the Linux operating system, the next release of Janus (v7.1) to the active duty U.S. Army will execute on Intel-based Linux workstations. Other war game simulations are currently being ported to Linux as a result of the ARNG's experimental program, using Janus v6.30 as the base source code.
We considered Linux as the last resort to solving a problem. As the good word spreads, perhaps others will consider Linux as the first resort. Linux saved the ARNG around $8,000,000 in initial purchase costs alone (not including the more expensive continuing maintenance costs). What might it save you?
In 1975, Richard Ridgeway wrote his first statistical analysis program on a Hewlett Packard desktop calculator with 20 registers. Dr. Ridgeway is currently working within the Tactical Directorate of the National Simulation Center at Fort Leavenworth, KS. He is working to improve a unique simulation (Spectrum) designed to train staff in military operations other than war. His wife, Luann, represents the 35th District in the Missouri House of Representatives (home.earthlink.net/~ridgeway(http://home.earthlink.net/~ridgeway). In his spare time, he rides horses and sails a bit. He can be reached via e-mail at firstname.lastname@example.org.
Special Reports: DevOps
Have projects in development that need help? Have a great development operation in place that can ALWAYS be better? Regardless of where you are in your DevOps process, Linux Journal can help!
With deep focus on Collaborative Development, Continuous Testing and Release & Deployment, we offer here the DEFINITIVE DevOps for Dummies, a mobile Application Development Primer, advice & help from the experts, plus a host of other books, videos, podcasts and more. All free with a quick, one-time registration. Start browsing now...
- Vigilante Malware
- Disney's Linux Light Bulbs (Not a "Luxo Jr." Reboot)
- Libreboot on an X60, Part I: the Setup
- Vagrant Simplified
- Bluetooth Hacks
- System Status as SMS Text Messages
- Dealing with Boundary Issues
- October 2015 Issue of Linux Journal: Raspberry Pi
- Non-Linux FOSS: Code Your Way To Victory!
- October 2015 Video Preview