Chapter 5: Synchronization, WWV
|Logical clocks (a thread can be stopped
and started at any time:
Logical clocks are clocks used in asynchronous distributed systems for ordering events since there are no global physical clocks available. Logical clocks could be built using total ordering (Lamport ordering) or partial ordering (Vector ordering).
Global state: (local state of each process with the messages that are currently in transit)
Snapshot is taken from an asynchronous system.
Election algorithms: Distributed algorithm
Clock scew (between to clocks) and clock drift (between a clock and a master clock)
Berkley algorithm: A Daemon tell the processes to adjust their clocks.
5.5 Mutual exclusion : Critical sections of code accessing shared data must be protected, only one process at a time can access shared resources like a file or a printer etc.
In single-processor systems, critical regions are protected using monitors.
In distributed systems it is done differently
Critical region: part of a code that requires exclusive access to resources, piece of code that can only be executed by one process or thread at a time.
5.6 Distributed transactions (Transaction: Single logical operation on the data):
ACID: Key transaction processing features of a database management system. Without ACID, the integrity of the database can not be guaranteed. Either all or nothing when it comes to transaction.