310 likes | 558 Views
Towards Efficient Simulation of Large Scale P2P Networks. Tobias Hoßfeld. ITG-Fachgruppe 5.2.1 “Cooperating and Scalable Networks” Aachen, Ericsson, J. Sachs, 04.05.2006. Cartography of P2P Architectures. user-oriented domain. decentralized. X. Gnutella. operator-centric domain. X.
E N D
Towards Efficient Simulation of Large Scale P2P Networks Tobias Hoßfeld ITG-Fachgruppe 5.2.1“Cooperating and Scalable Networks” Aachen, Ericsson, J. Sachs, 04.05.2006
Cartography of P2P Architectures user-oriented domain decentralized X Gnutella operator-centricdomain X eDonkey resource mediation Client/ centralized Server X BitTorrent centralized decentralized resource access control X Chord • Two control functions in P2P systems • Resource mediationwhere are files located • Resource access controlwho may download a file and when • Mapping of P2P architectures into architectural space • pure P2P • hybrid P2P • classic client/server • Identification of control objectives PureP2P P2P Cartography hybrid P2P
Peer-to-Peer Architectures Information Provider Information Seeker Index Index Unstructured P2P-Network (Gnutella) Web-Server Tracker Information Mediator Information Mediator BitTorrent Hybrid P2P-Network (eDonkey) Information Seeker Information Provider Information Mediator Structured P2P-Network (Chord)
join() leave() Basic Functions of P2P Networks knowsone peer contacts bootstrapserver bootstrapserver position in the P2P network according to the structure: self-organization new node peer informs its “neighbors” and bootstrap server node failures detected by periodical updates or not answered requests: resilience
insert(key,data) retrieve(key) Basic Functions of P2P Networks (contd.) x key routes to peer y which stores data y y has (key,data) structure assigns responsibility for data based on hash function: load balancing performance improved by using shortcuts according to the known structure for a given key:scalability y responsible for (key,data) peer x wants to insert (key,data); using DHTs: key = hash(data) peer x searches for key x and asks its neighbors which redirect requests y sends data to x
Basic Function of P2P Content Distribution downloading peer 2 downloadingand providingpeer 1 • Main feature is multiple source download. • Peers issue several download requests for the same file to multiple providing peers in parallel. • Providing peers serve the requesting peers simultaneously. providingpeer After successfully downloading a whole chunk, it is provided to other peers. downloading peer 1 index server #2 index server #1 providingpeer providingpeer
Features of P2P Systems and Their Implications • Usually a large number of participating peers • Large-scale: a lot of nodes and even higher number of resources need to be simulated • Peers may arbitrary join or leave • Highly dynamic: a lot of user created event (due to churn, i.e. peers joining and leaving arbitrarily, as key feature of P2P systems) • Cooperative working of peers and robust systems • Complexity: • one event can cause a large number of events at other peers, i.e. system events, due to cooperation among peers • additionally periodic or provisional systems event to cope with the self-organization of p2p systems Target of Workshop: Focus on large-scale P2Pnetworks in order to consider key characteristics (e.g. regarding churn for 100 peers reasonable?)
Approach For Simulating Large-Scale P2P Systems • System state has to be stored at simulation machine • requires efficient data structures (e.g. calendar queue) • How to model in order to reduce the number of events? • Resource mediation might not require to model bandwidth, only signalling delay • Resource exchange might not require to model delay if large contents are exchanged; requires modelling of bandwidth • other performance influence factors: packet loss, moving users, … • appropriate abstractions & models for investigated application • Clustering of peers to user groups... • might allow parallel simulation of clusters
Workshop in Würzburg • Efficient Data Structures • Andreas Binzenhöfer, Calendar Queue and Event Design Algorithms • Jens Oberender, Modelling Resource Fragmentation • Abstractions and Models • Kolja Eger, Packet-based Simulation • Gerald Kunzmann, Signaling in Voice/Video over IP Systems • Daniel Schlosser, Tobias Hoßfeld, Periodic and Market-Based Bandwidth Allocation • Parallel Simulation • Ivan Dedinski, Parallel Discrete Event Simulation
Talks Today Hier könnte Ihr Name stehen !
Periodic and Market-Based Bandwidth Allocation ineDonkey Networks Tobias Hoßfeld, Daniel Schlosser
Measurements of eDonkey Traffic • Case-by-case measurements of eDonkey file-sharing application in public GPRS/UMTS network • Multiple source download via GPRS
UMTS upload restricts throughput UMTS download restricts throughput eDonkey Data Exchange via UMTS • Max-min-fair share of available bandwidth is observed • How to model the bandwidth allocation of fair-share P2P file-sharing applications?
Simulation of Fair-Share Bandwidth Allocation • Events which influence the bandwidth allocation are that a peer… • starts the download of a file • finishs a download • goes offline while downloading • continues downloading a file after joining the network again • We consider eDonkey-like file-sharing networks • Aim: Modeling of bandwidth allocation in fair-share networks Events t Dt Dt Dt Dt Dt Dt Dt Dt Dt Dt Dt Computation of allocated bandwidth t
Stream-based or packet-based approach? • TCP can be neglected if conditions are fulfilled (540 kB blocks) • Signaling vs. data exchange: RTT vs. bandwidth
What means fair-share? Peer 2 3 kbps Peer 3 11 kbps uploading Peer 1 40 kbps Peer 4 20 kbps Peer 5 40 kbps • All peers get the same bandwidth • If a peer cannot consume completely the allocated bandwidth, the surplus is distributed among the remaining peers 11 kbps 3 kbps 13 kbps 13 kbps
Periodic Bandwidth Allocation Peer 3 Peer 2 Peer 4 Peer 5 • For each Dt, for each peer: compute bandwidth allocation Allocated bandwidth can be overbooked or underbooked Peer 1
Market-Based Bandwidth Allocation • For each event, consider affected, i.e. connected, peers • All affected peers make a bid • Strategy • If there are no other bids, propose x = not allocated bandwidth / #peers • If minimal bid y of all affected peers is smaller than x, then keep bid y and compute x‘ • If all bids are larger than x, then bid x on these connections • Finish: If lower bid of a connection is the minimal bid of a peer and is repeated
Market-Based Bandwidth Allocation Downloading network links Uploading network links 20 NL3: 40kbps 15 3.333 NL4: 30kbps NL0: 10kbps 10 NL1: 10kbps 5 NL5: 10kbps 5 NL2: 80kbps NL6: 10kbps 20 10 NL7: 10kbps Initial bid: x = BW / #peers 40 NL8: 40kbps
MBBA Example Downloading network links Uploading network links 20 NL3: 40kbps 3.333 15 NL4: 30kbps 3.333 NL0: 10kbps 26.667 10 NL1: 10kbps 5 NL5: 10kbps 5 25 3.333 NL2: 80kbps 5 NL6: 10kbps 25 6.667 25 20 10 NL7: 10kbps If minimal bid y of all connected peers holds y<x, then set bid y and compute x‘ x = BW / #peers. If all y<x, keep x. 40 NL8: 40kbps
MBBA Example Downloading network links Uploading network links 20 NL3: 40kbps 3.333 NL4: 30kbps 3.333 NL0: 10kbps 26.667 10 NL1: 10kbps 5 NL5: 10kbps 25 3.333 NL2: 80kbps 5 NL6: 10kbps 25 6.667 25 10 NL7: 10kbps Finish: If lower bid of a connection is the minimal of a peer and is repeated 40 NL8: 40kbps
MBBA Example 25 5 25 25 Downloading network links Uploading network links NL3: 40kbps 3.333 NL4: 30kbps NL0: 10kbps 5 26.667 NL1: 10kbps NL5: 10kbps 24.444 NL2: 80kbps NL6: 10kbps 6.667 6.667 24.444 24.444 10 NL7: 10kbps Finish: If lower bid of a connection is the minimal of a peer and is repeated Minimal bid y<x, set y and compute x‘ 40 NL8: 40kbps
MBBA Example Downloading network links Uploading network links NL3: 40kbps 3.333 NL4: 30kbps NL0: 10kbps 5 26.667 NL1: 10kbps NL5: 10kbps 24.444 31.667 6.667 NL2: 80kbps NL6: 10kbps 10 24.444 31.667 24.444 10 NL7: 10kbps Finish: If lower bid of a connection is the minimal of a peer and is repeated If all y<x, keep x. 40 NL8: 40kbps
MBBA Example Downloading network links Uploading network links NL3: 40kbps 3.333 NL4: 30kbps NL0: 10kbps 5 26.667 NL1: 10kbps NL5: 10kbps 6.667 NL2: 80kbps NL6: 10kbps 31.667 36.666 10 NL7: 10kbps Finish: If lower bid of a connection is the minimal of a peer and is repeated 40 NL8: 40kbps
MBBA Example Downloading network links Uploading network links NL3: 40kbps 3.333 NL4: 30kbps NL0: 10kbps 5 26.667 NL1: 10kbps NL5: 10kbps 6.667 NL2: 80kbps NL6: 10kbps 10 NL7: 10kbps 36.666 NL8: 40kbps
Comparison PBA vs. MBBA • Exchange of small files
Comparison PBA vs. MBBA • Exchange of large files MBBA: computes and allocates immediately fair-share bandwidth -> in real systems this requires some time PBA: bandwidth overbooked or underbooked for Δt -> in next step bandwidth is adapted
Conclusion • For P2P content distribution networks, like eDonkey, resource access control is crucial point • Fair-share bandwidth allocation has to be modeled • We have proposed two stream-based approaches which are valid in the considered scenarios • Periodic bandwidth allocation PBA • Market-based bandwidth allocation MBBA • Depending on the number of events influencing the resource access control PBA or MBBA has to be preferred