Dennis Forbes on Software and Technology   Subscribe to RSS


About the Author
Dennis Forbes Dennis Forbes is a Toronto-based software architect. While focused primarily on the .NET and SQL Server worlds, Dennis frequently ventures outside of this comfort zone into game development and image processing. He has been published in several industry magazines, has been quoted in the Wall Street Journal and has been interviewed by NPR.

He is a vice president and lead software architect at an innovative New York City hedge fund back-office services firm.

Dennis has been working on solutions for the financial, telecommunications, and power generation markets for over 15 years.




The Feed Bag
Feb 24 - TED

 
Wednesday, November 23 2005

Wasted Power

100_0080

I've been thinking a lot about power consumption in our PCs. For instance that a PC sitting idle, monitor(s) in standby mode, is consuming 70W or more in many cases. All while doing nothing more than anxiously awaiting your return (if you're silly enough to run some sort of 3D "screensaver", that number increases significantly).

Often they're idling around the clock on the off chance that you might wander by and desire instant PC satisfaction. In the corporate setting it's frequently policy to leave workstations on around the clock, for the infrequent occasion that the network admin team needs to roll out a patch.

In the former case you should look at standby or "hibernation". In the latter case, the admins should be using Wake-on-LAN, which is supported close to universally. Dated arguments about system failure or hard drives seizures on start-up aren't rational, or even statistically valid worries.

Increasing Consumption

Which brings me to online power consumption: the power your computer is burning when it's busy doing actually useful work for you. Over the past decade processor power consumption has skyrocketed (with brief retreats, followed by the next surge into power gluttony). Thankfully, though, the power consumed by a processor does scale in a loose correlation with load: A processor at 100% utilization uses more power, and generates more heat, than one idling, courtesy of various power saving strategies available on modern PCs and operating systems (such as the HLT instruction). This is even more evident with mobile processors, which actually reduce the voltage under a lower processing load, saving even more energy (and thus reducing the heat output proportionately, as well as the need for noisy internal fans).100_0084

These savings are offset, though, by the monster co-processor that most PCs have: The videocard GPU, which offloads 3D graphics operations to a hugely complex piece of silicon (video card GPUs are far more complex than your CPU in most cases). Couple that with huge amounts of power-sucking ultra-high speed onboard memory, and video cards are now pushing 150W+ of power consumption under a load (such as when running a 1st person shooter). Thankfully modern video subsystem turn off a substantial portion of their circuitry when it's unneeded, such as in the 2D world when composing a document in Word, vastly reducing power consumption.

Nonetheless when the demand is high and you add together the load of a processor running at 100% with a video card doing the same, you have a recipe for a tremendous power sink that doubles as a competent space heater.

The end result of this power consumption is increased resource usage, higher electric bills and demand on the grid, PCs that require more fans and cooling solutions (and thus create more noise pollution), and often a hotter, less comfortable environment.

Even if you don't care about the environment or rising power costs, and if you enjoy the balmy 40C room temperature, when you're using a mobile PC the the lifespan of your battery, along with the ability to use your laptop without it igniting your pants on fire, depends upon the efficient use of computing resources. In that case you absolutely want your processor and supporting systems (e.g. graphics GPU) doing the absolute least amount of work possible to satisfy your requirements, doing what matters to you without wasting cycles with frivolity.

Windows Vista

Which brings me to Windows Vista (previously Windows Longhorn).

One of the major new features of Windows Vista is the Aero Glass experience (both as an API for applications, and the shell itself). Aero Glass in essence turns your desktop into a video game: Instead of the current model where the GDI draws on a 2D palette, updating the video card memory (making use of acceleration routines that the video card supports) only when changes occur, the model of Aero Glass is that of a traditional game: With every "frame" the scene is wiped clean and re-rendered from scratch, layering "textures" that represent application canvases onto 3-D polygons and building the user experience from there.

This system will attempt to push 60-90FPS of user experience goodness through your video card.

In many cases this will max out even high end video cards. Even where it doesn't, all of the shaders and T&L engines on the video card are engaged - the additional power consumption will be considerable. This could easily add 150W+ to your system power load, and could absolutely devastate battery lifespan for portables. This is on top of the fact that you're suddenly measuring your GUI in frames per second.

In other words the new, shiny user experience in Aero Glass isn't just making use of unleveraged hardware in your PC (which is a valid point - there's a big powerful graphics card there, so why should it go to waste) - It's also considerably adding to the power consumption, heat generation, and cooling requirements. In the mobile world it would be hugely detrimental to the battery lifespan.

All to add a bit of eye candy that, at least as far as I've seen, marginally improves usability.

Reader Comments

Reminds me of the DOS vs WIndows 3.1 debate.

Why use all that memory just for a GUI?

I'm sure they will find something for it to do that we just can't live without.

I look foreward to seeing it.
Shaded @ 11/23/2005 12:19:14 PM
Hi there shaded.

I don't really see a lot of comparisons between the two. In the former case people complained that there were dramatic hardware requirement additions for Windows 3.1, so it added a material cost. On the flip side it _dramatically_ changed the computing experience, from a largely non-graphical single application model, to a multi-tasking, windowed, graphical model. The additional requirements were well worth it.

For this it is completely about eye candy - no additional functionality is offered, but things wizz around and drop shadows, and other visual improvements. I have no doubt that as semiconductor improvements continue we'll eventually get to the point of having that sort of display without the huge power consumption (and thus short battery life), but it won't be for quite a few years. As it is I think this will be oohed and ahhed over for a couple of days, and then turned off like many "cool" effects before it.
Dennis Forbes @ 11/23/2005 1:33:03 PM
hmm .. I see MS investing energy convincing people to put money in battery companies .. so we'll end up in about 6 years with mobile PCs which can work (and not just stand by) like a couple of days ;)
for the moment that's the only positive point I see
senin @ 11/23/2005 2:47:06 PM
Hibernation isn't good enough, because it still takes time for the PC to boot up. :) By the time I've waited for Windows to arrive and a copy of Word to open, I've forgotten what I wanted to write.

My 386SX took exactly 37 seconds from pressing the power button to being ready for work. I've clocked even fairly powerful modern PCs at over two minutes. It's disgraceful, really.
Flasher T @ 11/24/2005 2:18:18 AM

Add Comment

Name *:

Email Address:

(your email address is not displayed)
Website:

Comment *:


Dennis Forbes