Tuesday, March 27, 2007

Green PCs in open source, free software - the next challenge.

Linux is seeing massive install bases around the world. Millions of PC computers - not including the millions of embedded systems like routers, and phones.

OSS, and free software already does a great job in reducing the amount of waste generated by computer use. Being able to make use of old hardware, and the ability efficiently virtualise computers resulting in less hardware being used. Web hosts can run thousands of websites off one computer - now other servers are taking virtualisation of computers for other tasks too.

However there is much more that could be done for saving energy with OSS, free software such as Linux, Debian, and Ubuntu.

Distributions need to focus on turning on the power saving features. If Debian, and Ubuntu make this easy, then lots of power can be saved in the world. Debian should put something about power consumption, and reducing resource use into its social contract.

Is concentrating on power savings worth while? If a 10% difference could be made in power saving, then over one million machines it would save a massive amount of energy - and reduce green house gasses.

Monitors need to be put in suspend mode when not being used. Monitors are the most power hungry parts of a computer system. The more common LCD monitors do not use as much power as CRT ones, so this is an advancement. I still find monitors that stay on when not being used. For an X server, check out the manual of xset for dpms power saving features.

Hard drives need to be set so that they go to sleep when they're not being used. The 'hdparm' program can be used to put hard drives to sleep. Not only does this save power, but makes hard drives last longer. The longer a hard drive lasts, the less it needs to be replaced - saving production energy costs. There's also less noise because your hard drive will be turned off.

Suspend to disk needs to work. This is so people can easily put their computers to 'sleep'. So that people can have their system power up quickly with all of their applications where they left them. Mostly this works, but it needs more testing, and fixes from some poorly behaving drivers. If people can put their computers to sleep easily, then they will turn them off when not in use.

Daily tasks should run at off peak power times. Debian uses 6am as a time to run daily tasks. Many tasks that can be put into off peak times should be put there.

Power saving measures should all be turned on by default.

Using 'thin' client machines without hard drives uses less power over all. It also means that less hardware is used - resulting in less production energy used. Also older machines can be used for the terminals, resulting in reuse of computer parts. The linux terminal server project makes setting up thin clients with linux easy. Operating systems could do more to make this kind of usage easier still. Rather than concentrating on making their installers easier to use for single machine use.

More thought needs to be put into saving power with changes to operating systems. During the design, and implementation of features.

The design of software should take into consideration the power use of it. If your software can with one hours work reduce it's power usage by 10%, then you've possibly saved millions of dollars a year in power costs. If you can reduce the resource usage of your program with a little work, then you may only use one server instead of two. Over a couple of years that can add up significantly. Does your web application need a dedicated server at the moment?

Reviews of Operating systems need to take 'Green' factors into account. Are power saving features used? How well are they used? Is there good support for older machines? The media has a part to play in supporting those that aim to reduce energy use, and reduce the use of computer parts. A "ten things Ubuntu could do to reduce energy use" article could be quite popular. What about an article on the bad ram linux patch(which allows linux to use defective ram)?

Good reviews on power saving features can allow people to make more informed choices about how much power their purchases will use. How much energy has been used in producing this equipment?

Just as free software, and OSS people shout from the hills about reliability, security, and performance - we need to shout about power saving benefits. Reduction of two servers down to one, can save on air conditioning bills, office space, and a power bill reduction.

A mailing list should be joined by groups in each distribution aiming to implement power saving changes to their operating systems. If there is already a group out there, it needs to be more heavily publicised. It should be run by a paid member, or members of some of the biggest distributions. Power saving should be a much higher priority than it currently is. Start a discussion amongst your groups on how to reduce power usage.

Other widely used open source projects need to talk about how their projects are affecting power, and resource usage too. For example take the python programming language. Recently the python project has managed to reduce memory usage. This will result in being able to run more python programs on one machine. However further steps could be taken to make running web programs on the main cheap virtual hosts less resource hungry. This is starting to happen, but more could be done. However many web applications seem to need a dedicated server to run acceptably(plone). Pygame(game software for python) has been modified so that instead of using a 'busy loop' by default, it uses a less accurate, but less cpu using operating system sleep.

If you make your program use less power, then those with laptops are more likely to use your programs - over the competitors program that uses more power. Make your lower power usage a feature.

I think people using Open Source Software, and free software should be interested in power saving, reduction in hardware use, and reuse of old computer parts. We just need to talk about power saving more, and make sure we factor it in with our designs.


Some links to readings about saving power.
- Ecology HOWTO - power saving techniques with linux.
- Linux terminal server project.
- Gentu power management guide

If you have any other relevant links on power saving, please leave them in the comments section of this page. Cheers!



Melbourne Web Developer Written by a Melbourne web developer. Available for your projects - php, mysql, e commerce, javascript, CMS, css, flash, actionscript, python, games, postgresql, xml.