exocore
exocore copied to clipboard
Create consistent clock to generate monotonically / unique time and IDs
First place to be used is for operation ID generation. They need to be unique in the cluster, and monotonically increasing. Clock doesn't need to be super precise, but enough to prevent block im commit manager, and prevent IDs collision.
Time should be:
- Milliseconds precision timestamp (47 bits, up to year 6427)
- Unique node identifier (9 bits, 512 nodes)
- Sub milliseconds operation counter to prevent collisions (8 bits, 256... Up to 256k ops/s per node)