Lightweight Emulation to Study Peer-to-Peer Systems Lucas Nussbaum - - PowerPoint PPT Presentation

lightweight emulation to study peer to peer systems
SMART_READER_LITE
LIVE PREVIEW

Lightweight Emulation to Study Peer-to-Peer Systems Lucas Nussbaum - - PowerPoint PPT Presentation

Introduction P2PLab Conclusion Lightweight Emulation to Study Peer-to-Peer Systems Lucas Nussbaum and Olivier Richard Laboratoire I nformatique et D istribution Laboratoire ID-IMAG MESCAL INRIA Project Grenoble, France Lucas Nussbaum and


slide-1
SLIDE 1

Introduction P2PLab Conclusion

Lightweight Emulation to Study Peer-to-Peer Systems

Lucas Nussbaum and Olivier Richard

Informatique et Distribution Laboratoire

Laboratoire ID-IMAG MESCAL INRIA Project Grenoble, France

Lucas Nussbaum and Olivier Richard Lightweight Emulation to Study Peer-to-Peer Systems 1 / 27

slide-2
SLIDE 2

Introduction P2PLab Conclusion

Outline

1

Introduction : Study of Peer-to-Peer Systems

2

P2PLab

3

Conclusion

Lucas Nussbaum and Olivier Richard Lightweight Emulation to Study Peer-to-Peer Systems 2 / 27

slide-3
SLIDE 3

Introduction P2PLab Conclusion Peer-to-peer systems Solutions for P2P Study Summary

Outline

1

Introduction : Study of Peer-to-Peer Systems Peer-to-peer systems Solutions for P2P Study Summary

2

P2PLab

3

Conclusion

Lucas Nussbaum and Olivier Richard Lightweight Emulation to Study Peer-to-Peer Systems 3 / 27

slide-4
SLIDE 4

Introduction P2PLab Conclusion Peer-to-peer systems Solutions for P2P Study Summary

Peer-to-Peer systems

Heterogeneous nodes (CPU, network) Non-persistent nodes Difficult (Impossible ?) to control ⇒ Hard to study (correctness, performance) and to understand

Lucas Nussbaum and Olivier Richard Lightweight Emulation to Study Peer-to-Peer Systems 4 / 27

slide-5
SLIDE 5

Introduction P2PLab Conclusion Peer-to-peer systems Solutions for P2P Study Summary

Solutions for P2P Study

cost accuracy Synthetic conditions Laboratory platforms Real systems Real applications Real systems Real applications Real platforms Real conditions

✁ ✂✄ ☎✆ ✝ ✝ ✝ ✞ ✞ ✞ ✟ ✟ ✟ ✠ ✠ ✠ ✡ ✡

Virtual platforms Key mechanisms of the systems (Algorithms...) Synthetic conditions Modeling systems & apps Modeling & Simulation Emulation Real Systems

Lucas Nussbaum and Olivier Richard Lightweight Emulation to Study Peer-to-Peer Systems 5 / 27

slide-6
SLIDE 6

Introduction P2PLab Conclusion Peer-to-peer systems Solutions for P2P Study Summary

Emulation

physical machine 4 physical machine 2 physical machine 1 physical machine 3 Virtualization on the nodes Emulated Network

Lucas Nussbaum and Olivier Richard Lightweight Emulation to Study Peer-to-Peer Systems 6 / 27

slide-7
SLIDE 7

Introduction P2PLab Conclusion Peer-to-peer systems Solutions for P2P Study Summary

Existing tools

Existing tools Modelnet, NetBed/Emulab, MicroGrid, PlanetLab Example : Modelnet

Modelnet Core Edge nodes

switch

switch Lucas Nussbaum and Olivier Richard Lightweight Emulation to Study Peer-to-Peer Systems 7 / 27

slide-8
SLIDE 8

Introduction P2PLab Conclusion Peer-to-peer systems Solutions for P2P Study Summary

Existing tools (2)

Example : PlanetLab 700 distributed nodes available as a testbed for distributed systems research. But : 700 « millions Nodes hosted by universities, research centers, big

  • corporations. "Real" Internet ?

Lucas Nussbaum and Olivier Richard Lightweight Emulation to Study Peer-to-Peer Systems 8 / 27

slide-9
SLIDE 9

Introduction P2PLab Conclusion Peer-to-peer systems Solutions for P2P Study Summary

Tools for emulation and virtualization

Network emulation Change network link characteristics (bandwidth, latency, congestion/packet loss) NIST Net (Linux 2.4 and 2.6) TC and Netem (Linux 2.6) Dummynet (FreeBSD) Virtualization Execute several instances of an application on the same physical system User Mode Linux VServer Xen

Lucas Nussbaum and Olivier Richard Lightweight Emulation to Study Peer-to-Peer Systems 9 / 27

slide-10
SLIDE 10

Introduction P2PLab Conclusion Peer-to-peer systems Solutions for P2P Study Summary

