A look at how JPL scientists are using Linux to build better spacecraft and make accurate calculations.
Few technologies are more exacting than that of designing and running space probes. A trajectory error as small as one inch per mile, for instance, can result in missing the target by tens of thousands of miles. Now add stringent budgetary constraints, and you have some idea of the daily working environment of the scientists and engineers at the Jet Propulsion Laboratories (JPL) in Pasadena, California.
With their long history of mainframe-based computing, NASA scientists were quick to spot the benefits of Linux. The NASA Goddard Space Flight Center, for example, uses Linux with its airborne Scanning Radar Altimeter to study hurricanes. NASA's Beowulf-class clustered computing project has also made use of Linux for several years. Further, one NASA employee maintains a site on the use of Linux for x-ray astronomers, and another is harnessing it for the on-board navigational computers of space probes. It's no surprise, therefore, that NASA's JPL is now utilizing Linux in two very different projects: one to build better spacecraft and the other to see that they arrive at the right place.
When you are two billion miles from earth, you can't just pop out to a hardware store to get a spare part. JPL's Advanced Thermal and Structural Technology Group (ATSTG), therefore, is responsible for ensuring all space probe components can withstand the rigors of space travel. The ATSTG works on advanced technologies for thermal, cryogenic and structural space systems including aerobots, rovers, mechanical coolers and heat pipes. They have recently integrated Linux into the business of building better spacecraft.
Thermal engineers play a key role in the design of space hardware. “Thermal engineering provides designs that maintain the required temperatures at specific space hardware sites through the range of all modes of operation and for the life of the hardware in space,” says Technical Group Leader Jose Rodriquez. “Temperature requirements for electronics, mechanisms, detectors and lasers are critical to mission success.”
The ATSTG uses a number of analysis tools to develop analytical models to carry out design trade studies. The best, cheapest and most complete integrated thermal analysis package available is the Thermal Synthesis System (TSS). It allows thermal engineers to create a thermal model of the hardware in a simulated space environment. They can then achieve a better understanding of how well the system will actually work when it is out in space. At the time it was developed, the TSS graphical interface requirements could be met with only high-end HP machines running UNIX. When the ATSTG wanted a version for its own use, the only free versions of the software available were for HP running UNIX or Linux on a PC. Given the choice between spending many thousands of dollars to buy or rent an HP, or spending $150 US to buy Red Hat Linux and Accelerated X, they opted for the Linux version of TSS. The group also installed Linux TSS on computers at two subcontractor facilities.
TCP/IP is used to transmit data and models back and forth between Linux and Windows computers. “Because of the high expense associated with the HP machines, it is necessary to keep them utilized constantly to generate enough resources to pay for the equipment,” states Rodriquez. “This is done by keeping as few machines as possible, which means that engineers can't easily access these computers during normal working hours and have to work early or late hours to get the work done.” Having Linux allows the ATSTG members to run TSS right on their own PC whenever they need it, eliminating costly downtime and enabling projects to be completed sooner.
Building a better spacecraft is fruitless, however, if it never arrives at its intended destination. While some people have trouble navigating their way across town, the scientists at JPL have to plot a trajectory that will allow a space probe to intercept a planet that is billions of miles away and traveling at 15,000 miles an hour. If you arrive a day late after a three-year journey, you've missed the target by hundreds of thousands of miles. As well as difficulties in hitting its space targets, there are also budgetary targets that NASA personnel are expected to meet. Linux is key to achieving both. “Smaller projects (DS1, Mars Pathfinder, etc.) are trying very hard to cut costs while achieving all scientific goals,” says 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 level of performance required.”
Breckheimer's group has the responsibility of designing, implementing delivering, and sustaining the Institutional Navigation System Software (INSS) in all flight projects (Galileo, Cassini, Mars, DS1, Stardust, etc.). Consisting of over 160 programs written primarily in Fortran 77 and C, Perl, Tcl/Tk and HTML, INSS contains 4.5 million lines of source code. INSS is designed to be readily portable to new platforms as they develop (particularly Linux).
When JPL switched from mainframe to VAX in the eighties, it required 15 man-years of software conversions. Later, for the move to HP-UX, engineers used only standard features within the Fortran 77 and C compilers. As a result, portability issues are easy to deal with. Going from HP-UX to Linux, therefore, took minimal work and even tools like Perl and Tcl/Tk worked correctly the first time. “There are tools we have experimented with to convert c-shell to NT scripts, but we haven't been successful yet,” reports Breckheimer. “As for Linux, no conversion was necessary. The scripts worked properly with no changes.”
Breckheimer has benchmarked a number of computers since 1984, using a program called nbodyf. This program takes an initial vector and integrates it with the equations of motion for all planets in the solar system over a five-year period. In 1984, a DEC VAX 11/780 took an hour and a half to run the program. Now an HP J5000 can do the same thing in under three seconds. While speed is important, the computer system must also get the correct result. Therefore, the answer is tested using a subset of INSS containing about 1 million lines of code. When run on the benchmark tests, the $2500 PC running Linux compared very favorably with results obtained on an HP 755 which cost over $30K. Linux Red Hat version 5.0/5.1 was installed on a generic 200MHz PC with 64MB RAM. It ran the nbodyf program in 14.5 seconds, versus 13.3 seconds for an HP 755/125 running HP-UX 9.07, and beat the times for the HP J21, HP C110 and HP 755/99. On the other tests, it ran as well or better than the 755/125. Later tests were run using a 450MHz PC, and its performance improved roughly in proportion to clock speed. “An additional side benefit we observed was a slight improvement in accuracy,” says Breckheimer. “The Fortran 77 compiler, obtained from Absoft, utilizes 80-bit registers for some of the built-in functions used by our navigation software. 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.”
Year after year, Linux is gaining greater acceptance within NASA. Given the huge investment that exists in older systems, it is not likely that Linux will replace Windows or UNIX in the short term, but Linux is working well where it has been used. “Having Linux's desktop functionality tremendously improves the engineers' efficiency and speed,” says Rodriquez. “Projects greatly benefit when engineers have readily available desktop analysis tools.” His one complaint, however, was the limited amount of peripheral hardware that Linux supports. But with so many computer vendors now offering Linux and the increasing number of Linux applications, this situation is rapidly changing. Breckheimer, who has been working with INSS through several platform incarnations, feels that Linux “opens up a significantly cheaper path to future computing for many of the projects we support. While HP, Sun and SGI workstations dominate our operations environment, Linux-based PCs may make a significant impact soon. As more projects accept Linux, computer costs for navigation systems will continue to decrease significantly.” So, while you don't have to be a rocket scientist to appreciate the advantages of Linux, these days even rocket scientists are beginning to adopt it as an alternative to Windows.