Mars Rover Curiosity: Less Brainpower Than Apple's iPhone 5
Nerval's Lobster writes "To give the Mars Rover Curiosity the brains she needs to operate took 5 million lines of code. And while the Mars Science Laboratory team froze the code a year before the roaming laboratory landed on August 5, they kept sending software updates to the spacecraft during its 253-day, 352 million-mile flight. In its belly, Curiosity has two computers, a primary and a backup. Fun fact: Apple's iPhone 5 has more processing power than this one-eyed explorer. 'You're carrying more processing power in your pocket than Curiosity,' Ben Cichy, chief flight software engineer, told an audience at this year's MacWorld."
. . . how wasteful most commercial software packages are.
My sister opened a computer store in Hawaii. She sells C shells by the seashore.
Sure, the iPhone 5 may have more processing power... But I bet if you put that thing in space, the first cosmic ray that comes along will happily crash the OS. Game over.
Hardware in spaecraft has to be hardened big time against radiation. Off the shelf junk will NOT work. Just sayin'.
Line Replaceable Unit, meaning it's an unit that can be swapped out quickly.
Somehow I don't think that term really applies here...
Curiosity's computer(s) can handle extreme cold and radiation of space while keeping radio communication for millions of miles, An iPhone is prone to overheat during normal use and has had trouble sending a radio signal though your hand.
I'll give Curiosity the gold medal any day.
Lets compare, shall we?
iPhone - sometimes flaky signal. Curiosity - working from millions of miles away. WIN Curiosity.
iPhone - works on Earth within range of cell towers. Curiosity - working on frakking Mars. WIN Curiosity.
iPhone - 1 day power life. Curiosity - radioactive power pack. WIN Curiosity.
iPhone - plays games, makes calls, takes pictures of girls making duck faces. Curiosity - scientifically explores and photographs another planet. WIN Curiosity.
iPhone - will shatter if you handle it wrong. Curiosity - dropped onto another world and still going. As designed. WIN Curiosity.
Curiosity, doing way the hell more, with way the hell less.
'You're carrying more processing power in your pocket than Curiosity,' Ben Cichy, chief flight software engineer, told an audience at this year's MacWorld.
Taking guns away from the 99% gives the 1% 100% of the power.
You're conflating serveral things..
Space Qualification doesn't have a lot to do with rad hardening. It's more about manufacturing processes, reliability, and testing to work over wide temps. That off the shelf computer probably won't work at -40C or +75C, while the processors in most spacecraft do. ISS or shuttle isn't a good example: it's basically an office environment: it even has *air*.
Rad hardening is something else. And the space processors *ARE* more successful at hardening than garden variety CPUs. Take a look at the LEON3FT SPARC core, for instance (Available commercially as the Atmel AT697 or the Aeroflex UT699, or you can burn it into an Actel RTAX2000, if you like). It has register paths that have error correction, etc. The demonstrated performance in a radiation environment *is* better than the non FT version.
There's single event upsets (SEU) aka "bit flips" which EDAC or parity works nicely for. Your laptop flipping a bit might not be a big deal.. most consumer software has enough bugs and things that you just restart and move on. If the processor controlling the rocket motors during entry descent and landing screws up it's a $2.5B hole in the ground. So internal registers in the space CPUs tend to be triple redundant or other upset mitigations.
But that's really not the big issues. There are things like Latch-Up.. that particle going through causes a latchup, and the resulting high current at a small location melts the chip. Oops, dead. There are latchup immune designs and processes, and there are latchup monitor/reset circuits, but it's not universal.
There's single event gate rupture (SEGR) which is where a MOSFET gate gets punctured because the normal charge on it is close to the failure level in normal operation, and the particle deposits just enough more to push it over the edge. Would you notice this on a modern CPU? Maybe it's in the microcode for calculating square root or something and you wouldn't for a long long time.
We use a lot of FPGAs in spacecraft these days.. If it's a xilinx, that particle can flip a configuration bit, and now you've just programmed your FPGA to have two outputs connected to the same "wire" and they have opposite values. Oops some dead gates now, or if it's bad enough dead chip.
ISS is a benign radiation environment.. about a Rad(Si) per year or so. There are *humans* on ISS, after all. After all 600 Rad will kill someone in days, 100 Rad will make them pretty sick. A typical design dose for a Mars mission might be 20kRad. For going to Jupiter, maybe a MegaRad?
But even in that benign radiation environment, a lot of COTS equipment will fail, and there's no way to predict, short of test. So they take all those COTS widgets and run them in a proton beam and figure out what the mean time til failure is. If it's long enough, you send it up to ISS and have at it. There's an awful lot of stuff that has "expected life on ISS" of something like 90-180 days. Google for the papers or look at the website http://www.klabs.org where a lot of this stuff is collected. 180 days on ISS is plenty if you're sending new stuff up on a regular basis. Even at $100k/kilo, that's pretty inexpensive to just send a new iPad up every few months if one dies.
If you're sending a billion bucks to Mars for 10 years, I think you might want something a bit better.
Not even enough power for Mildly Peeved Birds, Canadian edition.
The reason is that integer performance isn't worth wasting the silicone on in a mobile processor. It is already well beyond "good enough". What does count is power consumption, where ARM is still in another league to x86, and in floating point operations. ARM has NEON SIMD instructions for that and they are pretty good for audio/video processing and games. In addition a lot of stuff is handed off to the GPU now anyway (transform and lighting, video decoding) which is always going to be far more efficient.
There is a reason there are not many x86 mobile devices. Atom is more expensive and hard to get good battery life from. Raw performance is good but having four low power cores and a good GPU is better for providing a smooth user experience and mobile games.
const int one = 65536; (Silvermoon, Texture.cs)
SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC