Giter Site home page Giter Site logo

bcr's Introduction

PLATFORM:

  • DistAlgo version -- 1.0.9
  • Python Implementation CPython 3.6.3
  • Operating System: macOS Sierra 10.12.6 (16G29)
  • PyNacl: 1.1.2

INSTRUCTIONS:

  • Install Python3
  • Install Distalgo: "sudo pip3 install pyDistAlgo"
  • Install PyNacl: "sudo pip3 install pynacl"

MAIN FILES.

  • bcr.da : This file contains code for master to read configuration file from command line and initiate Olympus and Clients.
  • client.da :This file contains code for clients to send client requests and receive client responses, configuration request & response to Olympus
  • olympus.da : This file contains code for olympus to initiate replicas and hsndling configuration requests from clients
  • replica.da : This file contains code for replica to handle client requests and other replica messages.

SINGLE PROCESS SETUP

python3 -m da --logfile --logfilename testCaseName.txt --logfilelevel 'info' --message-buffer-size size_Bytes bcr.da configurationFileName.txt

MULTI-NODE SETUP

  • python3 -m da -r --message-buffer-size=1280000 --logfile --logfilename logdirect/replica0.log --logfilelevel info -n ReplicaNode0 -D replica.da
  • python3 -m da -r --message-buffer-size=1280000 --logfile --logfilename logdirect/replica1.log --logfilelevel info -n ReplicaNode1 -D replica.da
  • python3 -m da -r --message-buffer-size=1280000 --logfile --logfilename logdirect/replica2.log --logfilelevel info -n ReplicaNode2 -D replica.da
  • python3 -m da -r --message-buffer-size=1280000 --logfile --logfilename logdirect/client.log --logfilelevel info -n ClientNode -D client.da
  • python3 -m da -r --message-buffer-size=1280000 --logfile --logfilename logdirect/olympus.log --logfilelevel info -n OlympusNode -D olympus.da
  • python3 -m da -r --message-buffer-size=1280000 --logfile --logfilename logdirect/master.log --logfilelevel info -n MasterNode bcr.da perform900.txt

WORKLOAD GENERATION:

class PseudoRandom:

   def select_random_elements_of_list(self, list, num_required_elements, seed):
       len_of_list = len(list)
       sample = []
       random.seed(seed)
       for i in range(num_required_elements):
           index = random.randint(0, len_of_list - 1)
           sample.append(list[index])

       return sample

num_required_elements : number of requests to be generated

list : specify the list present in configuration.csv from which request will be picked up randomly

We are using python in-built 'random' utiltiy to generate 'num_required_elements' numbers corresponding to one of the indexes in the list.

PERFORMANCE EVALUATION

  • RAFT : 8.78 seconds
  • Single-host configuration : 61 seconds
  • Multi-Host setup with replicas on different host : 60 seconds

bcr's People

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Forkers

b-rich

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.