Code Monkey home page Code Monkey logo

chordprotocol's Introduction

ChordProtocol

Implementation of Chord Protocol using Scala and Akka

The Chord protocol has been implemented such that the program can be started by giving an input specifying the number of nodes that are to be configured in the network and the number of requests that each node needs to make. The program achieves termination when all the nodes configured in the network perform the number of requests specified. Every node is implemented such that it transmits 1 request/second.

Input: project3.scala numberOfNodes numberOfRequests

Output: Average number of hops traversed to deliver the message.

How to run: • Copy the folder Chord onto the System. • Access the folder Chord using the command prompt. • In the command prompt run the sbt command. Run the command "run numNodes numRequests" where numNodes is the number of nodes configured in the network and numRequests is the number of requests each node has to make.

Output: Number of Nodes Number of Requests Total number of Hops Average number of Hops 10 1 34 3.400 10 3 99 3.333 10 10 313 3.130 100 3 1565 5.217 500 3 9672 6.448 1000 3 20698 6.899 2500 3 56664 7.552 Largest network simulated: 2500 nodes Observations: � With increase in number of total nodes introduced in network, Average number of Hops were increased. � With increase in number of requests made by each node for the same network, Average number of Hops were decreased.

chordprotocol's People

Contributors

srinivaskcg avatar

Stargazers

Roman avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.