saketkunwar / erl_dht Goto Github PK
View Code? Open in Web Editor NEWChord Distributed hash table (dht) ,simulation and tcp/ip deployment with replication
Chord Distributed hash table (dht) ,simulation and tcp/ip deployment with replication
# Copyright 2009 saket kunwar # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. ERl_dht ver 1.0 is a simulation framework and tcp/ip deployment for evaluating and deploying distributed hash table .A simple routing as well as chord dht is currently implemented. Branch ----------- Currently there are two branches in this repositury: erly_ring - contains the tcp/ip modules .This has been merged to master replication- contains modules for simple replication algorythm on top of the dht.This is a work in progress with the aim of implementing replication based on a probabilistic model.This branch has yet to be merged with master. Requirement ------------ Make sure you have erlang otp installed which can be obtained from http://erlang.org Building -------- cd /src make the binary will be stored at ebin directory /ebin Running -------- There is an example of events file i.e "events.txt" that contains the events to be executed.It spawns around 100 nodes for generating test results. The prtotype of the events can be found in Erl_dht.pdf under the developer directory. run the script erl_dht_test or erl_dht_test.bat (windows) you can configure the events file or make your own simulations events erl -pa ./ebin and at the erl promt erl_dht:eventtest("events.txt"). or erl_dht:start(Num). where Num is the number of nodes Have a look at simul.erl or it's doc to perform live tests while the simulation is running.Since the simulation terminal spews simulation result it's better to spawn two terminal,one for simulation and the other to send simulation specific querries through rpc call. Directory structure ---------------------- ebin output of make i.e cntains the beam files doc edoc generated documentation files src source files developer a more indepth description guide of erl_dht bugs ------ a few instances have resulted in infinite finger loop from some nodes due to incorrect finger entries. fix_finger needs to be implemented .
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.