Jump to content

Prioritising Downloads - One by One or different Priority Modes?


arcuser

Recommended Posts

Yes it has been requested before, priority of downloads, or queuing

and its been said that its bad... but its not really.

Issue 1:

Prioritise downloads so that one finishes another begins, so downloads are in pause mode until they reach their place in queue. Other clients have done/do this, so why not uTorrent?

Issue 2:

If downloading and uploading many torrents at once, how does uTorrent decide which torrents receive most of your download/upload speed?

It seems to allocate this itself, and on starting, the one that has the fastest down/up speed seems to hog it all for a while until it starts to even out a little.

At the minute there is the priorities: low/normal/high (and also when you initially open a torrent, it asks if you want to give "Highest Priority" though I've never seen this one making any difference tbh)...

How about extending those priorities, or instead of having only 3 priorities, have priorities of 1-5 or even 1-10? This way it could spread out the bandwidth based on the priority it has been set?

Any thoughts?

EDIT: Forgot to mention, I'd been running a few tests, and in some cases noticed very little difference in setting priority modes low/normal/high on some torrents... as even some torrents set to low are taking most of the bandwidth. Is this because I am using several torrents from the same tracker or because it has so many peers to grab pieces from?

What about some sort of priority system whereby uTorrent can analyse your average/overall down/up speed, and based on this, develops a priority system of 1-10, so it creates an average of speeds that are allowed on each torrent based on these priorities (give or take a few Kb/s?)

Sounds reasonable, but is it creatable?

Link to comment
Share on other sites

Yes it has been requested before, priority of downloads, or queuing

Then why are you starting a new thread?

On second thought, don't answer that. It's against the rules anyway.

Preferences -> Queueing

Setting "Seeding Tasks have a higher priority than downloading tasks" to be on will force a torrent to be finished seeding before the next download task starts. If you have your active downloads and active torrents set to 1 each, you will only have 1 torrent active at a time.

Sequential downloading within a batch causes piece distribution skews that don't get resolved until a 1.5:1 upload:download ratio (on the good days).

Link to comment
Share on other sites

Maximum number of active torrents: 1

Maximum number of active downloads: 1

Setting "Seeding Tasks have a higher priority than downloading tasks" to be on will force a torrent to be finished seeding before the next download task starts. If you have your active downloads and active torrents set to 1 each, you will only have 1 torrent active at a time.

I don't see how this really solves the 'many' torrents upping/downing problem, although 1 at a time fair enough, but it means (in theory) you can't down until 1 has finished seeding

anyway:

Sequential downloading within a batch causes piece distribution skews that don't get resolved until a 1.5:1 upload:download ratio (on the good days)

Fair answer, which answers the one by one scenario, but what about the 1-5 or 1-10 priority scenario?

Surely this shouldnt be difficult, if at present there is a 3 priority mode (low/normal/high) to be at its best (I've no idea how it works), but I would have it working on a mathematical equation, which if you tell it your max bandwidth, it should be able to prioritise appropriately for each number given (1-5 or 1-10) based on the averages, also based on your max bandwidth.

Surely this would only be a matter of extending it (to 1-5 or 1-10) and tweaking its performance slightly?

Link to comment
Share on other sites

Sequential downloading within a batch torrent, regardless of the priority model being used, is not part of the protocol. With an increased number of priority options used, it actually would make piece distribution worse, since it would cause even more problems with the skew of piece distribution within the swarm.

Most current residential broadband connections are not fast enough for much more than 1 torrent at a time anyway. At most, the typical broadband connection is only really capable of 1 downloading and 1 seeding task at a time.

BitTorrent is not a traditional peer to peer file sharing protocol. It is a downloader-supplemented mirror management protocol.

Link to comment
Share on other sites

Well that is definitely disappointing.

I am managing to use it reasonably well 'as that traditional peer to peer file sharing' protocol, with more than 1 downloading and 1 sharing reasonably well, and have been doing so for a long long time.

All I was wanting was a tweak for 1 or 2 which maybe hogged bandwidth occasionally.

At least its working reasonably well as it is now, could be worse :)

Link to comment
Share on other sites

Slightly different idea, but along similar lines :-

I have noticed that changing the priority of a torrent often has an instant effect on its download speed. It also seems that the change itself is more important than the direction of the change in priority. In particular, if a torrent has been priority one for long enough, dropping the priority very often seems to give it a kick in the right direction. I have no idea why this could be, I am new to this. The effect seems more pronounced with bittorrent than with utorrent (I started using BT last week, and have moved to utorrent to cope with DHT).

I am currently running 20 concurrent DHT torrents, the average dl is about 2/3 of my bandwidth. I'm speculating that automating the priorities might produce a higher overall average speed..... ?

maybe the algorithm could go something like this :-

initial priority is just the order the torrents are added

wait some time step (a settable parameter) and record the speeds

identify the fastest torrent and the slowest torrent

if the fastest has a lower priority than the slowest swap the priorities

(other kinds of swap to go here e.g. ....

check the changes since the last speed record :-

any high priority torrent which has slowed (by more than some parameter) gets a lower priority

any low prioity torrent which has slowed (by more than ditto) gets a higher priority

any torrent with no change (within some delta) gets moved up the priority list (so it can be moved down later if necessary)

//and whatever else you can think of

)

back for the next time step.

?

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...