Abstract

The internet is taking up an ever-increasing role in our life. Undoubtly, one of the biggest playing fields in this respect is the multimedia sector. Music, movies and television are increasingly made available through websites.

In doing this, the limits of current internet technology are beginning to show itself. The server-client model which has for years been the basis of the internet is unable to cope with the large amounts of simultaneous request when a new, popular piece of content becomes available.

At the same time, peer-to-peer networks have become a popular method of distributing content of those types and protocols have been developed capable of dealing with such flash crowds with much more ease. The most notable of these is the BitTorrent protocol.

One of the goals of the Tribler project is to use the BitTorrent protocol for content distribution, instead of a classic server. To do this, a server would have to run a so-called `superseeder' which would have a large amount of content available and make this available through these means.

The goal of this thesis was to see how the current version of the Tribler software can cope with the large amount of files needed under such use.

To do this, tests were run seeding large sets of files, while keeping track of progress and memory usage over time. Both startup time and memory usage turned out to be erratic when large numbers of files were used.

For the first problem, unpredictable startup times, a solution was presented by making some corrections to the code.

For the second problem, large and erratic memory usage, several possible causes were evaluated, but the exact cause could not be determined.

In the end, several suggestions for future research were presented, as well as alternative solutions for the application.


Attachments:
thesis.zip: TeX and eps files for thesis document (Also contains PDF version)
rawresults.zip: Raw result data from tests. Also contains scripts to convert them to gnuplot readable files, and the gnuplot files themselves.
scripts.zip: Scripts used to run the tests with btlaunchmany.py

Attachments