A simulator in Elixir for these communication algorithms for aggregating Information: Gossip and Push-sum. The goal of the simulator is to determine the convergence time and ratio for a given number of nodes, and judge the performance for the different topologies. The simulator can run following topologies: 2D Grid, 3D Torus Grid, Honeycomb, Full, Line. Also provided is the simulation and testing of node failure conditions.
Implementation is done as described in this publication: https://www.cs.cornell.edu/johannes/papers/2003/focs2003-gossip.pdf
If available in Hex, the package can be installed
by adding gossip_pushsum_simulator
to your list of dependencies in mix.exs
:
def deps do
[
{:gossip_pushsum_simulator, "~> 0.1.0"}
]
end
Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/gossip_pushsum_simulator.