Skip to content

RebeccaPan/DHT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Distributed Hash Table - PPCA 2020

Overview

  • A DHT can be viewed as a dictionary service distributed over a network: it provides access to a common shared key->value data-store, distributed over participating nodes with great performance and scalability.
  • From a user perspective, a DHT essentially provides a map interface, with two main operations: put(key, value) and get(key). Get will retrieve values stored at a certain key while put (often called announce) will store a value on the network. Note that many values can be stored under the same key.
  • There are many algorithms to implement DHT. For this project, you are required to implement at least Chord protocol. You are also required to implement an application of DHT or implement another protocol. Finally, you should write a report for about one page.

More info in Wiki: DHT.

Assignment

  • Use Go to implement a Chord DHT with basic functions.
  • Use this DHT to implement an easy application, or implement another protocol.

Syllabus

  • Learn GoLang.
  • Implement Chord protocol.
  • Implement an application of DHT or implement another protocol.

Score

GitHub repository for test: DHT-2020

  • 70% for the Chord Test (60 + 10).
    • 60% + 10%: 60% for basic test and 10% for advance test.
    • Basic test: naive test without "force quit".
    • Advance test: "Force quit" will be tested. There will be some more complex tests.
  • 20% for the application/second protocol.
  • 10% for a short report and code review.

Reference

About

2020 MS106 Project.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages