MatrixAI / Emergence

Distributed Infrastructure Orchestration
Apache License 2.0
1 stars 0 forks source link

Investigate Time Management #40

Open CMCDragonkai opened 6 years ago

CMCDragonkai commented 6 years ago

Basically within each node, monotonic time is possible because of the OS managed clock. But between nodes there's no guarantee. And also I find it difficult to actually localise monotonic time to unixtime. Maybe this is application dependent.

There will always be some level of desynchronisation, possibly even with PTP. We cannot really rely on PTP due to hardware requirements. Instead, applications must eventually use logical clocks.

This is important for log synchronisation, causality determination, and coordination-free lockless distributed algorithms.

CMCDragonkai commented 6 years ago

Time management is often combined with decentralised k-ordered ids that allow it to be possible to create unique IDs decentralised without any coordination (avoids centralised locks).