Hebrew University
Computer Science
DANSS Lab

Home

Julia simulation

Download

Usage

Metrics

Screen shots

 

 

 

 

 

 

Description | The statistics | Author / Advisor

Description

In a network using multicasts distribution, participating peers organize themselves into an overlay topology for data delivery. Each edge in the topology corresponds to a unicast path between two peers in the underlying Internet. Once a message is ready to be sent, it is splited to chunks and they can be distributed using different algorithms.

As part of a simulation done at the Danss lab, you will find here the results comparing BitTorrent to Julia's algorithm. Below is a short description on each of them.

BitTorrent:

Instead of downloading the entire file, the message is broke to chunks and distributed among several participating users. When one downloads a chunk of the message, he is also uploading it to another user. The overlay topology is built as follow; each node picks a number of neighbors out of the pool of nodes. Uploads and downloads are only done using those neighbors only.
Once the topology is built, each node downloads from a small number of nodes (4 by default) concurrently. The fifth connection is chosen among the neighbors by its bandwidth.

Every certain time frame, the slower one out of the downloading nodes (5th in the figure below) is replaced by the probing node if it has a higher bandwidth..
The message part sent to the neighbors is the rarest in the overlay.


Julia

This algorithm distributes messages on a topology. Julia's main advantage is related to its high resilience adeptness. There isn't a predefined topology, therefore disconnection of nodes from the network doesn't have an impact on its efficiency.
It also minimize some resources (linkstress) choosing the closest neighbors to send and receive the file parts. Finally, Julia has a unique neighboring selection algorithm which helps to recursively distribute the file parts into smaller clusters.

Using Julia's algorithm, nodes of the topology are selected differently from Bit-Torrent's algorithm. The algorithm decides which nodes to relay next based on their proximity.
At the start of the download, nodes are picked at random. As the download advances, closer and closer nodes are selected based on the file progress.
This is the first algorithm which takes the file progress into consideration.
Another variant is called 'Exponential Distribution'. It is also related to the download
progress of the file though unlike the previous case, neighbors are chosen basing on
the exponential function 'Spatial Distribution' variant is used to pick nodes based on their distance using commutative spatial distribution (as done in spatial gossip).



The message part sent to the neighbors is the rarest in the overlay.
Please see the metrics' page for further details on Julia's variants.

Parameters measured:

Link Stress : The number of time the packet used an edge to send the packet from one place to another.

Work : Link stress x (Latency)

RDP : Relative Delay Penalty

Latency : The delay introduced from the time a packet is sent to the time he is being received.

Bandwidth: The transfer capacity of an edge of the graph which is representing the network.

The code was written in Java.

The results

Simulation running on the Tue Sep 13 19:16:22
End Time: Sep 13 22:58:33
Number of runs: 10
Numbers of algorithms: 3 (BIT-TORRENT, JULIA – STEP and JULIA E^(-x) )
Nodes of the graph: 600
Participating nodes: 80
Number of neighbors to each node: 15
Downloading neighbors: 5

More graphs are available comparing the RDP, the link stress, the end time, and the fair share of the algorithms.

Author

The author is Keren Ouaknine. Thanks to Danny Bickson for his precious guidance.

For questions and support you are welcome to send mail to Keren Ouaknine or Danny Bickson .

 

 

Original site design by Pegasus Web Design Resources, modified by Keren Ouaknine