390 likes | 502 Views
28/02/2008. MAESTRO/PLANETE INFORMEL SEMINARY. BitHoc: BitTorrent for wireless ad hoc networks. Mohamed Karim Sbaï. Jointly with: Chadi Barakat Jayeoung Choi Anwar Al Hamra Thierry Turletti. EPI PLANETE. Wireless ad hoc networks.
E N D
28/02/2008 MAESTRO/PLANETE INFORMEL SEMINARY BitHoc: BitTorrent for wireless ad hoc networks Mohamed Karim Sbaï Jointly with: Chadi Barakat Jayeoung Choi Anwar Al Hamra Thierry Turletti EPI PLANETE
Wireless ad hoc networks • No central administration • No base station • Nodes are both hosts and routers • Need for multi-hop routing approaches • The connectivity is ensured thanks to the collaboration of nodes in forwarding and routing messages of each others • It is the P2P paradigm in the network layer.
P2P file sharing applications • No central server • Users are both clients and servers : They download content and share some of their upload capacity to serve other users. • The global capacity of the system grows thanks to their collaboration. • This is the P2P paradigm in the overlay.
P2P file sharing in wireless ad hoc networks : constraints • Routing overhead • Transport protocols performance drops seriously in wireless multi-hop paths • P2P file sharing solutions are topology unaware : Overlay neighbors are selected independently of their locations. How will such applications perform in wireless ad hoc networks ? What are the modifications (namely in overlay construction) to be made to ameliorate both download time and sharing ratios ?
Outline • Overview of BitTorrent • Framework, scenario and assumptions • Performance metrics • Impact of the size of pieces • Impact of the scope of the neighborhood • BitHoc: Our solution • Choking algorithm • Piece selection strategy • Some first results • Choice of parameters and new results. • Conclusions and future work
Outline • Overview of BitTorrent • Framework, scenario and assumptions • Performance metrics • Impact of the size of pieces • Impact of the scope of the neighborhood • BitHoc: Our solution • Choking algorithm • Piece selection strategy • Some first results • Choice of parameters and new results. • Conclusions and future work
BitTorrent (1/2) • a P2P efficient content distribution protocol • Peer lookup: • A Client contacts a central rendezvous node named Tracker to get addresses of other clients • Sharing content: • A file is cut into pieces (multi-sourcing) • Each client shares some of its upload bandwidth with other clients • Torrent : peers cooperating to download the same content • Seed : a peer who finished downloading the content and still serving other peers • leecher : peer who is downloading the file
BitTorrent (2/2) • Choking algorithm: A peer chooses periodically a set of peers with whom it opens TCP connections to upload pieces. Only 4 simultaneous connections: 3 best uploaders + 1 a random peer (discovering new upload capacities ) Enforce cooperation and reciprocity among peers • Piece selection strategy:When a peer receives a piece offer message from a neighbor, it selects the rarest piece in the peer list. This increases the entropy of pieces in the network and then the chance to replicate pieces after downloading them.
Outline • Overview of BitTorrent • Framework, scenario and assumptions • Performance metrics • Impact of the size of pieces • Impact of the scope of the neighborhood • BitHoc: Our solution • Choking algorithm • Piece selection strategy • Some first results • Choice of parameters and new results. • Conclusions and future work
Framework, scenario and assumptions Assumptions • All nodes are peers • No mobility in the network • Trackerless BitTorrent : a flooding of HELLO messages to discover all peers in the network. Framework • We added a module to NS-2 implementing BitTorrent functionalities.
Framework, scenario and assumptions Ad hoc scenario • A grid topology of N nodes (10 per row) (distance = 40 m between nodes) • No mobility of nodes • DSDV proactive routing protocol • 802.11 MAC Layer with RTS/CTS-DATA/ACK • Data rate = 1 MB/s, range = 50 m BitTorrent Scenario • 1 file = 10 Mbit • 1 original seed • Choking period = 40 s • Flooding TTL = variable • Number of pieces = variable, number of blocks = variable • Block size = 1 KB
Outline • Overview of BitTorrent • Framework, scenario and assumptions • Performance metrics • Impact of the size of pieces • Impact of the scope of the neighborhood • BitHoc: Our solution • Choking algorithm • Piece selection strategy • Some first results • Choice of parameters and new results. • Conclusions and future work
Performance metrics of BitTorrent in ad hoc networks • Rij : sharing ratio between i and j • Ri: sharing ratio of node iRi = average on j of Rij( Uij<>0 or Dij<>0) • Rh: average on nodes i located at h hops from the original seed of Ri • Fi : finish time of peer i. • Fh: average on nodes i located at h hops from the original seed of Fi
Outline • Overview of BitTorrent • Performance metrics • Framework, scenario and assumptions • Impact of the size of pieces • Impact of the scope of the neighborhood • BitHoc: Our solution • Choking algorithm • Piece selection strategy • Some first results • Choice of parameters and new results. • Conclusions and future work
Impact of the size of pieces • Flooding TTL = MAX • Small piece size = 100 blocksBig piece size = 1000 blocks • Finish time as a function of number of hops to the seed (Fh):
Impact of the size of pieces • Average sharing ratio as a function of number of hops to the seed (Rh):
Impact of the size of pieces • Average sharing ratio per couple of nodes for big size of pieces • Average sharing ratio per couple of nodes for small size of pieces
Outline • Overview of BitTorrent • Framework, scenario and assumptions • Performance metrics • Impact of the size of pieces • Impact of the scope of the neighborhood • BitHoc: Our solution • Choking algorithm • Piece selection strategy • Some first results • Choice of parameters and new results. • Conclusions and future work
Impact of the scope of the neighborhood • Flooding TTL = variable • piece size = 100 blocks = small • Finish time as a function of number of hops to the seed (Fh) for different TTLs:
Impact of the scope of the neighborhood • Average sharing ratio as a function of number of hops to the seed (Rh):
Outline • Overview of BitTorrent • Framework, scenario and assumptions • Performance metrics • Impact of the size of pieces • Impact of the scope of the neighborhood • BitHoc: Our solution • Choking algorithm • Piece selection strategy • Some first results • Choice of parameters and new results. • Conclusions and future work
BitHoc: Our solution • Reduced neighborhood + a few connections to far peers good TCP performance in near neighborhood and more entropy of pieces for better sharing. • Peers are classified into 2 tables :NNT : Nearby Neighbors Table (hops <=2)FNT : Far Neighbors Table (hops > 2) • We redefine the choking algorithm and the piece selection strategy
Outline • Overview of BitTorrent • Framework, scenario and assumptions • Performance metrics • Impact of the size of pieces • Impact of the scope of the neighborhood • BitHoc: Our solution • Choking algorithm • Piece selection strategy • Some first results • Choice of parameters and new results. • Conclusions and future work
BitHoc: Choking algorithm • 3 best uploaders from NNT and FNT • 1 randomly: q times from NNT and 1 time from FNT- uniformly from NNT- probability p to choose a node at h hops in FNT (hm : max hops)ifthenelse 0
Outline • Overview of BitTorrent • Framework, scenario and assumptions • Performance metrics • Impact of the size of pieces • Impact of the scope of the neighborhood • BitHoc: Our solution • Choking algorithm • Piece selection strategy • Some first results • Choice of parameters and new results. • Conclusions and future work
BitHoc: Piece selection strategy • Offer from NNT Rarest first in near neighborhood • Offer from FNT Absent piece strategy = accept only pieces that do not exist in near neighborhood • PIECE UPDATE messages need only to be sent to peers in NNT.
Outline • Overview of BitTorrent • Framework, scenario and assumptions • Performance metrics • Impact of the size of pieces • Impact of the scope of the neighborhood • BitHoc: Our solution • Choking algorithm • Piece selection strategy • Some first results • Choice of parameters and new results. • Conclusions and future work
BitHoc: Some first results • Finish time as a function of number of hops to the seed (Fh):
BitHoc: Some first results • Average sharing ratio as a function of number of hops to the seed (Rh):
Outline • Overview of BitTorrent • Framework, scenario and assumptions • Performance metrics • Impact of the size of pieces • Impact of the scope of the neighborhood • BitHoc: Our solution • Choking algorithm • Piece selection strategy • Some first results • Choice of parameters and new results. • Conclusions and future work
BitHoc: Static choice of q • We establish an empiric formula for q: q = number of slots near / number of slots far Goal: send a copy of each piece to the end of the network and wait for it to return to the middle of the network. αi : average number of pieces sent at i hops in a choking slot.
BitHoc: Static choice of q • Finding optimal q by simulations: q = 1 for 40 nodes q = 3 for 80 nodes
BitHoc: Static choice of q • Validation of the empiric formula:
BitHoc: dynamic choice of q • Topology, network conditions, etc can change each node adapts its q dynamically following its observations.
Comparing static to dynamic choice of q: average finish time BitHoc: dynamic choice of q
Comparing static to dynamic choice of q: average sharing ratio BitHoc: dynamic choice of q
Outline • Overview of BitTorrent • Framework, scenario and assumptions • Performance metrics • Impact of the size of pieces • Impact of the scope of the neighborhood • BitHoc: Our solution • Choking algorithm • Piece selection strategy • Some first results • Choice of parameters and new results. • Conclusions and future work
Conclusions and future work • BitHoc gives better finish times and better sharing ratios than other solutions even those limiting the scope of the neighborhood • BitHoc finds a good management of neighbor and piece selection strategies • Good performance in near neighborhood • Better entropy by adding some few connections to far nodes • Only absent pieces are sent to far nodes • Future work: • Impact of mobility of nodes • Studying the case of sparse overlays • Optimizing lookup in wireless ad hoc networks • Real implementation and testing of the protocol
THANK YOU ? E-mail:Mohamed_Karim.Sbai@sophia.inria.fr