BitTorrent Multicomputer Client

The idea:
Lets say you have n computers in a LAN with the client installed and you want to download a torrent that is 10GB this client would be able to distribute the pieces of the torrent among the n computers in the most evenly possible way.

Once all computers are done the pieces are sent to a single computer and put together to get the full torrent.

Would something like this be possible?
Would something like this be possible?


I'm not that familiar with the torrent protocol, but you'd probably need to have one of the computers act as a server and dish out the pieces to the other machines.

But yeah I'm sure it could be done.


The real question, though... is why would you want to do this? It would do nothing but complicate the process and slow it down.
If you mean that each computer downloads in parallel it's not possible. If they are all in a LAN they share the same bandwidth.
Well, actually it may be possible, but useless.
Last edited on
@maeriden:

I think we're thinking the same thing.

Technically it'd possible to do what he's asking. But it wouldn't have the result he's hoping for.

If you split a 20mbps internet connection evenly across 5 PCs.. you'll get 5 PCs with 4mbps each. It won't make the download go any faster... the only thing it'll do is scatter your data all over the place.

(And in fact, it would be slower because you'd have to do the additional work of moving all the data back to one host PC when it's all downloaded -- on top of the additional overhead of doing all this splitting).


EDIT:

The bottleneck with torrents usually isn't download speed anyway. It's usually the other people's upload speeds. At least in my experience.
Last edited on
Disch wrote:
The real question, though... is why would you want to do this?
My guess is he wants each system to download a separate part of the file to be reassembled.

@maeriden
Whether the downloading systems are on a lan shouldn't matter, I don't think he is worried about bandwidth, but rather time.
The problem is probably going to be the torrent server, for this to work the server would need to split the data evenly between thee systems. I don't know if it is possible, but seems unlikely to me.
The problem is probably going to be the torrent server,


There aren't any central torrent servers. That's the whole gimmick. The entire thing is client to client.

(EDIT: Unless you were talking about the local server -- like the same thing I'm talking about below.)


EDIT:

Allow me to correct/clarify:

I wrote:
but you'd probably need to have one of the computers act as a server and dish out the pieces to the other machines.


What I mean by this... is you need one computer to tell the other computers which pieces to download. IE, one computer would have to act as the "server" to keep track of which client is downloading which pieces.

This does not mean you would have to download everything in the 'server'.
Last edited on
Actually we want to max bandwidth usage because one computer downloads at say 1mbps and 5 still download at 1mbps.

But yeah we were thinking we would need a sort of server to coordinate everything on our side.
Actually we want to max bandwidth usage because one computer downloads at say 1mbps and 5 still download at 1mbps.


I'm assuming all 5 are sharing the same connection (ie: through a router)

If that's the case... this is very fishy. I'm not sure I believe it.

How are you measuring this?


EDIT:

Unless your router is capping your bandwidth per machine. Try disconnecting your router and have one machine hooked up to the modem directly. If you get a speed boost then your router might be doing some bandwidth throttling... in which case it's probably a setting you can change.


EDIT2:

The torrent client you're using might also be throttling (many do this so running them doesn't prevent you from browsing the net at the same time). Look at those settings as well and make sure you aren't capping your download speed.
Last edited on
Connected through a switch, but yeah same network.

We haven't really measured it with test just our average use of it, but believe me it is pretty much accurate maybe not 1mbps but 750kbps.
I might have ninja'd some edits in there that you didn't see. Check my last post again to make sure you saw them.

Connected through a switch, but yeah same network.


Yeah okay. I get routers/switches mixed up a lot.

We haven't really measured it with test


This should be the first thing you do before you do anything further.

1) Find out the speed of your connection as a whole (ie: only one machine pulling from it with minimal parts in the way... remove routers/switches/etc... connect to the modem directly).

2) Find out the speed of your connection on all machines when all are pulling from it simultaneously.


The sum of the speeds from #2 cannot possibly exceed the speed indicated by #1. Adding more computers to a network does not magically improve your bandwidth.

If the sum of #2 is significantly less than #1, then you have a configuration problem in your modem, switch, or router... where too much bandwidth is being throttled.



Writing a new torrent client from scratch is not a small or easy task. And in this case I think you'd be very disappointed with the results. I'm just trying to help you save some time and effort here.
Last edited on
What I mean by this... is you need one computer to tell the other computers which pieces to download. IE, one computer would have to act as the "server" to keep track of which client is downloading which pieces.


Not really. At least that's not how BitTorrent works. BitTorrent works by sending out a 'tracker' with each new peer. The tracker has a list of participating peers. Peers then send out requests to other peers it knows about by the tracker for what 'chunks' of the file they all own.

The server doesn't really care who has what - That's up to the clients to figure out amongst themselves.
Yeah I know. What I meant was one of his clients would have to act as a local server.

If he has 4 different clients downloading the same torrent... one client is going to have to keep track of who is downloading what so they don't overlap and download the same parts. That client would be the local server.
Well thanks for the input it looks like we have some test to do.
Naraku wrote:
Whether the downloading systems are on a lan shouldn't matter, I don't think he is worried about bandwidth, but rather time.
Download time is tied to avaiable bandwidth.
Or did I misunderstand?
maeriden wrote:
Or did I misunderstand?
No, I think I did.
Topic archived. No new replies allowed.