Battling Climate Change with BitTorrent - An Interview with Jeremy Blackburn of the University of South Florida
Download MP3 audio of interview, part one.
Download MP3 audio of interview, part two.
Last week I had the chance to interview Jeremy Blackburn, a graduate student at the University of South Florida. Jeremy’s research interests are in the energy efficiency of computer networks. I spoke to Jeremy concerning his work to improve the power management of the BitTorrent P2P protocol. The interview is available in two parts (part one and part two).
Jeremy’s main argument is that data centers are very expensive. In the US alone, they consume about 1.2% of all electricity, costing approximately $3bn a year. Worldwide, data centers consume roughly $7bn worth of electricity. Jeremy argues that this high cost is a strong incentive to offload some of the hosting traditionally done in the data center, onto the consumer, through P2P technologies. In other words, the person downloading a file from you can contribute some of their own computing and bandwidth resources to the hosting of that file. Thus reducing data center expenditure. However, he goes on to say that while this does reduce the energy cost for the content providers, it will probably increase overall energy consumption - through losses in efficiency - and will certainly increase the energy consumption for the users themselves.
A problem with the above premise is that it assumes that the world’s data centers are mainly used for file sharing or other services which are easily distributed across a P2P network. This is clearly not the case. I would argue that most of the computing resources in data centers are dedicated to database-related work, as opposed to activities easily distributed through P2P technologies. One is unlikely to see eCommerce transaction processing being carried out by consumer computers participating in a P2P network any time soon. Surely this kind of activity makes up a large chunk of that 1.2% figure. Furthermore, when I asked Jeremy for evidence of this being a major industry trend, the only research study he could cite was about a P2P set-top box released by Telefonica, a Spanish ISP.
Having said all this, no one questions the fact that BitTorrent comprises an estimated 18-35% of traffic on the Internet (according to CacheLabs and CacheLogic) or the fact that large businesses such as Blizzard Entertainment are using it to reduce their software distribution costs. Also consider that the Kyoto protocol only requires that on average countries reduce their emissions 5.2% below their 1990 baseline by 2010 - even a reduction of a fraction of a percent in data center energy consumption would be significant toward this goal. Indeed, how many people leave their computers on all day to download files? With all of this in mind surely a more energy efficient BitTorrent protocol is absolutely worth pursuing.
The main focus of Jeremy’s investigation is to see what can be done to the BitTorrent protocol to reduce energy consumption. Jeremy has been studying the protocol by running simulations using an implementation of a BitTorrent client within an open source network simulator called NS-2. These simulations consist of a 51 peer swarm with varying arrival times and one seed awake at all times for file availability. The files used in these simulations are between 10 to 100 mb (Jeremy intends to use files larger than a gigabyte in later simulations).
Jeremy introduces the concept of putting a node to “sleep”. This would involve having the computer enter a low-power mode, akin to putting one’s laptop to sleep. According to Jeremy’s simulations, theoretically by putting “seeds” (seeds are peers with all data in the torrent) to sleep 50% of the time you can halve the energy cost but only increase download times by about 10%. This saving comes from the fact that every peer in a swarm keeps a list of all other peers it is connected to in a peer table. Normally what would happen is that if a peer went to sleep then the TCP connection between it and all of the other peers it was connected to would be dropped and those connected peers would forget that the sleeping peer ever existed. The only way this peer’s resources could be made available again is if it decided to reconnect to the swarm. In the modified BitTorrrent client used within Jeremy’s simulation, when a seed is not uploading, it goes to sleep and all of the peers it is connected to do not forget about it. When those peers need that seeds resources again they can wake it up.
However, the idea of putting one’s personal computer to sleep based on network activity is not likely to be practical nor of interest to typical computer users. Although wake-on-LAN technology exists and indeed is bundled with most modern computers, a more likely application of this sleeping technique would be in set-top boxes. A set-top box is not a general-purpose computer. It is inherently a single-purpose device, dedicated to an individual task such as downloading video. Such set-top boxes generally consume a lot less power than general purpose computers, and furthermore the user is less concerned should the device suspend itself.
At some point in the near future Jeremy intends to apply his research to a real-world BitTorrent client. At the P2P Research Institute we have developed our own highly optimized BitTorrent client, Unworkable. Jeremy mentioned our client as a prime candidate for testing out these changes. Unworkable is written in C and uses a high-performance, single-threaded, asynchronous networking communication model. Unworkable has been measured downloading torrents on a ten-year-old 270mhz UltraSparc II machine, using less CPU time than the top(1) process used to monitor it.
All of the above of course begs the question, what other protocols could be modified for greater energy efficiency? We look forward to seeing what Jeremy comes up with next in his quest to reduce the energy consumption of computer networks. To read more about Jeremy’s research in this area, download his poster [Adobe PDF] [Microsoft Power Point].







Write a comment