Categories

BitTorrent Protocol Overhead

I’ve been doing some investigation into the energy consumption of second generation P2P systems, specifically BitTorrent.

There is a pretty decent push towards using set top boxes in consumer’s home for legal content distribution. In fact, this type of system is being proposed by Pablo Rodriguez at Telefonica here. The benefits to content providers are tremendous. The most obvious benefit is that the ISP no longer has to pay for a data center. In effect, the data center is being pushed out into the subscribers’ homes. The subscribers now pay the associated power and cooling costs.

Unfortunately, we’ve theorized that the reduction in power costs to the ISP will lead to an overall increase in power consumption. The essential concept is that while ideally we would expect power consumption to increase linearly with utilization in reality this is not the case.

Utilization versus power use for IT equipment

The graph above shows that power consumption increases dramatically from 0 to about 15% utilization. Additionally, increasing utilization past about 15% results in a negligible increase in power consumption.

The conclusion we can draw from this is that we want our IT equipment to be heavily utilized to get the greatest energy efficiency out of our hardware.

For set-top boxes to be truly effective peers in a swarm they should be available to other peers pretty much 100% of the time, however they are unlikely to be fully utilized 100% of the time, which in turn means a large reduction in energy efficiency. Ideally we’d like to put set-top boxes that are doing nothing but waiting for peers to connect to sleep, however this is currently not feasible as a peer must be awake to respond to requests from other peers! In fact, there seems to be a lot of protocol traffic outside of pure data transfer that a peer must be made available for.

All traffic vs BitTorrent traffic vs BitTorrent request traffic

In the above graph, the black line is all traffic, the red line is all BitTorrent protocol traffic and the green line is BitTorrent piece request traffic. (The Y-axis is packets per second)

The graph was created from a trace on a reasonably popular swarm (about 12000 peers composed roughly of 50% seeds and 50% leaches)

The question remains as to what amount of the protocol traffic is directly related to data transfer, how much (if any) might be pushed off to a low power proxy which would wake the high power machine up for data transfer, and what, if anything, might be done to ensure that only highly utilized peers are members of the swarm (i.e. how to reduce to the energy footprint of the swarm as a whole while still maintaining it’s usefulness)

Comments are closed.