What are the advantages to radiation hardening software? In the cases I've run into the thinking has been "if you can't trust the hardware then you're already lost".
Defense in depth. Like the Space Shuttle that had four rad hardened processors. And a voting system to reject anomalous outputs. With two you don't know which one is right. With three you're OK. Four allows for one to permanently fail and still leave three.
This is analogous to having at least three NTP servers. Or filesystem level checksums on top of ECC RAM and LDPC in the SSD. Or TCP checksum on IPv4 header checksum on Ethernet/LTE/Wi-Fi checksum.
Protecting against cosmic bitflips for example, relevant if you write software that ends up on airplanes/space crafts. Also if you just want resilient software that work even though hardware is starting to fail. See https://en.wikipedia.org/wiki/Soft_error
Comments
What are the advantages to radiation hardening software? In the cases I've run into the thinking has been "if you can't trust the hardware then you're already lost".
Defense in depth. Like the Space Shuttle that had four rad hardened processors. And a voting system to reject anomalous outputs. With two you don't know which one is right. With three you're OK. Four allows for one to permanently fail and still leave three.
This is analogous to having at least three NTP servers. Or filesystem level checksums on top of ECC RAM and LDPC in the SSD. Or TCP checksum on IPv4 header checksum on Ethernet/LTE/Wi-Fi checksum.
Protecting against cosmic bitflips for example, relevant if you write software that ends up on airplanes/space crafts. Also if you just want resilient software that work even though hardware is starting to fail. See https://en.wikipedia.org/wiki/Soft_error
Yes but what is the FMECA case where software is a better domain to address this than hardware?
I think the point is to implement in software for redundancy, not as an alternative to doing it in hardware. You'll do both essentially.
In this case, it's just for fun.