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.
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.
- Ensure Akka is installed. If not, run:
dotnet add package Akka.FSharp --version 1.5.13
- Build the project:
dotnet build
- Run the program with:
dotnet run <numNodes> <topology> <algorithm>
- Gossip Algorithm: Up to 15,000 nodes for each topology.
- Push Sum Algorithm: Up to 5,000 nodes for most topologies.
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.