Simultaneous Insertions in Tapestry

Similar documents
Challenges in the Wide-area. Tapestry: Decentralized Routing and Location. Global Computation Model. Cluster-based Applications

Challenges in the Wide-area. Tapestry: Decentralized Routing and Location. Key: Location and Routing. Driving Applications

! Naive n-way unicast does not scale. ! IP multicast to the rescue. ! Extends IP architecture for efficient multi-point delivery. !

Peer-to-Peer Networks Pastry & Tapestry 4th Week

Data Replication under Latency Constraints Siu Kee Kate Ho

Distributed Object Location in a Dynamic Network

Handling Churn in a DHT

Decentralized Object Location In Dynamic Peer-to-Peer Distributed Systems

P2P Network Structured Networks: Distributed Hash Tables. Pedro García López Universitat Rovira I Virgili

Peer-to-Peer: Part II

Overlay and P2P Networks. Structured Networks and DHTs. Prof. Sasu Tarkoma

Brocade: Landmark Routing on Peer to Peer Networks. Ling Huang, Ben Y. Zhao, Yitao Duan, Anthony Joseph, John Kubiatowicz

Athens University of Economics and Business. Dept. of Informatics

DATA. The main challenge in P2P computing is to design and implement LOOKING UP. in P2P Systems

CS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring Lecture 20: Networks and Distributed Systems

Distributed Hash Tables

Early Measurements of a Cluster-based Architecture for P2P Systems

Lecture 6: Overlay Networks. CS 598: Advanced Internetworking Matthew Caesar February 15, 2011

Overlay Networks for Multimedia Contents Distribution

CS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring Lecture 19: Networks and Distributed Systems

P2P: Distributed Hash Tables

Distributed Hash Tables

ReCord: A Distributed Hash Table with Recursive Structure

Process groups and message ordering

An Expresway over Chord in Peer-to-Peer Systems

CS 640 Introduction to Computer Networks. Today s lecture. What is P2P? Lecture30. Peer to peer applications

Fixing the Embarrassing Slowness of OpenDHT on PlanetLab

Object Location Query

Implementing Mutual Exclusion. Sarah Diesburg Operating Systems CS 3430

08 Distributed Hash Tables

Verifying Cache Coherence in ACL2. Ben Selfridge Oracle / UT Austin

Security for Structured Peer-to-peer Overlay Networks. Acknowledgement. Outline. By Miguel Castro et al. OSDI 02 Presented by Shiping Chen in IT818

Lecture 4: Intradomain Routing. CS 598: Advanced Internetworking Matthew Caesar February 1, 2011

LessLog: A Logless File Replication Algorithm for Peer-to-Peer Distributed Systems

CPSC 536N: Randomized Algorithms Term 2. Lecture 5

Chapter 6 PEER-TO-PEER COMPUTING

Linear Regression and K-Nearest Neighbors 3/28/18

Internetworking. different kinds of network technologies that can be interconnected by routers and other networking devices to create an internetwork

Should we build Gnutella on a structured overlay? We believe

Chapter 8 LOCATION SERVICES

CS514: Intermediate Course in Computer Systems

L3S Research Center, University of Hannover

Chapter 22 Network Layer: Delivery, Forwarding, and Routing 22.1

Towards a Common API for Structured Peer-to-Peer Overlays

Thread Synchronization: Foundations. Properties. Safety properties. Edsger s perspective. Nothing bad happens

Towards a Common API for Structured Peer-to-Peer Overlays Λ

Tapestry: An Infrastructure for Fault-tolerant Wide-area Location and Routing

CIS 700/005 Networking Meets Databases

PChord: Improvement on Chord to Achieve Better Routing Efficiency by Exploiting Proximity

FINAL EXAM - SLOT 2 TCP/IP NETWORKING Duration: 90 min. With Solutions

ATOMIC COMMITMENT Or: How to Implement Distributed Transactions in Sharded Databases

A Directed-multicast Routing Approach with Path Replication in Content Addressable Network

Motivation. The Impact of DHT Routing Geometry on Resilience and Proximity. Different components of analysis. Approach:Component-based analysis

Exploiting Route Redundancy via Structured Peer to Peer Overlays

Cycloid: A constant-degree and lookup-efficient P2P overlay network

The Impact of DHT Routing Geometry on Resilience and Proximity. Acknowledgement. Motivation

Cycloid: A Constant-Degree and Lookup-Efficient P2P Overlay Network

