CS 271 project


Project Description Project write-up is due 3/16 in class. Project demos will be on 3/17
cs271 Google Group

FAQ


What kind of failures do we need to support?
You only need to handle crash failures. Once a peer fails, it will not rejoin the system. Therefore, you do not need to store the dictionary contents on disk.

Can an item be inserted/deleted more than once?
No. Each item will be inserted and deleted at most once.

Should virtual nodes be handled differently than physical nodes?
The only reason we ask you to implement virtual nodes it so that we can increase the number of nodes in the system without requiring a distinct machine for each node. You probably don't want to exploit virtual nodes in your broadcast implementation as it can only save you a constant fraction of messages.

Do we need to use the finger tables for anything?
You are asked to implement a dictionary on top of Chord, and you can assume that you get all of the features of Chord (successor and predecessor pointers, finger tables, etc.) for "free". So you may want to make use of these features to implement an efficient broadcast mechanism. If you can come up with a more efficient protocol that does not use these features, that is fine, but be sure to justify any overhead introduced by your protocol. If you are not using the finger tables for anything, you do not need to implement them.

Demo Schedule


  • Coming Soon