Linux takes off at NASA lab
Linux takes off at NASA lab
JPL finds it can cut costs and avoid having to convert Unix scripts to NT
By Drew Robb
Special to GCN
NASA's Deep Space 1, which uses navigation code running under Linux, invokes an autonomous function to determine its current location by stars and asteroids.
Although many government users are taking a conservative stance toward Linux, the operating system has made inroads at NASA's Jet Propulsion Laboratory.
Two JPL space projects are experimenting with Linux for its performance and cost-saving potential.
Managed for NASA by the California Institute of Technology, JPL is the lead center for robotic exploration of the solar system and beyond. JPL spacecraft have visited every planet in the solar system but Pluto. Despite this wide-ranging mission, JPL's budget is less than astronomical.
'Smaller projects [such as Mars Pathfinder] are trying very hard to cut costs while achieving the scientific goals,' said Peter Breckheimer, technical group supervisor in the Navigation and Flight Mechanics Section of JPL's Systems Division.
'Computers to run the navigation system have been very expensive in the past due to the high performance level required,' Breckheimer said. As PC costs declined and speeds improved, the lab decided to use Linux in certain space programs as an alternative to the more expensive Unix platforms.
Linux won out over Microsoft Windows NT because the lab had tens of thousands of lines of Unix C-shell scripts and no adequate tool to convert them to NT scripts.No tools yet
'There are tools we have experimented with to convert C-shell to NT scripts, but we haven't been successful yet,' Breckheimer said. 'For Linux, no conversion was necessary. The scripts worked properly with no changes.'
Breckheimer's group designs, implements and sustains the Institutional Navigation System Software in all flight projects such as the Galileo, Cassini, Deep Space 1, Mars and Stardust spacecraft. INSS consists of more than 160 programs written in Fortran 77, C, Perl, Tcl/Tk and Hypertext Markup Language, amounting to about 4.5 million lines of source code.
INSS was designed for portability to keep up with ever-changing computer technology. From the 1960s to the 1980s, it primarily ran on IBM Corp. and Sperry Corp. mainframes. In the early 1980s, the lab ported INSS to Digital Equipment Corp. VAX minicomputers, for which the software conversion took about 15 staff years. In the late 1980s, JPL experimented with 32-bit Unix in the form of Digital Ultrix and resolved some portability problems. In 1991, it moved again to Hewlett-Packard Co. hardware running HP-UX.
During the switch from Ultrix to HP-UX, software engineers had to be careful to use only standard features within the Fortran 77 and C compilers. Because INSS is large, they relied on tools from the Numerical Algorithms Group in Great Britain and Flint from IPT Corp. of Palo Alto, Calif., to guarantee portability between Unix platforms.
All the portability differences are now in a single library, and going from HP-UX to Linux took minimal work, Breckheimer said. Even Perl and Tcl/Tk scripts worked correctly the first time. JPL also uses versions of the navigation software for SunSoft SunOS and Solaris, SGI Irix and Digital OpenVMS.
Breckheimer has been benchmarking INSS on various computers since 1984. His first test, a program called nbodyf, integrates an initial vector with the equations of motion for all the planets in the solar system over a five-year period.
In 1984, it took an hour and a half to run nbodyf on a VAX 11/780. The current record, held by an HP Visualize J5000 system, is less than three seconds. Many other JPL systems can execute it in 15 seconds. But besides being fast, the computers must get the correct result, so Breckheimer then retests using a subset of INSS containing about 1 million lines of code.The pacesetter
Red Hat Linux 5.0/5.1, installed on a 200-MHz PC with 64M of RAM, ran the nbodyf program in 14.5 seconds, compared with 13.3 seconds for an HP 9000 Series 755 Model 125 under HP-UX 9.07. The Linux box beat the times for the HP Visualize J21, HP Visualize C110 and HP 9000 755/99. On the other test, it ran as well as or better than the 755/125, Breckheimer said. Later tests on 450-MHz PCs showed performance improved roughly in proportion to clock speed.
'The Linux results on our $2,500 PC [in 1998] compared very favorably with results on our HP 755, which cost more than $30K,' he said.
Breckheimer said the navigation software's Fortran 77 compiler, from Absoft Corp. of Rochester Hill, Mich., used '80-bit registers for some of the built-in functions. On all previously tested Unix platforms we were limited to 64-bit arithmetic, so the Linux version of Absoft Fortran 77 offered some definite improvement.'
Linux also is in use at JPL's Advanced Thermal and Structural Technology Group. Technical group leader Jose Rodriguez said his thermal engineers design hardware to maintain certain temperatures throughout operations for the expected lifetime in space.
Rodriguez's group uses the Thermal Synthesis System, an HP-UX program developed more than a decade ago at NASA's Johnson Space Center in Houston. Then, the TSS graphical interface requirements could be met only by high-end hardware. TSS gives the thermal engineers an integrated analysis tool for simulating a space environment.
Because of the cost of the HP machines, 'it is necessary to keep them fully utilized all the time to generate enough resources to pay for the equipment,' Rodriguez said.
Rather than rent or buy an additional HP machine, the group obtained a Linux version of TSS from the Johnson Space Center and installed it along with Red Hat Linux from Red Hat Inc. of Durham, N.C., and the AcceleratedX graphical display system from Xi Graphics Inc. of Denver. The group also installed the Linux version of TSS on computers at two NASA subcontractor facilities. They transmit data between the Linux and Windows systems over a TCP/IP network.
Rodriguez, a user rather than a programmer, said he would have preferred a Windows version of TSS. Nevertheless, he said, 'Linux's desktop functionality tremendously improves the engineers' efficiency and speed.'
He did criticize the shortage of Linux on the latest PC hardware. 'Linux enables us to use a proven thermal analysis tool on our desktop PCs with minimal cost and time investment. For now we will continue to use Linux on the PCs to run TSS.'
Breckheimer, in contrast, has been working with INSS through several platform incarnations and said he believes that Linux opens a much cheaper path to future computing for many JPL projects.