Peer-to-Peer Networks:Distributed Algorithms for P2P Distributed Hash Tables

Peer-to-Peer Networks ●● Distributed algorithms for p2P ●●●● Distributed hash tables ●●0 0●●● P Felber Pascal. Felberd eurecom fr
Peer-to-Peer Networks Distributed Algorithms for P2P Distributed Hash Tables P. Felber Pascal.Felber@eurecom.fr http://www.eurecom.fr/~felber/

●●●● ●●●● ●●●● ●●●● Agenda ●●●● ●●●● o What are dhTs? Why are they useful? What makes a good dht design ● Case studies Chord ● Pastry(ocat!y) TOPLUS( topology-awareness) What are the open problems? Peer-to-Peer Networks -P. Felber
Peer-to-Peer Networks — P. Felber 2 Agenda ⚫ What are DHTs? Why are they useful? ⚫ What makes a “good” DHT design ⚫ Case studies ⚫ Chord ⚫ Pastry (locality) ⚫ TOPLUS (topology-awareness) ⚫ What are the open problems?

●●●● ●●●● ●●●● ●●●● What is p2P? ●●●● ●●●● A distributed system architecture o no centralized control e Typically many nodes, but unreliable and heterogeneous Nodes are symmetric in function Internet ake advantage of distributed shared resources (bandwidth, CPU, storage)on peer-nodes Fault-tolerant, self-organizing ● Operate in dynamic environment, frequent join and leave is the norm Peer-to-Peer Networks -P. Felber
Peer-to-Peer Networks — P. Felber 3 What is P2P? ⚫ A distributed system architecture ⚫ No centralized control ⚫ Typically many nodes, but unreliable and heterogeneous ⚫ Nodes are symmetric in function ⚫ Take advantage of distributed, shared resources (bandwidth, CPU, storage) on peer-nodes ⚫ Fault-tolerant, self-organizing ⚫ Operate in dynamic environment, frequent join and leave is the norm Internet

●●●● ●●●● ●●●● ●●●● P2P Challenge: Locating Content0000 Who has have it this paper? I have it Simple strategy: expanding ring search until content is found If r of N nodes have copy, the expected search cost is at least N/r, i.e., O(N) Need many copies to keep overhead smal Peer-to-Peer Networks -P. Felber
Peer-to-Peer Networks — P. Felber 4 P2P Challenge: Locating Content ⚫ Simple strategy: expanding ring search until content is found ⚫ If r of N nodes have copy, the expected search cost is at least N / r, i.e., O(N) ⚫ Need many copies to keep overhead small Who has this paper? I have it I have it

●●●● ●●●● ●●●● ●●●● Directed searches ●●●● ●●●● o Idea Assign particular nodes to hold particular content (or know where it is) o When a node wants this content, go to the node that is supposes to hold it (or know where it is ● Challenges Avoid bottlenecks: distribute the responsibilities evenly' among the existing nodes o Adaptation to nodes joining or leaving(or failing Give responsibilities to joining nodes Redistribute responsibilities from leaving nodes Peer-to-Peer Networks -P. Felber
Peer-to-Peer Networks — P. Felber 5 Directed Searches ⚫ Idea ⚫ Assign particular nodes to hold particular content (or know where it is) ⚫ When a node wants this content, go to the node that is supposes to hold it (or know where it is) ⚫ Challenges ⚫ Avoid bottlenecks: distribute the responsibilities “evenly” among the existing nodes ⚫ Adaptation to nodes joining or leaving (or failing) ⚫ Give responsibilities to joining nodes ⚫ Redistribute responsibilities from leaving nodes

●●●● ●●●● ●●●● ●●●● Idea: hash tables ●0●● ●●●● a hash table associates data with keys lookup(key)→data hash table insert(key, data) 0 Key is hashed to find bucket in hash table key hash function >pos 3 Each bucket is expected to Beatles" h(key) %N 1 hold #items/#buckets items hash bucket e In a distributed hash table (DHT), nodes are the hash buckets Key is hashed to find lookup(key)→data responsible peer node insert(key, data) Data and load are balanced key hash function >pos across nodes " Beatles h(key)%N N-1 node Peer-to-Peer Networks -P. Felber
Peer-to-Peer Networks — P. Felber 6 Idea: Hash Tables ⚫ A hash table associates data with keys ⚫ Key is hashed to find bucket in hash table ⚫ Each bucket is expected to hold #items/#buckets items ⚫ In a Distributed Hash Table (DHT), nodes are the hash buckets ⚫ Key is hashed to find responsible peer node ⚫ Data and load are balanced across nodes key pos 0 hash function 1 2 N-1 3 ... x y z lookup (key) → data insert (key, data) “Beattles” 2 hash table hash bucket h(key)%N 0 1 2 ... node key hash function pos lookup (key) → data insert (key, data) “Beattles” 2 h(key)%N N-1

●●●● ●●●● ●●●● ●●●● DHTS: Problems ●●●● ●●●● Problem 1(dynamicity): adding or removing nodes With hash mod N, virtually every key will change its location! hk)modm≠h(kmod(m+1)≠h(Kmod(m-1) Solution: use consistent hashing Define a fixed hash space All hash values fall within that space and do not depend on the number of peers(hash bucket) Each key goes to peer closest to its ID in hash space (according to some proximity metric Peer-to-Peer Networks -P. Felber
Peer-to-Peer Networks — P. Felber 7 DHTs: Problems ⚫ Problem 1 (dynamicity): adding or removing nodes ⚫ With hash mod N, virtually every key will change its location! h(k) mod m ≠ h(k) mod (m+1) ≠ h(k) mod (m-1) ⚫ Solution: use consistent hashing ⚫ Define a fixed hash space ⚫ All hash values fall within that space and do not depend on the number of peers (hash bucket) ⚫ Each key goes to peer closest to its ID in hash space (according to some proximity metric)

●●●● ●●●● ●●●● ●●●● DHTS: Problems(cont'd) ●0●● ●●●● o Problem 2(size): all nodes must be known to insert or lookup data e Works with small and static server populations Solution: each peer knows of only a few neighbors Messages are routed through neighbors via multiple hops(overlay routing) Peer-to-Peer Networks -P. Felber
Peer-to-Peer Networks — P. Felber 8 DHTs: Problems (cont’d) ⚫ Problem 2 (size): all nodes must be known to insert or lookup data ⚫ Works with small and static server populations ⚫ Solution: each peer knows of only a few “neighbors” ⚫ Messages are routed through neighbors via multiple hops (overlay routing)

●●●● ●●●● ●●●● ●●●● What Makes a Good DHT Design ●●●● ●●●● For each object, the node(s) responsible for that object should be reachable via a" path(small diameter) The different DHTs differ fundamentally only in the routing approach The number of neighbors for each node should remain reasonable(small degree) DHT routing mechanisms should be decentralized(no single point of failure or bottleneck Should gracefully handle nodes joining and leaving o Repartition the affected keys over existing nodes Reorganize the neighbor sets Bootstrap mechanisms to connect new nodes into the dht To achieve good performance, DHT must provide low stretch Minimize ratio of DHT routing Vs. unicast latency Peer-to-Peer Networks -P. Felber
Peer-to-Peer Networks — P. Felber 9 What Makes a Good DHT Design ⚫ For each object, the node(s) responsible for that object should be reachable via a “short” path (small diameter) ⚫ The different DHTs differ fundamentally only in the routing approach ⚫ The number of neighbors for each node should remain “reasonable” (small degree) ⚫ DHT routing mechanisms should be decentralized (no single point of failure or bottleneck) ⚫ Should gracefully handle nodes joining and leaving ⚫ Repartition the affected keys over existing nodes ⚫ Reorganize the neighbor sets ⚫ Bootstrap mechanisms to connect new nodes into the DHT ⚫ To achieve good performance, DHT must provide low stretch ⚫ Minimize ratio of DHT routing vs. unicast latency

●●●● ●●●● ●●●● ●●●● DHT Interface ●●●● ●●●● Minimal interface(data-centric Lookup(key)->IP address Supports a wide range of applications, because few restrictions o Keys have no semantic meaning o value is application dependent o dhTs do not store the data o Data storage can be build on top of DhTS Lookup(key)→data Insert(key, data) Peer-to-Peer Networks -P. Felber
Peer-to-Peer Networks — P. Felber 10 DHT Interface ⚫ Minimal interface (data-centric) Lookup(key) → IP address ⚫ Supports a wide range of applications, because few restrictions ⚫ Keys have no semantic meaning ⚫ Value is application dependent ⚫ DHTs do not store the data ⚫ Data storage can be build on top of DHTs Lookup(key) → data Insert(key, data)
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 山西农业大学:大数据技术原理与应用(PPT讲稿)Development and application of bigdata technology.ppt
- 香港理工大学:数据仓库和数据挖掘(PPT讲稿)Data Warehousing & Data Mining.ppt
- 《信息系统与数据库技术》课程教学资源(PPT课件讲稿)第4章 T-SQL与可编程对象.ppt
- 《计算机网络》课程教学资源(PPT课件讲稿)第三章 数据链路层.ppt
- 北京航空航天大学:《数据挖掘——概念和技术(Data Mining - Concepts and Techniques)》课程教学资源(PPT课件讲稿)Chapter 02 Getting to Know Your Data.ppt
- 《Java程序开发》课程教学资源(PPT课件讲稿)第11章 Struts2框架技术.ppt
- Software Reliability & Testing(PPT讲稿)Overview of Software Reliability Engineering.ppt
- 香港浸会大学:《Data Communications and Networking》课程教学资源(PPT讲稿)Chapter 9 High Speed LANs and Wireless LANs.ppt
- 《软件工程》课程教学资源(PPT讲稿)软件测试——系统测试.pptx
- 厦门大学:《大数据技术原理与应用》课程教学资源(PPT课件讲稿,2017)第4章 分布式数据库HBase.ppt
- 上海交通大学:自然语言处理(PPT课件讲稿)Natural Language Processing.ppt
- 演化计算(PPT讲稿)Evolutionary Computation(EC).ppt
- 《计算机组成原理》课程电子教案(PPT课件讲稿)第4章 指令系统.ppt
- 电子工业出版社:《计算机网络》课程教学资源(第五版,PPT课件讲稿)第五章 运输层.ppt
- C++ Basics(PPT讲稿).ppt
- 河南中医药大学(河南中医学院):《计算机文化》课程教学资源(PPT课件讲稿)第五章 运输层.pptx
- 南京航空航天大学:《数据结构》课程教学资源(PPT课件讲稿)第七章 图(微软精品课程建设).ppt
- 香港浸会大学:Programming Interest Group(PPT讲稿)Combinatorics & Number Theory.ppt
- 河南中医药大学(河南中医学院):《计算机网络》课程教学资源(PPT课件讲稿)第二章 物理层.ppt
- 《网络搜索和挖掘关键技术 Web Search and Mining》课程教学资源(PPT讲稿)Lecture 03 The term vocabulary and postings lists.ppt
- 中国科学技术大学:《计算机体系结构》课程教学资源(PPT课件讲稿)Chapter 01 量化设计与分析基础(主讲:周学海).ppt
- 《计算机视觉》课程教学资源(PPT课件讲稿)边缘和线特征提取.ppt
- 厦门大学:《数据库系统原理》课程教学资源(PPT课件讲稿,2016版)第五章 数据库完整性.ppt
- 四川大学:《Linux操作系统》课程教学资源(PPT课件讲稿)第2章 Linux操作系统管理基础.ppt
- 《数据结构》课程教学资源(PPT课件讲稿)第六章 树与二叉树(6.1-6.3).ppt
- 《Java语言程序设计》课程教学资源(PPT课件讲稿)第三章 Java面向对象程序设计.ppt
- 香港科技大学:Advanced Topics in Next Generation Wireless Networks.ppt
- 《图像处理与计算机视觉 Image Processing and Computer Vision》课程教学资源(PPT课件讲稿)Chapter 04 Feature extraction and tracking.pptx
- 面向服务的业务流程管理(PPT讲稿)Introduction to Business Process Management(BPM).pptx
- 《Computer Networking:A Top Down Approach》英文教材教学资源(PPT课件讲稿,6th edition)Chapter 6 无线和移动网络 Wireless and Mobile Networks.ppt
- “互联网+”与“+互联网”(PPT讲稿).pptx
- 《C语言程序设计》课程电子教案(PPT课件讲稿)第六章 函数.ppt
- 南京大学:可信软件(PPT讲稿)认识、度量与评估.ppt
- 电子工业出版社:《计算机网络》课程教学资源(第五版,PPT课件讲稿)第二章 物理层.ppt
- 中国科学技术大学:《嵌入式系统设计》课程教学资源(PPT课件讲稿)第2章 ARM微处理器概述与编程模型(王行甫).ppt
- 厦门大学:《大数据技术原理与应用》课程教学资源(PPT课件讲稿,2017)第9章 Spark.ppt
- 南京大学:《数据结构 Data Structures》课程教学资源(PPT课件讲稿)第九章 排序.ppt
- PARALLELISM IN HASKELL(Kathleen Fisher).pptx
- 电子工业出版社:《计算机网络》课程教学资源(第五版,PPT课件讲稿)第八章 因特网上的音频/视频服务.ppt
- 《微机原理与接口技术》课程教学资源(PPT课件讲稿)第1章 微型计算机基础概论.ppt