100 likes | 260 Views
Chapter 14 Asynchronous Network Model. “Distributed Algorithms” by Nancy A. Lynch. by Mikhail Nesterenko. Outline. processes channels reliable with failures send/receive system broadcast system multicast system. Processes.
E N D
Chapter 14Asynchronous Network Model “Distributed Algorithms” by Nancy A. Lynch by Mikhail Nesterenko
Outline • processes • channels • reliable • with failures • send/receive system • broadcast system • multicast system
Processes • system consists of an N-node directed graph G=(V,E), each node has in-neighbors and out-neighbors • a process Pi is associated with every node – modeled as an arbitrary I/O automaton with the following restrictions: • a process communicates with an external user through input and output actions (“user interface”) • outputs send(m)i,jwhere j is an out-neighbor, inputs receive(m)j,i • faults: • stopping – stopi input actions that permanently disables all tasks of Pi • Byzantine – replaces Pi with an I/O automaton with the same external interface
Channels • is associated with every directed edge of the graph • external interface: send(m)i,j ,receive(m)i,j • channel is usually specified using mixed strategy • safety properties are given as an automaton • liveness properties – using special liveness axioms complete channel – traces of the basic automaton satisfying liveness axioms • in general the channel I/O automaton can be arbitrary • specific kinds of interest • reliable FIFO channel – defined in Chapter 8 (called universal reliable FIFO channel) • reliable reordering channel • channel with failures
Reliable Reordering Channel • allows delivery of all messages exactly once but does not preserve order • mixed strategy • safety defined using the automaton • liveness defined using the following axiom • If at any point in a and for any mM we have min-transit, then at some later point in a, a receive(m) event occurs
Channels with Failures • failures considered – message loss and duplication • infinite number of failures – no liveness guarantees (cf. all messages are lost) • restrictions on failures • strong loss limitation – if there are infinitely many sends of a certain message then there are infinitely many receives of this message • weak loss limitation – if there are infinitely many sends then there infinitely many receives • finite duplication – each message is duplicated only finitely many times • channel types • lossy FIFO channel: reliable FIFO + channel loss + one of the loss limitations • lossy reordering channel: reliable reordering + channel loss + duplication + loss and finite duplication limitations
Properties of Asynchronous Send/Receive Systems • partial order defined on events: event f depends on preceding event p if • p and f are on the same process • f is the receive and p is the send of the same message • p and f are transitively related by rules 1. and 2. 1in the sense discussed in Chapter 8
Complexity Measures • communication complexity – number of messages that was sent or received (or number of bits per message) • time complexity • l – upper bond on time between successive chances for each task (of each process) to perform a step • for universal reliable FIFO channel: d – upper bound of delivery time of the oldest message • sometimes – the bound on the delivery time of each message (what’s the difference?) • time bound can be extended to other channel types
Broadcast Systems • consists of a set of processes and a single broadcast channel • processes – each process output bcast(m) and input receive(m)j,i • only one type of broadcast channel is considered – universal reliable broadcast channel delivers every message to every process (including the sender) in FIFO order for each particular pair of processes • there is a separate “channel” (queue) between each pair of processes • reliable broadcast system has reordering of events property similar to send/receive system • complexity • communication – either number of broadcasts or receives • time – same as for send/receive systems
Multicast Systems • more general than broadcast and send/receive system • allows to send a (single) message to a subset of processes in the system • mcast(m)i,I – send a message from process Pi to a subset of processes I • consists of a set of processes and a single multicast channel • reliable multicast channel delivers every message to every process (including the sender) in FIFO order for each particular pair of processes (separate queue for each pair) • special case – multicast where only broadcast+point-to-point (unicast) communication allowed and FIFO preserved