You should be asked if you want to run or save this file, please select run. After the install is complete it will redirect you to the logon page.

On Name Resolution in Peer-to-Peer Networks

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Computer Systems Engineering: Spring Quiz 2

CSC 4900 Computer Networks: Routing Protocols

To SMS Technical Guide

P2P Network Structured Networks: Distributed Hash Tables. Pedro García López Universitat Rovira I Virgili

15-441: Computer Networking. Lecture 24: Ad-Hoc Wireless Networks

Randomized Algorithms for Network Security and Peer-to-Peer Systems

A Survey of Peer-to-Peer Content Distribution Technologies

Cycloid: A Constant-Degree and Lookup-Efficient P2P Overlay Network

Overlay Networks for Peer-to-Peer Networks

A Common API for Structured Peer-to- Peer Overlays. Frank Dabek, Ben Y. Zhao, Peter Druschel, Ion Stoica

Student Name: University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science

This is a talk given by me to the Northwest C++ Users Group on May 19, 2010.

Geographical routing 1

Lectures 8/9. 1 Overview. 2 Prelude:Routing on the Grid. 3 A couple of networks.

Chapter 10 Motion Planning

Modern Technology of Internet

BGP Protocol & Configuration. Scalable Infrastructure Workshop AfNOG2008

Scalability In Peer-to-Peer Systems. Presented by Stavros Nikolaou

Tapestry: A Resilient Global-scale Overlay for Service Deployment

Lecture 21. Lecture 21: Concurrency & Locking

Computer Networking Introduction

Arranging lunch value of preserving the causal order. a: how about lunch? meet at 12? a: <receives b then c>: which is ok?

Distributed Systems. coordination Johan Montelius ID2201. Distributed Systems ID2201

15-441: Computer Networking. Wireless Networking

FPN: A Distributed Hash Table for Commercial Applications

Internetworking: Global Internet and MPLS. Hui Chen, Ph.D. Dept. of Engineering & Computer Science Virginia State University Petersburg, VA 23806

EE 122: Peer-to-Peer Networks

Telematics Chapter 9: Peer-to-Peer Networks

Arvind Krishnamurthy Fall 2003

A Framework for Peer-To-Peer Lookup Services based on k-ary search

Lecture 19: Network Layer Routing in the Internet

Motivation for peer-to-peer

Type Driven Development in Idris

Inter-AS routing. Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley

Grandstream Networks, Inc. How to Interconnect Multiple UCM6XXX series IP PBX

EE 122: Peer-to-Peer (P2P) Networks. Ion Stoica November 27, 2002

Chapter 4: Network Layer, partb

Scalable P2P architectures

Bayeux: An Architecture for Scalable and Fault-tolerant Wide-area Data Dissemination

Approximately Uniform Random Sampling in Sensor Networks

Transport Layer Marcos Vieira

Transcription:

Simultaneous Insertions in Tapestry Kris Hildrum, UC Berkeley hildrum@cs.berkeley.edu Joint work with John Kubiatowicz, Satish Rao, and Ben Y. Zhao

This is going to be different Please stop me if I m confusing. This will be your only graph. Now for the hard (but very cool) stuff 4 3.5 3 2.5 2 1.5 1 0.5 0 This Talk Kayaking Proofs Graphs Sun

Related Work (no, this wasn t in the original talk) Tapestry mesh inspired by paper by Plaxton, Rajaraman and Richa from SPAA 1997. Other peer-to-peer object location systems include Chord CAN Pastry

4 2 3 3 3 2 2 1 2 4 1 2 3 3 1 3 4 1 1 4 3 2 4 0xEF34 0xEF31 0xEFBA 0x0921 0xE932 0xEF37 0xE324 0xEF97 0xEF32 0xFF37 0xE555 0xE530 0xEF44 0x0999 0x099F 0xE399 0xEF40 0xEF34 Basic Tapestry Mesh (from PRR97)

Use of Tapestry Mesh Randomization and Locality

Why simultaneous? Inserts will not always happen one at a time. Not practical to have one gateway to serialize Most simultaneous inserts completely harmless (no interference), but handling bad ones correctly is important Assumptions: No concurrent deletes (can be worked around) Messages always arrive, though no guarantee on timely delivery

(Simultaneous) Insertion Find node with closest matching ID (surrogate) and get preliminary neighbor table If surrogate s is hole-free, so is this one. Find all nodes that need to put new node in routing table via multicast Optimize neighbor table Very tricky & fun, touched on here. Want: No fillable holes.

Neighbor Map For 2175 (Octal) Routing Levels 1 2 3 4 1xxx 2175 0xxx 3xxx 4xxx 5xxx 6xxx 7xxx 20xx 2175 22xx 23xx 24xx 25xx 26xx 27xx 210x 211x 212x 213x 214x 215x 216x 2175 2170 2171 2172 2173 ø 2175 2176 2177 Neighbor Table 1 0xE932 3 3 2 2 2 4 3 0xEFBA 0xEF37 0xE324 0xE555 0xEF44 0xEFB4

Need-to-know nodes Need-to-know = a node with a hole in neighbor table filled by new node If 1234 is new node, and no 123s existed, must notify 12?? nodes Acknowledged multicast to all matching nodes During this time, object requests may go either to new node or former surrogate, but old and new can forward requests New node knows old destination Once pointers moved, pre-insertion destination knows new node.

Acknowledged Multicast Algorithm Locates & Contacts all nodes with a given prefix Create a tree based on IDs as we go Starting node knows when all nodes reached Nodes send acks when all children reached The node then sends to any?0345, any?1345, any?3345, etc. if possible 543?? 5431? 5434? 54340 54345

Multicast Breaks A is only 123 A 0x1230 A B 0x1244 B B is only 124 They need to find out about each other 0x1220 B 0x1224 But they don t! A

What Goes Wrong? Suppose A & B add themselves. A is only 123 B is only 124 Both talk to same set (all 12 nodes) 123 is a Need-to-Know node for 124 & vice-versa But multicasts could pass each other

But it Gets Worse Suppose X has prefix 12. A=1231 arrives. X adds A to table. B =1232 arrives. X adds B to table, drops A. Sends B s message to A. C = 1233 arrives. X sends C s message to B. B gets C s message. A gets message about B s. A does not know about C!!

We Fill All Holes - Outline Multicast reaches all completely inserted or core nodes. (Lemma 1) Any same-hole insertion arriving at a node before A is found before A finishes its multicast. So A has found all such nodes by end. (Lemma 2) Any two different-hole insertions must find each other.

Locking Pointers Problem in same hole case: So multicast assumed that chosen node can forward message Inserting nodes have incomplete information. Pointers are added as locked. When multicast for that node returns, pointers are unlocked. Multicasts are sent to one unlocked pointer and all locked pointers. Locked pointers may not be deleted.

Any unlocked pointer can reach all other unlocked pointers. Suppose it is true for all unlocked pointers until A. Now consider next unlocked pointer. Knows all unlocked before its arrival, by hypothesis. Knows locked when A arrived, since A s message was sent to them. Knows later arrivals, since they must have sent message down A. If X sends to one unlocked and all locked, all nodes X has seen will get message.

Modified Multicast Message now includes: Hole node is filling A watch list of unfilled holes in neighbor table Receivers now Forward multicast to hole if hole filled Send any nodes matching holes in watch list to originator

We want: When A finishes its multicast, it has informed all core need-to-know nodes and it knows all the core nodes it needs to. (no unfilled holes) Two insertions conflict if there can be no agreement on which the order in which the insertions occurred.

New Multicast Fixes Problem A is only 123 A 0x1230 A A B B 0x1244 B B is only 124 They need to find out about each other 0x1220 B A 0x1224 A needs to arrive before B at only ONE node.

Proof Multicast reaches all completely inserted nodes. (Lemma 1) Any same-hole insertion arriving at a node before A is found before A finishes its multicast. So A has found all such nodes by end. (Follows from pointer locking) Any different-hole insertion must either arrive Before or conflict (ok) After (then A gets multicast)

Lemma 1: Core Nodes Reached Core node: multicast finished. Suppose some core node unreached. Consider X, which was supposed to send it towards core node. X is not finished inserting. Cannot be, since X only fills holes. X is done inserting. But it must not have a hole.

Finding Nearest Neighbor Let j be such that surrogate matches new node in last j digits of node ID G = surrogate A. G sends j-list to new node; new node pings all nodes on j-list. B. If one is closer, G = closest, goto A. If not, done with this level, and let j = j-1 and goto A. j-list is closest k=o(log n) nodes matching in j digits 61524 01234 11111 01334 32134

Delete republish republish republish republish republish

Conclusions Simultaneous insertion works. Deletion and details on insertion in paper. Questions: How does delete interact with insert? Can we make optimization algorithm better?