5 ms·
isn't this like trying to do numerical analysis while having alzheimer's? if the hardware is bad, your software will be bad.
by sickbeard 10y ago
isn't this like trying to do numerical analysis while having alzheimer's? if the hardware is bad, your software will be bad.
- Swizec 10y agoYes. But what if you have to make a reliable system for, say, cleaning nuclear reactors? Or flying between planets? Sometimes software needs to be able to work around bad hardware.
- Normal_gaussian 10y agoFor the former you use mechanical manipulators and sensors and keep as far away as possible.
- raverbashing 10y agoYes, that's why it's called rocket science The answers there are very insightful
- ams6110 10y agoYeah, naively the answer seems like "more shielding, Mr. Scott."
- baq 10y agoyou're pessimistic. the optimist would say 'how much numerical analysis can i do at varying levels of alzheimer?' and responses to the question are very well worth reading.
- sickbeard 10y agoAll good, except most of your mitigating code/tricks cannot be tested reliable to know they actually work.
- vinceguidry 10y agoThat's still unnecessarily pessimistic. You can examine the various types of unreliability you're getting from your test techniques to try to drive an understanding about the operating environment. If you have something in front of you, there's really no reason you can't at least try to come to some kind of understanding of it. Then do your best to communicate your findings.
- VLM 10y agoLiberal arts types say engineers are not creative, but they're wrong. Find some creative engineers, it won't be much of a challenge. Write 5 lines of perl that run logical AND and logical OR on a randomly generated bitmap emulating flash memory error rates at 1e-3, 1e-5, 1e-7, then run a billion emulation cycles (depending on code complexity this might take a long time, or maybe not). If you're doing it right, you have the code for the emulator, never use closed source for this kind of work unless you trust it with your life (LOL) so implement statistical error injection in your emulator. Guess what, your CPU adder now has a 1e-5 bit error rate. This is before the dreaded "programmer with a soldering iron" is unleashed. A white noise source is attached to pin D0 of the CPU and levels are increased while behavior of the system is analyzed in the test jig. Simplistically, radiation is linear, so running at 100x intensity for a month is the same as running at design intensity for 100 months. Talk to your local nuclear physicist or radiologist. Especially about neutron activated decay products, LOL. In more detail, if it takes xenon 12 hours to build up to a problem level, you can't just test at 100x intensity for an hour and call it good because 11 hours after the test ends you'll finally have 100x the xenon decay product as a contaminant, but that's a weird situation.
- pdabbadabba 10y ago> Liberal arts types say engineers are not creative, but they're wrong. I take your basic point--and it's a good one--that engineering is actually a very creative pursuit, when done well. But like any other high-expertise field, it's difficult for people on the outside to understand how engineers solve problems and, thus, to appreciate the sorts of skills required to do it well. But isn't one of the lessons here that it's probably not a good idea to make gross generalizations about the attitudes and dispositions of people in other disciplines? :) I think "Liberal arts types say engineers are not creative" is probably about as true as "engineers are not creative." There may be some kernel of truth to each, but neither is especially accurate. (The kernel of truth may be that each statement could often be true when relativised to dumb liberal arts types and dumb engineers.)
- 0xcde4c3db 10y agoEven with more robust hardware (and the question says that their hardware is designed for this environment), software redundancy and error checking can still be worthwhile, even when it only means that you catch the hardware malfunctioning rather than being able to fix the error. Still, for things that are really mission-critical, I'm not sure there's any substitute for full-blown hardware redundancy, e.g. having 3 computers and requiring 2 of them to agree on an action (via an interlock mechanism that is itself robust and redundant, which is a whole other can of worms...).
- deleted 10y ago[deleted]
- JabavuAdams 10y agoThere are many cases where we accept that some component of a system will be faulty and then design a system around it that neutralizes or mitigates those faults. Think of COTS servers, space-craft, or various people-management processes.