Jordan has been kind enough to commit my experimental "alternate congestion control" patch to Transmission in r10508. Here's a little background.
(As usual — this message does not reflect an official opinion of the Transmission team, just the personal opinion of a lone developer (J. Ch.).)
There is a lot of interest in having BitTorrent traffic be "nice" to other network traffic -- to make sure that even your BitTorrent traffic will always stay "in the background", yielding to web and other traffic whenever needed. Since normal network traffic is called "best-effort traffic", this is called making BitTorrent traffic "less than best-effort".
One solution consists in dropping compatibility with normal BitTorrent, and defining an all new less than best-effort protocol. This is what the µTorrent developers have done with µTP. While switching to an incompatible protocol makes sense for a commercial entity such as the owners of µTorrent, it is not a game that self-respecting Free software projects should be doing.
A different solution consists in building in less than best-effort capabilities into the operating system itself, in a compatible manner, and so that all applications can use it. This is the case in Linux, which has implemented a "low priority" variant of TCP called TCP-LP.
My experimental patch is about making Transmission optionally use TCP-LP for peer connections.
Using low-priority TCP (TCP-LP) in Transmission
You will need Transmission r10508 or later (check in the About menu entry) running on Linux.
1. As root, run the following:
Code: Select all
modprobe tcp_lp
echo cubic reno lp > /proc/sys/net/ipv4/tcp_allowed_congestion_control
2. Add the following line to your settings.json file:
Code: Select all
"peer-congestion-algorithm": "lp"
Please note that this functionality is experimental — it should work fine, but it's basically untested. Please let us know how it goes for you.
--Juliusz