Skip to content

Gossip Algorithm and Push Sum Simulation using Akka in F#

Notifications You must be signed in to change notification settings

d3v-26/COP5615-Project3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gossip Algorithm and Push Sum Simulation using Akka in F#

Introduction

This project explores the Gossip and Push Sum algorithms in distributed systems using the Akka framework in F#. It delves into various network topologies to analyze the efficiency of these algorithms in different structures, including Full Network, 2D Grid, Imperfect 2D Grid, Line, 3D Grid, and Imperfect 3D Grid.

Project Structure

  • Program.fs: The main entry point of the application, containing utility functions and the main function.
  • Gossip.fs: Contains the core logic for the Gossip and Push Sum algorithms and network topologies.
  • Gossip.fsproj: The F# project file.

Running the Program

  1. Ensure Akka is installed. If not, run:
    dotnet add package Akka.FSharp --version 1.5.13
  2. Build the project:
    dotnet build
  3. Run the program with:
    dotnet run <numNodes> <topology> <algorithm>

Largest Network Handled

  • Gossip Algorithm: Up to 15,000 nodes for each topology.
  • Push Sum Algorithm: Up to 5,000 nodes for most topologies.

Results

Screenshots

  1. Gossip Algorithm with 3D topology (100 nodes): Gossip Algorithm with 3D Topology

  2. Push Sum Algorithm with Full topology (100 nodes): Push Sum Algorithm with Full Topology

Graphs

  • Gossip Algorithm (5000 nodes): Time Elapsed vs Number of Nodes - Gossip Algorithm

  • Push Sum Algorithm (100 nodes): Time Elapsed vs Number of Nodes - Push Sum Algorithm

Conclusion

The project demonstrates the effectiveness of the Gossip and Push Sum algorithms across different network topologies. It provides a thorough analysis of these algorithms' scalability and performance, contributing to the understanding of distributed system dynamics and their practical applicability.

About

Gossip Algorithm and Push Sum Simulation using Akka in F#

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages