Looking for opinions: Does multi-thread downloading result in higher download speed?

This is a discussion on Looking for opinions: Does multi-thread downloading result in higher download speed? within the Windows Programming forums, part of the Platform Specific Boards category; I have been working on a download manager for a while now, and I am wondering if multi-thread downloads, which ...

  1. #1
    RND
    RND is offline
    Registered User
    Join Date
    Jan 2002
    Posts
    6

    Looking for opinions: Does multi-thread downloading result in higher download speed?

    I have been working on a download manager for a while now, and
    I am wondering if multi-thread downloads, which some refer to
    as download acceleration, actually speeds up the rate at which
    files are downloaded.

    Let me try to make it clear what I am talking about. I am referring to
    the process of establishing multiple connections to a server in
    order to download, at the same time, difference parts of one file.
    (some download managers establish up to 25 connections).
    The theory is that this forces windows to use all available bandwidth,
    which it doesn't do normally, to download the different parts of
    the same file, thus increasing download spead -- at least I think
    that is what the theory is.

    Would it really be worth adding this feature to my download manager?

  2. #2
    and the hat of wrongness Salem's Avatar
    Join Date
    Aug 2001
    Location
    The edge of the known universe
    Posts
    32,541
    Only if you consider network abuse to be a good thing.

    > some download managers establish up to 25 connections
    If the FTP server in question allows 25 connections, then making that many connections to it will deny up to 24 other people from accessing that server while you're being a greedy pig.
    If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
    If at first you don't succeed, try writing your phone number on the exam paper.
    I support http://www.ukip.org/ as the first necessary step to a free Europe.

  3. #3
    RND
    RND is offline
    Registered User
    Join Date
    Jan 2002
    Posts
    6
    Quote Originally Posted by Salem
    Only if you consider network abuse to be a good thing.

    > some download managers establish up to 25 connections
    If the FTP server in question allows 25 connections, then making that many connections to it will deny up to 24 other people from accessing that server while you're being a greedy pig.

    The obvious abuse aside, most download managers include this feature.
    So, if I am going to convince people to use a download manager
    that lacks multi-thread downloading, I will need to come up with
    something more compelling than the "greedy pig" argument.


    During my tests with download managers, multi-thread downloading didn't
    result in noteworthy download speed increases under several conditions.
    That is why I asked the questions in the first place. I was wondering
    if anyone has any hard evidence proving the overall ineffectiveness of
    this technique. Otherwise, I am facing a serious quandary.

  4. #4
    Registered User
    Join Date
    Mar 2005
    Posts
    22
    Just out of curiosity. How do you do this?

    I'm guessing you'd use the "resume" features of the ftp protocol? so you'd just tell the server to resume at say half way into the file?

  5. #5
    Yes, my avatar is stolen anonytmouse's Avatar
    Join Date
    Dec 2002
    Posts
    2,544
    The theory is that this forces windows to use all available bandwidth,
    which it doesn't do normally, to download the different parts of
    the same file, thus increasing download spead -- at least I think
    that is what the theory is.
    Windows will use all the bandwidth that is available. What multi-threading downloading does is increase your share of the server's bandwidth. For example, consider a server with 1Mb of total bandwidth. If it is serving 100 connections, each will get an average of 10Kb each. So, if you have five connections running concurrently, you will get roughly 50Kb of bandwidth instead of the 10Kb with one connection. Of course, this reduces the bandwidth to all the other clients, limits the total number of clients and puts extra strain on the server. But, who cares about playing fair if you can download porn faster! Some sites explicitly ban download accelerators.

    Even so, most other download accelerators implement this "feature", so if you want yours to be adopted you will have to follow the pack.

    http://www.linuxforum.com/forums/ind...0&#entry691312
    http://www.google.com/search?q=banni...tors%22+apache

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Thread Synchronization in Win32
    By passionate_guy in forum C Programming
    Replies: 0
    Last Post: 02-06-2006, 04:34 AM
  2. [code] Win32 Thread Object
    By Codeplug in forum Windows Programming
    Replies: 0
    Last Post: 06-03-2005, 03:55 PM
  3. Win32 Thread Object Model Revisted
    By Codeplug in forum Windows Programming
    Replies: 5
    Last Post: 12-15-2004, 07:50 AM
  4. Simple thread object model (my first post)
    By Codeplug in forum Windows Programming
    Replies: 4
    Last Post: 12-12-2004, 10:34 PM
  5. Problem : Threads WILL NOT DIE!!
    By hanhao in forum C++ Programming
    Replies: 2
    Last Post: 04-16-2004, 01:37 PM

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21