Übung: Zeit und Reihenfolge

Notions of Time

Describe a situation where drifting clocks in a distributed system may lead to problems.

Global time

Given a latency jitter of 20µs, a clock drift rate of 10-5, and a resynchronization period of 1 second, what precision can be achieved by a central master algorithm?

Two types of events are received by two nodes comprising a system. Each node receives one event type and logs the receive time. From those logs, we want to later establish chronological order, whenever two events arrived at least 150µs apart. Given a drift rate of 10-5 and a latency jitter of 20µs between both clocks, how often must both clocks be synchronized? What precision can be achieved that way?

Vector time

Amend the diagram with the missing vector times. Use [0000] as initialization.

Which causal dependencies can be retrieved from the diagram?

Name two event pairs about which you can not retrieve dependency information and justify them with vector time properties.

Move events b, d, and j to the right as far as possible, without destroying causal dependencies. Substantiate your actions.

Relative vs. Absolute Timeouts

Imagine you should write a program whose worker function work() shall be called truly periodically every 10ms. The function takes about 1ms to execute on average. The operating system is a preemptive multitasking system with other load also. The program has soft-real-time requirements, that is, in overload situations the execution of work() may be deferred or skipped. However, there must be no permanent drift in phase.