Ask HN: Why are the computers aboard Curiosity so puny?
For all the sophisticated equipment on this rover, the computer seems surprisingly underpowered. Surely, they are going for quality of quantity, but these specifications are somewhat lackluster - 256MB of DRAM, 300 MIPS processor. Maybe they just spec'd it out for only what they need?
Anyone have insight into this? I'm sure there is a very good reason for this - I'd just like to know.
http://marsprogram.jpl.nasa.gov/msl/mission/rover/brains/
http://en.wikipedia.org/wiki/Mars_Science_Laboratory#Rover
7 comments
[ 3.7 ms ] story [ 32.3 ms ] threadhttp://en.wikipedia.org/wiki/Radiation_hardening
Pertinent quote from the above Wikipedia article:
> Due to the extensive development and testing required to produce a radiation-tolerant design of a microelectronic chip, radiation-hardened chips tend to lag behind the cutting-edge of developments.
The MSL project started in 2004. So, it was probably the best radiation hardened processor for the job at the time.
Strip away all the crap (Linux, Windows, OSX, they're all the same in this respect) and 300 MIPS/256M would be plenty of power for anyone. The old Amiga delivered a multitasking GUI in 256K of memory and approx. 1 MIPS!
That's kind of boggling; all those connections and wires and ferrite cores all being jiggled around during rough launch and land.
The book has so much more great stuff for nerding out than the movie, that it's worth a read.
2. The government procurement bureaucracy takes some time.
3. Obviously the rover has to be designed, built, and extensively tested on the ground. Possibly through several iterations depending on the results of the tests. I'm guessing since the rover has to be mostly software-driven due to lightspeed delay, software is a dependency of basically everything the rover does, and since the computing hardware is obviously a dependency of software, it'd almost have to selected very early in the mission development.
4. Getting stuff to Mars is really expensive. I imagine that most of the expenses are R&D for radiation hardening and fitting within the overall volume/weight/power budget. So the amount of memory for example is probably just what's needed to get the job done.
5. To me, 256 MB seems like an enormous amount of memory for an embedded system. Most of the memory usage of everyday computers is due to all the graphics and multitasking. (Think about the sheer number of scripts and images in a typical webpage, times the number of tabs you need to open to consume all your memory.) All of NASA's fancy GUI's like the simulation they showed during landing are on ground computers, not on the rover.
All in all, I thought the computer was enormously powerful compared to previous space missions.
Basically, if you dump a lot of money into making sure something works, and works exactly as intended, as long as it does and can do the job, you don't change anything. You don't stick in one extra memory chip without redoing your formal verifications and tolerance testing, etc. Very expensive people will have to run very expensive processes to prove that even the most minor change doesn't compromise certain key properties when you can't afford for those properties to be compromised for any reason whatsoever.