Chapter 2: System Models --- - latency: delay between the sending of a message by one process and its receipt by another. It includes: - the time for the first bit to reach the destination; - the delay in accessing the network, with depends on the network load and contention; - time taken by the OS at both ends; - bandwidth: amount of information that can be transmitted in a given time; - jitter: variation in the time taken to deliver a series a messages (relevant to multimedia data); - clock drift rate: relative amount that a computer clock differs from a perfect reference clock; - synchronous distributed system: - time to execute each step of a process has known lower and upper bounds; - each message transmitted over a channel is received within a known bounded time; - each process has a local clock whose drift rate from real time has a known bound; - hard to provide guarantees about these values; - asynchronous distributed systems: no bounds on: - process execution speeds; - message transmission delays; - clock drift rates. - Lamport's logical time: allows the order in which the messages are presented to be inferred withouhg recourse to clocks; - omission failures: cases when a process or communication channel fails to perform actions that it is supposed to do (e.g., process crash, lost packets); - a process crash is called fail-stop if other processes can detect certainly that the process has crashed; - arbitrary failures: the term Byzantine failure is used to descrive the worst possible failure semantics, in which any type of error may occur; communication channels may suffer from arbitrary failures; - reliable communication: - validity: any message in the output buffer is eventually delivered; - integrity: the message received is identical to the original and no duplicates are sent;