Carrier-Grade Linux in Space
Spacecraft applications have long been the bastion of proprietary solutions. Custom RAD-hard processors, custom bus architectures and custom command and control software are the typical fare of space-borne platforms. The use of all of this custom hardware and software makes access to space an incredibly expensive venture. All of this is before you can find a lift vehicle to get you to orbit!There is no doubt that space is a difficult environment to try to field a system. Radiation, micro-meteors, space junk (debris), anti-satellite weapons and more can adversely effect satellite systems. In addition, it's difficult to send up a repair guy to take a look ;-). The general approach to spacecraft design so far has been to find a collection of hardware that works and then not mess with it. Not that this is necessarily a bad approach, but it certainly stifles technology development.
For example, the RAD 750 (a radiation hardened PPC 750) has been the "cadillac" of space-born embedded processors for years. This processor was released in 2001 and runs at a whopping 133-166 MHz. But, what's really amazing is a price tag that's measured in 100s of K dollars per unit. Alright, there's certainly been a good track record for this processor, and I can understand that nobody wants to rock the boat by switching to something untried in such a difficult environment.
However, we desperately need a way to increase the performance of satellite systems and simultaneously reduce the time to orbit for new designs. It's time the satellite community realize that maintaining the status quo is not helping accomplish the missions of Operationally Responsive Space (ORS). In ORS, we need to be able to pull a satellite together using COTS hardware/software and get a satellite to orbit in a matter of a few months rather than a few years as it is today. Carrier-grade Linux (CGL) can help us accomplish this.
The telecommunications carriers are pouring considerable resources into CGL and COTS platforms in an effort to ensure > 5-nines availability of embedded systems. What is 5-nines? No more than 1 hour of down-time for 100,000 hours of power-on time. Or, more practically, no more than 5 minutes of down-time per year. How can they do this? They use inexpensive processors (lots of them) and couple these processors with redundant hardware like power supplies, communications interconnects, and lots of already developed software for handling message services, fault isolation, cluster membership, etc.
ORS missions are typically short, low-earth orbit (LEO) affairs in which the satellite is expected to be on orbit for less than a couple of years. The use of redundant COTS hardware that could be left in the powered off state until needed could be leveraged to deal with the rigors of the space environment - and do so with less weight and power requirements than the current generation RAD-hard systems.
Some pockets of the space community are starting to come around. They're at least trying to understand how to use COTS hardware in space. But, the software tends to continue to be the dominating factor in the spacecraft development process. It's time to look at the COTS software as well and build upon the experience we've seen in the CGL telecom area and apply it to other areas.
What do you think about this? Any other ideas of how to apply existing technologies to space applications?
