Saturday, November 15, 2008

How green is too green?

It seems you can't pick up a computer or IT related magazine without having the word green somewhere on the cover - generally accompanied by an article about what vendor xyz is doing to increase the 'greenness' of their product or service or by what provider abc did with their data center to lower the carbon footprint. In general this is great. We get devices that suck less power, operating systems (like Vista) where sleep works better and interim power states save more power, a cleaner planet, etc. That's gotta be a good thing? Right?

That's where my concept of 'too green' comes in. I'm not talking about 32,255,7 although that is too green to. Just like how you can have wood that is 'too green' to burn right, you can have something that is just 'too green' for its own good and doesn't really work right. (In this sense, you can just about think of green in both the 'earth friendly' and 'new' terms and you come out about right - almost like a puppy dog; trying to please but not necessarily doing it right). In fact, that is the topic for this post - we'll call the example today:

Stupid notebook tricks - or the green that was too green.

Take a nice new notebook - say a Lenovo T400 series machine. A nice box certainly. And some of the things I mention here will reproduce on other machines like current HP ones. However, I have personal experience with some stupid T400 tricks, so I will call them out in particular.

Build your T400 with a nice corporate image of Vista Enterprise Edition, complete with the latest drivers in the driver store. Place it on a port replicator and connect it all up. Sign in to your favorite Instant Messaging program (we're still using Office Communicator 2005). Walk away for a meeting. When you come back, the screen is blank. Cool, that's green! Move the mouse to wake the screen up and you notice you are no longer signed into your IM program. If you look quickly enough you see the little 'network' icon in the system tray shows that you lost your network connection momentarily. Hmm. Time to check into that you say? So did I. Next, I set the screen to turn off after just 1 minute. Started up a ping from another machine so I could watch the responses (either ping -t or a custom tool). I also stuck a mirror behind the T400 port replicator so that I could see the indicator lights on the NIC connector. Sure enough, when the screen blanked the NIC lights went out for a second then back on. The PING application noticed - it showed a couple of failures before continuing. Move the mouse, and the lights go off again. The PING fails again, and then comes back.

Now try this same thing when you are undocked (maybe in a meeting using Netmeeting or something similar). In this configuration - undocked - you notice that when the screen blanks nothing changes. That's good, right? We stay connected. But, then you move the mouse to get your screen back and then it disconnects and reconnects. That's got to be the stupidest thing it could do. Leave the network running great while the screen is blank but when the user wants to do some work - let's shut it down and restart it. Did you notice you lost your Netmeeting?

After you start looking into this (I needed a couple of peers to help), you find it is some new 'green' built into the latest Intel networking chipsets and drivers. It only works on Vista, because it relies on being notified by the opeating system that the screen is blank. It's called ''System Idle Power Saving" or SIPS. You can read about it in this PDF from Intel. (It claims that it 'renegotiates' when the screen blanks and again when it comes back on - but you can test this and it only does that in the docked state: when undocked it only bothers when the screen comes back on.) Looking at the charts they provide, it shows that it could go from say 22 mA to 4 mA in certain scenarios. Sounds good until you realize you lose your network connection. What if you were on VPN? How about a WebEx or Netmeeting?

I checked the event log, and like the documentation says it does renegotiate to the slowest it can. When connected to my 1 Gbps hub, it renogotiated down to 10 Mbps. So, if I were to - for example - connect to my machine using Remote Desktop from home and attempt to build a new image and copy it to a network location it would do so at 10 Mbps (because the screen is still blank). That nice new 4.8 Gb Vista image copying at 10 Mbps? Epic Fail.

Now, to be fair - I haven't yet tested what happens when you are on VPN or NetMeeting. I do know that the Intel documentation claims to only do this if the network is idle. They don't seem to define what idle means to them. What it certainly does NOT mean is that 'there are no TCP connections' - because it definitely doesn't seem to care about that. It drops you. Hence the signed out IM program. It may have some arbitrary packet rate that it is figuring 'less than x per second means idle' or some such. Whatever it is doing to calculate idle, I'll call it 'Fail'. It's just too green.

Cue up Captain Kirk and Scotty:

Capt: Scotty, emergency beam out!
Scott: Captain, I canna do it; the transporter system's gone into power save mode. It'll take two minutes to get back ta full power if'n it doesn't blue screen.

You see? Too Green!

No comments: