How To Reduce Computer Power consumption
From Computer Tyme Support Wiki
Contents |
Marc Perkel's Guide to Making Computers use less Power
Several years ago I moved my servers over to Hurricane Electric. I remember my first night there. I was installing 7 servers. I had carefully planned the transition so that most people wouldn't have known the move happened. Everything went according to the plan and I went home and went to bed. Next morning I got up and everything was down. I had tripped the breaker on the power strip in the back of the cabinet. All of a sudden power was an issue.
My previous host had plenty of power. I had never really given that much thought to how much power I was pulling. All of a sudden power usage was an issue. Although the power strip tripped a little bit under the limit, I didn't realize that I was close to the limit. I was pulling between 12 and 14 amps! Wow! Had to get that down.
So I started doing some research into how to reduce my power consumption and over the years I've come up with quite a few tricks that not only cut my power usage, but increased computer performance at the same time. I've been very happy with the service I've had from Hurricane Electric and decided I'd write something up for other people who have their servers collocated in data centers. This is sort of a colo guide to reducing your power consumption. A lot of this is both easy and affordable so pay attention and you too can save power that would otherwise be wasted.
A little about me and what I'm doing
I have 2 companies. One is Computer Tyme Hosting a small web hosting company, and Junk Email Filter, my spam filtering company. Although I host a few big sites of interesting people, most of what I do is filter spam and host email. I also host a VoIP phone system and RBLs, black lists, white lists, and various spam related lists, and a few VPS servers for selected clients and friends.
Overview of how to save Electricity
In my quest to cut back on power usage I was surprised at how much I could save. There are several technologies I will get into starting with the most effective basics and then going on to the ones that help you squeeze out every last watt of power. The most effective methods involve replacing your power supplies with high efficiency (80Plus) power supplies. Then make sure you are running a modern kernel that has power savings built into the system. These are the two big tricks in cutting back on your usage.
Other tricks involve oversizing your computers. Many people don't realize that bigger computer can use less power than smaller ones. More ram, faster processors, bigger hard drives can help you use less electricity. I'll explain why that works. SSD (Solid State Drives) also cut power usage and increase performance. And then there's virtualization. Why add another box when you can create a new server in software?
Maybe it's not electricity that you are trying to save. Maybe you want more computing horsepower but that 7th computer trips the breaker in your 15 amp cabinet. By saving power per computer you might be able to run 10 to 12 computers instead of 6 and the computers will be bigger and faster saving you money in not having to rent as many cabinets. I'm running 9 computers pulling less than 9 amps and all 9 are fairly mighty configurations and blazingly fast.
Tools of the Trade
The first think you'll need is a way to measure your power usage so you can see what you are using and if you are making progress. There's a cool little device that you can buy almost anywhere called a Kill-a-Watt meter. It usually sells for about $20 and will give you an accurate digital readout of how many amps you are pulling. You'll want to get one of these to monitor your progress.
First - the basics of power savings - power supplies and modern hardware and software
Old computer have old and inefficient power supplies. Typically they are 50% efficient or less. That means that for every watt you use it wastes a watt as heat. In a colo it's even worse because they have to use even more power to run air conditioning to get rid of the heat you are wasting. New power supplies can be bought that are 80% to 90% efficient. Look for the 80Plus seal.
If you like your computer but want to make it more efficient you can just buy the new power supply and just change it. If you have an older computer it might be more effective to just recycle it and get a new computer where you can take advantage of new power saving features. If you just change the power supply you'll be amazed at how much the current drops off. Same computer doing the same thing but now using less power.
If your computer has been running for several years you might be running an old kernel that doesn't support new power saving features of modern processors like AMDs PowerNow and Intel's SpeedStep. Some CPUs will pull twice as much power using an old kernel as they do using a new kernel. This is assuming that your old hardware supports power savings. If it doesn't then it might be time to get a new computer. If you have an old computer it will eventually fail. Getting a new one resets the clock on the likelihood of old age failure and might save you a trip to the data center when your old piece of junk finally fries.
New kernels apply to all operating systems and processor brands. I personally am running Linux on AMD processors. But if you are using Intel and running BSD or Windows you too will see the power saving by upgrading to new hardware and new software. Doing these steps should cut your usage almost in half.
Overkill actually saves power
Some of you might be asking, why would a bigger computer save power over a smaller computer? Seems counter intuitive. So I'll explain it.
Let's start with the hard drives
Suppose you have a 500GB drive that is almost full. When you access random files on the drive the heads have to move over the entire drive from the outer tracks where you first installed your operating system to the inner tracks where your latest log files are being appended. This takes a lot of work and a lot of power moving that head back and forth from one place to another. Newer kernels can reduce some of this motion through features like "elevator seeking" that tries to optimize the order that disk requests are being processed. But the real trick is to just use an over sized drive.
If you put the same 500GB of data on a 2 terabyte drive then the drive is just 1/4 full. That means that rather than moving the heads over the entire drive all you have to do is move it over the outer 1/4 of the drive. Less distance equals less power usage and faster response time. It's that simple.
Additionally, a little known fact about hard drives, is that the outer tracks read and write 3 times faster than the inner tracks. The more you fill the drive the slower it gets. The reason for this is because the outer tracks have more sectors than the inner tracks because it's a bigger circle and the head velocity is greater there. The drive creates the illusion in software that all tracks have the same number of sectors by in reality that's not the case. So a drive 1/4 full is going to run much faster and use less power than a full drive.
SSD drives are even better
New solid state disk drives are a LOT faster than mechanical drives and pull a fraction of the power. There are no heads so there is no seek time. Data can be fragmented or linear and it's all the same. There are no "tracks" so the speed is the same whether it's empty or full. The only down side to SSD is the cost. They are rather pricy.
But wait - are they really? If you compare them on a per gigabyte basis, yes. But - maybe you don't really need a 2 terabyte drive? Maybe your stuff is just as happy in 64 gigs? If that is the case then you just get a smaller SSD drive and enjoy the faster speed, lower power, and the idea that there nothing moving inside.
More Cores - Less Power?
Again this seems counter intuitive until you think it through. A few years ago AMD made dual core processors that used 125 watts. Now they have 6 core processors that still pull only 125 watts. But that is if you have all 6 cores busy. If the computer isn't busy enough to keep all 6 cores active the new hardware and software scales back the cores to very slow speeds to reduce power consumption. So a computer that might keep an older dual core CPU busy might only keep a new 6 core CPU 1/3 as busy allowing it to use less power than the dual core did. And - if your system does get busy then you have the horsepower to handle the load.
More RAM - Less power
Memory gets faster, cheaper, and more power efficient. Currently 16 gigs is the sweet spot for desktop motherboards using 4 4gig sticks. Ram provides caching for disk drives storing the contents of the drive so that the drives don't have to be read. This reduces drive activity and therefore drive power consumption. It also increases performance.
Virtualization
I use a great freeware product called OpenVZ which allows me to create lots of virtual servers with almost no overhead. This allows me to split up big servers into smaller logical servers and move those servers between physical machines. If I need another server, say for a friend, I can create one without installing another physical box. This in itself isn't any big power saver directly but it helps optimize my server load distribution and redundancy in a way that if not for virtualization I would have to have a lot more hardware to do the same thing.
I love OpenVZ. It's not full virtualization like VMWare or Xen. It only works with Linux and runs using a single kernel. It's really containerization like BSD Jails. What I like is that it is extremely efficient, easy, and (generally) just works.
Conclusion
Whether you are saving power to make the planet greener or saving power so you can run more computers in your cabinet it is my hope that these instructions will be useful to you. Nothing here is all that complicated or expensive and generally whatever the cost it will be made up in cost savings, performance gains, and reliability.