Matrix clocks
Encyclopedia
A matrix clock is a mechanism for capturing chronological and causal relationships in a distributed system.
Matrix clocks are a generalization of the notion of vector clocks
. A matrix clock maintains a vector of the vector clocks for each communicating host.
Every time a message is exchanged, the sending host sends not only what it knows about the global state of time
, but also the state of time that it received from other hosts.
This allows establishing a lower bound on what other hosts know, and is useful in applications such as checkpointing and garbage collection
.
Matrix clocks are a generalization of the notion of vector clocks
Vector clocks
Vector clocks are an algorithm for generating a partial ordering of events in a distributed system and detecting causality violations. Just as in Lamport timestamps, interprocess messages contain the state of the sending process's logical clock...
. A matrix clock maintains a vector of the vector clocks for each communicating host.
Every time a message is exchanged, the sending host sends not only what it knows about the global state of time
Time
Time is a part of the measuring system used to sequence events, to compare the durations of events and the intervals between them, and to quantify rates of change such as the motions of objects....
, but also the state of time that it received from other hosts.
This allows establishing a lower bound on what other hosts know, and is useful in applications such as checkpointing and garbage collection
Garbage collection (computer science)
In computer science, garbage collection is a form of automatic memory management. The garbage collector, or just collector, attempts to reclaim garbage, or memory occupied by objects that are no longer in use by the program...
.