If I recall correctly this was one of the areas being explored by the mars drone although not sure if Mars surface radiation concerns are different than what you would use in space.
If I recall correctly this was one of the areas being explored by the mars drone although not sure if Mars surface radiation concerns are different than what you would use in space.
> 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.
It’s a more solid 3x or 3x+3y, which… if you had a power failure at a chip doesn’t take a 6x to make it 5x. It makes it 4x with the two remaining PHY units because two logical cores went down with one error.
The x being physical units, and the y being CPUs in lockstep so that the software is confirmed to not bug out somewhere.
It’s 6x for the calculated code portion only, but 3x for CPU and 1-3x for power or solder or circuit board.
I know it’s pretty pedantic, but I would call it the lowest form for any quality, which is likely 2-3x.
>> 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.
This is a variation of Byzantine Tolerant Concensus, with a tie-braker to guarantee progress in case of absent voter.
I was taken to task for mis-spelling "consensus"; I used to spell it with two 'c's and two 's's, like you. It was explained to me that it's from the same root as "consent", and that's how I remember the right spelling now.
That's the reason I sometime see that for RAID systems, it is recommended to avoid buying all same disks at the same time, because since they will be used in the same way in the same environment, there is a good chance for them to fail at the same time, defeating the point of a redundant system.
Also, to guard against bugs and design problems, critical software is sometimes developed twice or maybe more by separate teams using different methods. So you may have several combinations of software and hardware. You may also have redundant boards in the same box, and also redundant boxes
Do you have a source for that? Everything I've ever read about Airbus says the various flight control systems are doubly redundant (three units). Twelve sounds like it would be far beyond diminishing returns...
https://www.rightattitudes.com/2020/04/06/airbus-flight-cont...
I'd imagine every computer relies on redundant stick/pedal encoders, which is how a 12-way notion appeared.
> I'd imagine every computer relies on redundant stick/pedal encoders, which is how a 12-way notion appeared.
That's disingenuous at best. The lug nuts on my car aren't 20x redundant... if you randomly loosen four, catastrophic failure is possible.
The conclusion of that study was that parallel development mainly accomplishes a false sense of security, and most of the additional reliability in those projects came from other sound engineering techniques. But I have lost the reference, so I don't know how much credibility to lend my memory.
(Also to protect against physical failures it works, because physical failures are more independent than software ones, as far as I understand.)
Leveson also wrote the report on Therac 25.
Water less so.