Synchronous Network Model
Synchronous Network systems
- Collection of processes at nodes of a directed graph
- Start with some initial state
- Can send message to neighbors along edges (channels)
- Can receive messages from neighbors
- Proceed in lockstep doing rounds
Notation of graph
- =
- = outgoing neighbors of node
- = incoming neighbors of node
- = shortest path from node to node
- = maximum of over all pairs of
- = fixed message alphabet
- = set of states for node , need not be finate
- = non empty subset of known as initial states
- = message generation function mapping to elements of
- = state transition function mapping to elements of to
Execution starts with all the processes in arbitrary start states and with channels empty. Processes repeat rounds in lockstep, consisting of two steps
- Apply the message generation function to the current state to generate the messages to be sent to all outgoing neighbors. Put these messages in the appropriate channels.
- Apply the state transition function to the current state and the incoming messages to obtain the new state. Remove all messages from the channels.
Model is deterministic, So starting states determine all execution
Halting States : A process in a halting state does not send messages, transits to the same state
Variable start times : we might want to consider synchronous systems in which the processes might begin executing at different rounds, This can be modeled by
- Adding a special node called environment node and having edges to all normal nodes
- Environment process sends wakeup messages when desired
- processes start in quiescent states, do not send messages
- They change state when receiving some wakeup message from environment node or other message
Failures
Process stopping failure : A process can stop somewhere in its execution or can stop after sending a subset of the round messages
Process Byzantine failure : Generate its next messages and next state in some arbitrary way, without necessarily following the rules specified by its message generation and state transition functions.
Channel failures : channels can fail by losing messages
Inputs and Outputs
- Inputs are just possible values in designated input variables
- Outputs are values in output variables
- write-once variables, recording the first write operation
- can be read multiple times
Executions
- Executions State assignment : assignment of a state to each process
- Message assignment : assignment of message/null to each channel
- Execution : infinite sequence
- state assignment after round
- message assignment, messages sent in round
- message assignment, messages received in round
- if there is message loss
- Executions and are indistinguishable to process , denoted if has the same sequence of states, outgoing and incoming messages in and
- Executions can also be said to be indistinguishable to process up to rounds
Complexity measures
- Time complexity : Number of rounds until output produced or processes halt
- Communication complexity : Total number of (non null) messages sent or number of bits in messages
Randomization
It is useful to allow random choices, Model is augmented with random function
- is added for each node
- for state is a probability distribution over
Each round starts now by a random choice of new a state, Executions become , represents state assignment after random choices in round
In randomized systems, claims become probabilistic