Linux Use Rocketing at Jet Propulsion Laboratories

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.

Linux at NASA

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.

Building Better Spacecraft

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.

The Right Place at the Right Time

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.”