Skip to content

Comment on CPU reliability – Linus Torvalds (2007)

Comments

If MTBF is such a big issue then would it be ever possible to build space craft that travels across the stars and still has ability communicate? I guess hats off to designers of Voyager and other spacecrafts whose MTBF seems to have crossed 36+ years for many components including CPU and power supply. But for inter-steller crafts that MTBF seems VERY low. And, seriously, MTBF of 5 years seems to be joke for desktop when lot of mechanical components with moving parts actually lasts longer.

Spacecraft and rovers use ridiculously armoured, redundant systems to get past the fact that they would fail quite regularly in such a hostile environment. The Curiosity rover in 2001 uses what would normally be quite an outdated 132Mhz CPU that's been specially shielded to achieve the reliability the program needs; even then there's two redundant systems that do health checks on one other to avoid bit flips. Even with all of that, they're running on only one CPU and trying to diagnose why the first one failed.

It's probably not fair to compare the MTBF of specialised hardware to the $35 CPU I bought at the retailer down the street either, the RAD750 processors in Curiosity cost almost a quarter of a million dollars each.

http://en.wikipedia.org/wiki/Comparison_of_embedded_computer...

http://en.wikipedia.org/wiki/Curiosity_rover#Specifications

http://en.wikipedia.org/wiki/Radiation_hardening#Radiation-h...

Though that said, Voyager is still happy running on it's 8064 words of 16 bit RAM, which is something.

http://history.nasa.gov/computers/Ch6-2.html very interesting article on the computer system of the Voyager. It turns out most of the systems is not powered for most of the time, even the component that is doing the health checks - its called CCS.

"The frequency of the heartbeat, roughly 30 times per minute, caused concern [176] that the CCS would be worn out processing it. Mission Operations estimated that the CCS would have to be active 3% to 4% of the time, whereas the Viking Orbiter computer had trouble if it was more than 0.2% active15. As it turns out, this worry was unwarranted."

They are using DMA a lot; instruments write to memory, occasionally the CPU is turned on and picks up the new values. Also they had to manage with the fact that memory is degrading, so the system needs to adapt to working with less memory. The bus is 16 bits wide, but actually they are processing 4 bits at a time, so addition takes 4 cycles. CPU registers are stored in RAM, so probably they can reassign them if a memory cell fails.

Parts of the system were reused from the Viking mission. Also they where reprogramming the system in flight during the eighties ! That's the reason why they could start the the mission, even without having the full software on board, the mission was extended thanks to reprogramming. Just for the Jupiter visit they had 18 software updates, think about that next time that a software update breaks something on your system.

Also its all a distributed system with several CPU's, and some elements of redundancy, awesome tech. I guess one day alien hackers will have fun with reverse engineering this system.

I thought about another very reliable system; deep under the sea the NSA has a big switch that is splitting deep underwater communication lines;

Now this one has to work 24/7 in a hostile environment; has to be hidden; has to deal with enormous quantities of data and it costs a lot to replace/repair so it must be very reliable.

What is driving technological progress? Instead of a space program, we now have political control of the Internet as driving forces. I guess that's what they mean when they say that civilization is turning inwards ;-)

Yes, in many areas the NSA and Google are pushing the envelope; long term data storage; map reduce of large data sets; AI, you name it, they have it.

I imagine under the sea is actually quite a nice place to be, if you assume perfect waterproofing. There's litte radiation penetrating the water, so there's less chance of bit flips I imagine. You don't need to worry so much about cooling, as the whole ocean is your heatsink. Accessibility would suck, but a bunch of redundant hardware wouldn't be awful.

Weren't they using hardware in submarines anyway?

These switches are usually fiber splits so they are slightly less complex than you are envisioning.

The equipment doesn't have to actually duplicate L2 frames. It just uses standard fiber repeaters (already a common component in undersea cables) to get it back to a more friendly environment where they can actually decode and process it.

He's talking about desktop/server CPUs where people care about performance. If you don't care so much about performance, you can increase the transistor sizes, reduce the clock speed, and achieve totally insane MTBF... as space-rated hardware tends to do. Kind of like how server CPUs are underclocked to increase MTBF, but more so.

That makes me wonder... Linus refers to this as well, but how much of the 36+ years can be attributed to the components actually being turned off?

Also, I'd imagine that space craft components are of an entirely different category of components that the off the shelf computing variety.

Spacecraft are not built out of the same grade of components as consumer and commercial hardware.

You can fake whole system reliability by incorporating redundant internal systems.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.