We are the SpaceX software team, ask us anything
reddit.com
reddit.com
IIRC it was the same thing they said during the launch of the Dragon capsule so yeah they don't use crazy RAD stuff:
SpaceX uses an Actor-Judge system to provide triple redundancy to its rockets and spacecraft. The Falcon 9 has 3 dual core x86 processors running an instance of linux on each core. The flight software is written in C/C++ and runs in the x86 environment. For each calculation/decision, the "flight string" compares the results from both cores. If there is a inconsistency, the string is bad and doesn't send any commands. If both cores return the same response, the string sends the command to the various microcontrollers on the rocket that control things like the engines and grid fins.
The microcontrollers, running on PowerPC processors, received three commands from the three flight strings. They act as a judge to choose the correct course of actions. If all three strings are in agreement the microcontroller executes the command, but if 1 of the 3 is bad, it will go with the strings that have previously been correct. The Falcon 9 can successfully complete its mission with a single flight string.
The triple redundancy gives the system radiation tolerance without the need for expensive rad hardened components. SpaceX tests all flight software on what can be called a table rocket. They lay out all the computers and flight controllers on the Falcon 9 on a table and connect them like they would be on the actual rocket. They then run a complete simulated flight on the components, monitoring performance and potential failures.
SpaceX engineers perform what they call "Cutting the strings" where they randomly shut off a flight computer mid simulation, to see how it responds.
Dragon uses a similar triple redundant system for its flight computers.
Those PowerPC processors are RAD750's.
~600 comments under an hour? dang
edit: oh comments are randomly ordered interesting
1. This comment thread shows comments in random order, so you're not seeing the more upvoted questions bubble to the top the way they usually would, which prevents winner-takes-all feedback loops in the voting.
2. People browsing through the thread may upvote good questions, but currently the scores are hidden in order to avoid bias.
3. Once the thread has been up for a while, the people doing the AMA can just re-sort to show the highest-voted comments first, which will give a good starting point for which questions to answer.
1) what workflow methodology you use (e.g. scrum/sprint, Kanban, etc)
2) where does requirements come from?
3) how granular is your code-review process?
- what "web technologies" did you use for the UI
But one great question
- What practices did you use to ensure there are no bugs ?
They did use Chromium and Javascript for the UI at least a few years ago. See the stackexchange posts.
EDIT: also see the old AMA: https://www.reddit.com/r/IAmA/comments/1853ap/we_are_spacex_...