1 / 13

Data Currency in Replicated DHTs

This paper explores data replication and currency management in Peer-to-Peer (P2P) systems utilizing Distributed Hash Tables (DHTs). The authors, Akbarina, Pacitti, and Valduriez, alongside Dr. Greg Speegle, present a framework where data updates are timestamped to ensure the most current information is always accessible. Employing multiple hash functions allows data to be stored at various sites, with strategies for managing failures and ensuring consistency. This study highlights the effectiveness of key-based timestamping services in maintaining data integrity and performance in dynamic environments.

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