Summary

Solutions aim at very high accuracy

Efficiency ? Scalability ?

Virtualization of a full operating system

Really necessary for P2P systems ? (vertically integrated apps)

Network emulation targeting the network core

Really important for P2P systems ? (applications running on the edge of the Internet)

Lucas Nussbaum and Olivier Richard Lightweight Emulation to Study Peer-to-Peer Systems 10 / 27

slide-11
SLIDE 11

Introduction P2PLab Conclusion Intro Virtualization Network Evaluation Virtualization Scalability Fairness

Outline

1

Introduction : Study of Peer-to-Peer Systems

2

P2PLab Introduction P2PLab : process-level virtualization P2PLab : network emulation P2PLab : Evaluation Virtualization ratio Scalability Fairness of virtualization

3

Conclusion

Lucas Nussbaum and Olivier Richard Lightweight Emulation to Study Peer-to-Peer Systems 11 / 27

slide-12
SLIDE 12

Introduction P2PLab Conclusion Intro Virtualization Network Evaluation Virtualization Scalability Fairness

P2PLab : Introduction

Main idea light and efficient emulation system (good virtualization ratio) Targeting peer-to-peer systems specifically Key facts Uses FreeBSD 5 (for Dummynet) Process-level virtualization (by virtualizing the network identity) Decentralized network emulation for good scalability

Lucas Nussbaum and Olivier Richard Lightweight Emulation to Study Peer-to-Peer Systems 12 / 27

slide-13
SLIDE 13

Introduction P2PLab Conclusion Intro Virtualization Network Evaluation Virtualization Scalability Fairness

P2PLab : process-level virtualization

Affect an IP address to each process, for both clients and servers Modification of the Libc (bind(), connect() and listen()) to always issue a bind() on the address specified by $BINDIP sendto(), recvfrom(), sendmsg(), recvmsg() connect() listen() accept() socket() bind()

Lucas Nussbaum and Olivier Richard Lightweight Emulation to Study Peer-to-Peer Systems 13 / 27

slide-14
SLIDE 14

Introduction P2PLab Conclusion Intro Virtualization Network Evaluation Virtualization Scalability Fairness

P2PLab : network emulation

Uses interface aliases (minimal overhead) Manages network emulation on the nodes (input & output)

Limits bandwidth and adds latency for each virtual node Adds latency between groups of virtual nodes

Virtual Node 2.2 Output Filtering by Dummynet Input Filtering by Dummynet Virtual Node 1.2 Virtual Node 1.1 Node 3.1 Virtual Node 3.2 Virtual Virtual Node 2.1 Physical Node 2 Physical Node 1 Physical Node 3 Lucas Nussbaum and Olivier Richard Lightweight Emulation to Study Peer-to-Peer Systems 14 / 27

slide-15
SLIDE 15

Introduction P2PLab Conclusion Intro Virtualization Network Evaluation Virtualization Scalability Fairness

Emulation of network topologies

100ms 100ms 400ms 1s 600ms 1000 nodes 10.2.0.0/16 latency : 5ms bandwidth : 10 Mbps 250 nodes 56kbps/33.6kbps bandwidth : latency : 100ms 10.1.1.0/24 1000 nodes bandwidth : 1 Mbps latency : 10ms 10.3.0.0/16 250 nodes 8 Mbps/1Mbps bandwidth : latency : 20ms 10.1.3.0/24 250 nodes 512 kbps/128kbps bandwidth : latency : 40ms 10.1.2.0/24 10.1.0.0/16 100ms Lucas Nussbaum and Olivier Richard Lightweight Emulation to Study Peer-to-Peer Systems 15 / 27

slide-16
SLIDE 16

Introduction P2PLab Conclusion Intro Virtualization Network Evaluation Virtualization Scalability Fairness

P2PLab : Evaluation

Virtualization ratio

How many virtual machines on each physical machine ?

Scalability ?

Experiments with a large number of nodes ?

Fairness of virtualization ?

Which level of fairness between two processes from the same physical node ?

Lucas Nussbaum and Olivier Richard Lightweight Emulation to Study Peer-to-Peer Systems 16 / 27

slide-17
SLIDE 17

Introduction P2PLab Conclusion Intro Virtualization Network Evaluation Virtualization Scalability Fairness

P2PLab : Evaluation (2)

BitTorrent popular file-sharing protocol each client gets a list of peers from the tracker, then connects to them directly and exchanges pieces of a file Largely studied through modelling, simulations and runs on real systems very complex, difficult to study it accurately Evaluation system GridExplorer cluster (part of the Grid’5000 project) ˜200 bi-Opteron 2 Ghz, 2GB of RAM, gigabit ethernet network

Lucas Nussbaum and Olivier Richard Lightweight Emulation to Study Peer-to-Peer Systems 17 / 27

slide-18
SLIDE 18

Introduction P2PLab Conclusion Intro Virtualization Network Evaluation Virtualization Scalability Fairness

Virtualization ratio

Download of a 16 MB file with BitTorrent 160 downloaders Started every 10 seconds Network settings : 2 mbps down, 128 kbps up, latency 30 ms On 160 physical nodes, then 16, then 8, then 4, then 2.

Lucas Nussbaum and Olivier Richard Lightweight Emulation to Study Peer-to-Peer Systems 18 / 27

slide-19
SLIDE 19

Introduction P2PLab Conclusion Intro Virtualization Network Evaluation Virtualization Scalability Fairness

Virtualization ratio (2)

500 1000 1500 2000 2500 3000 500 1000 1500 2000 total amount of data received by clients (MB) time (s) 1 client per physical node 10 clients per physical node 20 clients per physical node 40 clients per physical node 80 clients per physical node

Lucas Nussbaum and Olivier Richard Lightweight Emulation to Study Peer-to-Peer Systems 19 / 27

slide-20
SLIDE 20

Introduction P2PLab Conclusion Intro Virtualization Network Evaluation Virtualization Scalability Fairness

Virtualization ratio (3)

Download of a 16 MB file with BitTorrent 160 downloaders Started every 10 seconds Network settings : 2 mbps down, 128 kbps up, latency 30 ms On 160 physical nodes, then 16, then 8, then 4, then 2. ⇒ No visible overhead even with 80 clients per physical node ⇒ First limiting factor : performances of the underlying network

Lucas Nussbaum and Olivier Richard Lightweight Emulation to Study Peer-to-Peer Systems 20 / 27

slide-21
SLIDE 21

Introduction P2PLab Conclusion Intro Virtualization Network Evaluation Virtualization Scalability Fairness

Scalability

Download of a 16 MB file using BitTorrent Between 5760 peers (5755 downloaders, 4 seeders, 1 tracker) Started every 0.25s On 5760/32 = 180 nodes Network settings : 2 mbps down, 128 kbps up, latency 30 ms Clients displayed on the graph : no 0, 50, 100 ... 5750.

Lucas Nussbaum and Olivier Richard Lightweight Emulation to Study Peer-to-Peer Systems 21 / 27

slide-22
SLIDE 22

Introduction P2PLab Conclusion Intro Virtualization Network Evaluation Virtualization Scalability Fairness

Scalability (2)

20 40 60 80 100 500 1000 1500 2000 2500 percentage done on each client time (s)

Lucas Nussbaum and Olivier Richard Lightweight Emulation to Study Peer-to-Peer Systems 22 / 27

slide-23
SLIDE 23

Introduction P2PLab Conclusion Intro Virtualization Network Evaluation Virtualization Scalability Fairness

Fairness of virtualization

Question Which level of fairness can be expected between two processes from the same physical machine ? Experiment Starting a process every second When alone, needs 12 seconds to complete Result : time needed for each process to complete

Lucas Nussbaum and Olivier Richard Lightweight Emulation to Study Peer-to-Peer Systems 23 / 27

slide-24
SLIDE 24

Introduction P2PLab Conclusion Intro Virtualization Network Evaluation Virtualization Scalability Fairness

Fairness of virtualization (2)

200 400 600 800 1000 1200 10 20 30 40 50 60 70 80 90 100 run time (s) process no ULE Scheduler 4BSD Scheduler Linux 2.6

Lucas Nussbaum and Olivier Richard Lightweight Emulation to Study Peer-to-Peer Systems 24 / 27

slide-25
SLIDE 25

Introduction P2PLab Conclusion

Outline

1

Introduction : Study of Peer-to-Peer Systems

2

P2PLab

3

Conclusion

Lucas Nussbaum and Olivier Richard Lightweight Emulation to Study Peer-to-Peer Systems 25 / 27

slide-26
SLIDE 26

Introduction P2PLab Conclusion

Conclusion

Emulation is an interesting tool when studying peer-to-peer systems

Heavy virtualization and emulation is not always needed

... and P2PLab is a useful emulation system, using a simple approach Still needs a lot of work :

Comparison with other tools (Modelnet, NetBed/Emulab, MicroGrid, PlanetLab) Comparison with classical topology generators

What’s the importance of congestion in the Internet core for P2P systems ?

Virtualization and fairness Move to Linux ? Realistic parameters for experiments ?

Node failure and departure, varying network conditions

Lucas Nussbaum and Olivier Richard Lightweight Emulation to Study Peer-to-Peer Systems 26 / 27

slide-27
SLIDE 27

Introduction P2PLab Conclusion

Questions ?

Q : Is P2PLab available ?

A : Currently, no A : But I’m interested in collaborations : if you have a working prototype you would like to evaluate using P2PLab, contact me (lucas.nussbaum@imag.fr) !

Other questions ?

Lucas Nussbaum and Olivier Richard Lightweight Emulation to Study Peer-to-Peer Systems 27 / 27