Your options are to increase the number of bits used, which puts off the overflow, or you could work with infinite precision arithmetic, which would slowly use up the available memory and finally bring the system down.
In this case, increasing the number of bits used is clearly a suitable resolution. At 64 bits, the overflow would occur at 2^63 100ths of a second, i.e. after 2924712086 years. I’m quietly confident that this is sufficient.
Additionally, most of them use PowerPC-based boards with chips from Freescale Semiconductor. They’ve had 64-bit chips like QorIQ available for a while now.
NonStop Systems run continuously for years as their parts are replaced. VMS clusters did same on server hardware. Record was 17 years at a railroad company. There’s embedded CPU’s with lock-step support, too. Erlang has also been used in five 9’s systems.
I’m sure airplane computers could use those proven concepts to hit five or more 9’s. The airplanes themselves still have to go down for maintenance, though.
From the article:
In this case, increasing the number of bits used is clearly a suitable resolution. At 64 bits, the overflow would occur at 2^63 100ths of a second, i.e. after 2924712086 years. I’m quietly confident that this is sufficient.
Alternatively initialise your counters near the overflow:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/linux/jiffies.h#n170 (
INITIAL_JIFFIES
)Additionally, most of them use PowerPC-based boards with chips from Freescale Semiconductor. They’ve had 64-bit chips like QorIQ available for a while now.
This post mentions the DIODE (Directed Integer Overflow Discovery Engine) which is covered in this paper: Targeted Automatic Integer Overflow Discovery Using Goal-Directed Conditional Branch Enforcement from MIT CSAIL lab.
I have to wonder if keeping the airplane, or avionics suite, running continuously for 248 days is even realistic in the first place.
While it doesn’t specify the reasons it seems they need/ed rebooting < every 22 days https://www.seattletimes.com/business/boeing-aerospace/faa-orders-787-safety-fix-reboot-power-once-in-a-while/
Yeah, I mean, this is a tradeoff, but you’re not going to run an airliner that long without maintenance, anyway. It’s still ugly, though.
NonStop Systems run continuously for years as their parts are replaced. VMS clusters did same on server hardware. Record was 17 years at a railroad company. There’s embedded CPU’s with lock-step support, too. Erlang has also been used in five 9’s systems.
I’m sure airplane computers could use those proven concepts to hit five or more 9’s. The airplanes themselves still have to go down for maintenance, though.