4 ms·
What do you mean it's non deterministic? Because it is using floating point operations? Can you elaborate?
by holoduke 7y ago
What do you mean it's non deterministic? Because it is using floating point operations?
Can you elaborate?
- pkulak 7y agoNot a real-time OS?
- Lorkki 7y agoYep, it seems built to run on NEOS, which is an Android distribution: https://github.com/commaai/neo https://github.com/commaai/neo
- nialv7 7y agoMaybe they are talking about the numerical stability of the algorithms?
- bko 7y agoI'm not OP, but I think he means that the final decisions acted upon are not deterministic. So given an input, it won't necessarily produce the same decision every time. For instance, if the model predicts with a 95% certainty to accelerate, then 5% of the time it'll do some action other than accelerating.
- mgkimsal 7y agomight it also be 'non-deterministic' if it accelerates 100% of the time, but accelerates at different speeds 5% of the time? or is that too granular a view?
- taneq 7y agoI'd guess it's about guaranteed response times (which is the definition of a realtime system - it must respond within the specified time). Since it's running a non-realtime OS, you could get arbitrarily long gaps in execution, which is not great for something that's driving a car.
- TickleSteve 7y agoDeterministic code would be running under a hard real-time kernel such as VxWorks or bare-metal and would be designed such that all timing has fixed upper-bounds. This involves reasoning about the scheduling of tasks to ensure that in worst-case situations, your timing requirements are still being met. All safety-critical systems would be deterministic, you simply would not get certified otherwise. Note: Theres much more to safety-critical application design, but basically, you have to be able to prove the behaviour of you code under all circumstances, which typically means no garbage-collection, dynamic-allocation, etc.