The future of realtime Linux in doubt
The future of realtime Linux in doubt
Posted Jul 11, 2014 14:00 UTC (Fri) by roblucid (guest, #48964)In reply to: The future of realtime Linux in doubt by ortalo
Parent article: The future of realtime Linux in doubt
If I had a car engine, which tried to recover after missing a deadline which meant damage, I'd be pretty annoyed, when it turned itself off to avoid further problem. Or say, break fluid pressure low, best not to allow acceleration, but warn and put hazard lights on when travelling at speed.
Much better would be to see it might miss the deadline and for system to take avoiding action, so it meets a goal perhaps with degraded performance.
A processor might normally run down-clocked in a power saving freq. state. if a process which required 1ms CPU time every 100ms according to some worst case analysis, was in 'danger' then scheduler engaging a turbo mode 10ms before expiry and running that task as priority, provides the CPU time without reducing other tasks resources.
Presumably it's possible to have hardware normally use interrupts but fall back to polling of hardware registers, for instance.
Posted Jul 11, 2014 20:18 UTC (Fri)
by dlang (guest, #313)
[Link] (1 responses)
you aren't going to be able to predict that you will miss the deadline with any sort of reliability.
Posted Jul 13, 2014 16:28 UTC (Sun)
by roblucid (guest, #48964)
[Link]
The idea of an "up-clocking" strategy to increase resources "on demand at cost of power" was to mitigate the inherent indeterminism of modern CPU.
I considered how you can make case to be able to meet "hard" deadlines, and assumed any "hard" RT program that risks paging from disk, waits on non predictable event, or as in Mars Pathfinder case blocking on a lower priority process due to inversion is inherently "broken" thus not "hard" RT.
This came out of considering a conversation in late '89 with an RT developer colleague of control systems. Hard RT just loved polling because of it's predictability and simplicity, never mind the performance disadvantages. It seems that just runs counter to philosophy of Linux, which appreciates performance over predictability or simplicity.
A "fast path" which conserves power, but falls back to brute force, polling of registers etc, might be a viable hybrid strategy.
Posted Jul 12, 2014 13:40 UTC (Sat)
by ianmcc (subscriber, #88379)
[Link] (5 responses)
I think, going into the future, where even simple microcontrollers have pretty substantial CPU power, the issue of 'hard' real time is less important than robustness under failure conditions. The surrounding hardware has some failure rate too, and the software (1) needs to cope with that as best it can and (2) there is no point going to extreme lengths to engineer software that has a failure rate of X if the failure rate of the installation as a whole is 100000*X.
Posted Jul 13, 2014 4:26 UTC (Sun)
by mathstuf (subscriber, #69389)
[Link] (1 responses)
Posted Jul 15, 2014 15:11 UTC (Tue)
by Wol (subscriber, #4433)
[Link]
The cambelt fell off!!! Which was a known failure mode :-( the fact it wrecked the engine was a minor point ... I was on a motorway doing 70. Fortunately, late at night, there was no traffic so getting onto the hard shoulder wasn't hard. But if it had been daytime and busy ...
Cheers,
Posted Jul 13, 2014 15:40 UTC (Sun)
by PaulMcKenney (✭ supporter ✭, #9624)
[Link] (2 responses)
The more-reliable software might consume more memory. Adding more memory will degrade the overall system reliability, perhaps even to the point that the system containing more memory and more-reliable software is less reliable than the original system. As the old saying goes: "Be careful, it is a real world out there!"
Posted Jul 13, 2014 16:34 UTC (Sun)
by roblucid (guest, #48964)
[Link] (1 responses)
With enough "more" memory though, things like ECC and a fault tolerant technique like say triple channel with independent implementations allowing a "vote", then you gain greater reliability, like with modern planes which may tolerate multiple engine failures.
Posted Jul 16, 2014 19:19 UTC (Wed)
by PaulMcKenney (✭ supporter ✭, #9624)
[Link]
The future of realtime Linux in doubt
The future of realtime Linux in doubt
The future of realtime Linux in doubt
The future of realtime Linux in doubt
The future of realtime Linux in doubt
Wol
The future of realtime Linux in doubt
The future of realtime Linux in doubt
The future of realtime Linux in doubt