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
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.
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