1 / 13

Data Currency in Replicated DHTs

Data Currency in Replicated DHTs. Akbarina, Pacitti and Valduriez Presented by Dr. Greg Speegle. Introduction. Peer-to-peer (P2P) Systems Message propogation Flood DHT Failure characteristics Data replication Data currency

declan
Download Presentation

Data Currency in Replicated DHTs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Data Currency in Replicated DHTs Akbarina, Pacitti and Valduriez Presented by Dr. Greg Speegle

  2. Introduction • Peer-to-peer (P2P) Systems • Message propogation • Flood • DHT • Failure characteristics • Data replication • Data currency • Goal: Replication of Data with Currency in P2P Environment using DHTs

  3. Distributed Hash Table (DHT) • Hash function h(data)=key • Node owns “nearest” keys • Node i “knows” node j is closer to key k • Message requires O(log n) hops • get(k) retrieves data • put(k,data) stores data

  4. Replication and DHT • Use m hash functions • Store data at m sites • hi(data) = ki • put(ki,data) • Timestamp each update • data = data + TS • Greatest timestamp most current data

  5. Key-based Timestamping Service (KTS) • p generates TS for k via counter • For all hash functions • q finds p via DHT mechanism • Data is “TS for k” • gen_ts(k) monotonic function generating TS • last_ts(k) returns last TS

  6. KTS Direct Algorithm • p exiting system • q (neighbor) selected as new TS server • p sends current counters to q • “neighbors” (in DHT) route to q instead of p

  7. KTS Indirect Algorithm • p fails • q queries data for TS • Highest TS returned becomes current TS • Waits to allow “in progress” TS to propagate • If one current replica found, TS correct • Ps = 1-(1-pa)|H| • Pa = 30% and|H|=13 then Ps = 99%

  8. Read Operations • Request on all hash functions (get(k)) • Request TS from KTS • Return 1st replica with TS = KTS value

  9. Write Operations • Get new TS • Perform put(k,data+TS) on all hash functions • Receiver compares new TS to current data TS • If new TS > current TS, update local data

  10. Simulated Performance

  11. Performance with Failures

  12. Performance with Updates

  13. Conclusion • Low failures of KTS works • Recovery algorithms for KTS failures not perfect • Low update scenarios • High update scenarios eliminate failure problems for data, but not KTS

More Related