Comparison of Consistency-Algorithms

We ran the two most common consistency algorithms (loose and optimistic) under comparable network conditions (i.e. the same latency/lossrate and similar bandwidth). We also compared this to ideal conditions (the non-distributed case).

Streams

consistency algorithm loose optimistic ideal
scenario swarm swarm swarm
bees 8 8 8
message delay [ms] 250 250 0
message loss [%] 0.1 0.1 0
packets sent [/s] 20.5 20.5 N/A
AVI (Lagarith) loose.avi opt.avi ideal.avi codec: Lagarith
GIF animation loose.gif opt.gif ideal.gif CAUTION: Attempt only if your PC has > 2GB of RAM!

What you are looking at

The streams are actually superpositions of three views of the game from three of the hosts. When the three views on the position of a particular bee coincide the result is a maroon ball for that bee. When the views differ, one edge will be colored differently. The honey-gathered numbers at the bottom are printed for each view.

Noteworthy moments

Watch for some noticable faux pass in the loose simulation around the times 63.25 s, 184.30 s, and 275.00 s.

Analysis

We should stress that the game is set at a fairly low speed (as compared to the characteristic distances of bees from one another divided by the network delay time). Similarly, the network rate is somewhat high, enabling good connectivity between the hosts. The interesting point here is that even at these low speeds and good connectivity, loose consistency fails to get the correct result for the system, there are already some major errors and jumps.

Optimistic consistency, however, performs acceptably well as compared to ideal consistency.