Performance Metrics of a Distributed
Algorithm
• Theoretical Analysis
• Proof of Correctness
• Complexity Analysis (Time, Message, Space, Bit)
• Quality Analysis
• Practical Analysis
• Simulation
• Testbed Experiments
• Real World Implementation
FLOODING EXAMPLE
Time: 1
1
2
Time: 2
Time: 2
Diameter is 4.
3
4 Time: 3
Time: 3
5
Time: 4
6
SSI EXAMPLE
1
2
INITIATOR
4
6
SSI EXAMPLE
1
2
ROUND message to all nodes
3
INITIATOR
4
Message complexity:
6
N-1 round messages
Time complexity:
O(c)=O(1)
SSI EXAMPLE
1
2
3
Step 1. INFO message exchanges.
Step 2. Do some computation.
4
Message complexity:
5 2M INFO messages
(Assuming only links between
ordinary nodes are used as
6 network edges)
Time complexity:
O(c)=O(1)
SSI EXAMPLE
1
2
INITIATOR
4
Upcast messages are transmitted
Starting from the leaf node
5
Message complexity: N-1 UPCAST messages
6
(message between 1 and
INITIATOR is not included)
Total Message Count: n-1+2m+n-1=2m+2n-2
Time complexity: d: depth of tree
O(d)
Bit complexity
• Contents of a typical message
• Source: log2N bits
• Destination: log2N bits
• Error Field: constant size.
• Flags: constant size.
• Payload: constant size.
• TTL: constant size.
• Node Ids: [0,N-1] log2N bits
• C: constant O(c)=O(1)=O(5).
• O(log2N) + O(log2N) + 4 x O(c) = O(log2N)
• Example: 2n+3=O(n)
• Message size complexity = O(log2N)
• Bit complexity = Message size complexity x Message complexity
• = O(log2N) x O(m) = O(m x log2N) (For Flooding)
Space Complexity
• For Flooding Algorithm
• log2N bits for each neighbor
• Delta maximum neighbor.
• O(Delta x log2N) + constant number of variables = O(Delta x log2N)