We've done a pretty good job so far of completely ignoring the computer system. Maybe it's time we started trying to come up with a basic sketch?
It seems pretty obvious that we are going to have multiple physical computers involved, for many reasons – for redundancy against failure, for redundancy against radiation interference, and so that non-critical, CPU-intensive operations like encoding HD video don't run on the same chip as critical, CPU-light operations like crafting telemetry packets.
But this isn't necessarily straightforward. At any one time I think there'll only be one "master" computer – the one connected to monitors/keyboard in the cockpit, which needs to poll all the others for data and send instructions to many of the others. Also, hardware like cameras, GPS receivers, etc. can only be physically plugged into one computer at a time. A big cluster of individual boards designed to be seamlessly redundant is going to need a lot of thought about how to make sure everything stay in synch.
An example scenario to show how complicated this could be:
The navigation computer motherboard fries for some reason. The current "master" computer needs to notice this and tell another computer in the cluster to start being a navigation computer. The new navigation computer (1) needs to have navigation hardware connected to it somehow, ideally without the astronaut having to physically pull out and replug USB cables in hard to reach areas (2) needs to know where abouts it is at boot time to continue tracking the craft from inertial measurements, which means that the first navigation computer needs to have been regularly storing data relevant to this somewhere. The ability of the new navigation computer (and all other computers) to regularly store this data needs to be reliable as well, which means that new filesevers need to be able to come online automatically when other ones fail, necessitating quick switchability of storage hardware from one computer to another…
This is a fairly heavy engineering problem that doesn't require all that much specialist knowledge, we really should have tackled it more by now than we have. Anybody have any thoughts on this?