Skip to content

A distributed system that spawns multiple actors that can communicate and perform aggregate computation using AKKA.net and F# in 4 different topologies(Full, Line, 2D Grid, and Imperfect 2D). Both the gossip algorithm as well as push-sum have been implemented.

Notifications You must be signed in to change notification settings

bharathaiys/Gossip-Simulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

GOSSIP SIMULATOR

Gossip type algorithms can be used both for group communication and for aggregate computation. The goal of this project is to determine the convergence of such algorithms through a simulator based on actors written in F#. Since actors in F# are fully asynchronous, the particular type of Gossip implemented is the so called Asynchronous Gossip.

TEAM MEMBERS:

BHARATH SHANKAR, UFID: 9841-4098
SHAUNAK SOMPURA, UFID: 9911-2362

WHAT IS RUNNING(ALGORITHMS & TOPOLOGIES):

The program prints the convergence time of all nodes for the following algorithms and topologies. For Gossip it ensures all nodes hear the rumour more than 10 times. For push-sum, all nodes' ratio of s/w should not have changed more than 10^-10 in 3 consecutive rounds.

Gossip:

Full Network
Line
2D Grid
Imperfect 2D

Push-sum:

Full Network
Line
2D Grid
Imperfect 2D

HOW TO RUN:

  1. Navigate to the folder with the file project2.fsx

  2. Run the following command on the terminal:

     dotnet fsi --langversion:preview proj2bf.fs <numNodes> <topology> <algorithm>
    

    Where numNodes is the number of actors involved (for 2D based topologies you can round up until you get a square), topology is one of full, 2D, line, imp2D, algorithm is one of gossip, push-sum.

LARGEST NETWORK DEALT WITH:

Gossip

Full Network: 50000
Line: 5000
2D Grid: 50000
Imperfect 2D: 20000

Push-sum

Full Network: 5000
Line: 64
2D Grid: 128
Imperfect 2D: 512# Gossip-Simulator

About

A distributed system that spawns multiple actors that can communicate and perform aggregate computation using AKKA.net and F# in 4 different topologies(Full, Line, 2D Grid, and Imperfect 2D). Both the gossip algorithm as well as push-sum have been implemented.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages