Zibb

Brian DipertEDN Senior Technical Editor Brian Dipert exposes, analyzes and
opines on diverse topics in technology. Follow the Brian's Brain Twitter feed at www.twitter.com/BrianzBrain.



   Advertisement

Profile

RSS Feed

  • Add this blog to your RSS newsreader!

Recent Posts

Recent Comments

Most Commented On

Archives

By Category

Consumer Electronics Design Articles

Blog

Tuesday, December 2, 2008

Living With Apple's MacBook Air: CPU Undervoltages And Fan OverRPMs

Dec 2 2008 9:58PM | Permalink |Comments (7) |


Now that I've migrated from a first-generation MacBook to a first-generation MacBook Air as my primary day-to-day system, it's probably time to retire the long-running 'Living With Apple's MacBook' post series...in favor of an 'Air'y successor ;-) To begin this first post (of, judging from past history, many), I've got a follow-up on my earlier-today commentary regarding adding single-key forward-delete capability to the MacBook Air's keyboard. A bit of Googling led me to an open-source program called DoubleCommand that perfectly addressed my issue by enabling me to redefine the right option key. Granted, the forward-delete functionality spans not only virtual machines but also the foundation 'Leopard' operating system, since DoubleCommand is an OS X application, but that's fine with me. Conversely, my virtualized Windows XP mouse cursor just freaked out again...back to windowed Fusion mode while I wait for v2.02, I guess...

A weird system glitch that I periodically encounter involves the Samsung HS081HA 80GB 1.8" hard drive. It'll randomly emit an odd noise, which I believe occurs when the platter spins down and the head parks, and which another MacBook Air owner captured on video (and audio):

The drive seems to work fine, but I still find the squeal disconcerting. It's ironic given that Samsung's own product documentation (PDF) notes, "Noise is among the biggest issues for HDDs in portable audio/video applications. No one wants to hear the clicking sounds of the HDD while listening to music or recording videos. With its innovative grooved cover design, the 1.8” HDD prevents acoustic noise from leaking out. In addition, Samsung's SilentSeek™ technology controls the actuator and thus reduces noise." Maybe I'll migrate to that Samsung SSD sooner versus later...

Now to the main topics of this particular post. One day last week while I was busily cleaning up old emails and RSS feed posts in Outlook 2000 running under VMware Fusion, my Windows XP virtual machine abruptly became molasses-slow. At first I thought I had a Fusion-specific problem, but everything else I had running was crawling, too, and suspending the VM didn't bring relief. I launched Activity Monitor and noticed that process kernel_task was consuming more than an entire core's worth of resources (i.e. >100% CPU, since Activity Monitor assumes a single-core CPU).

A bit more Googling informed me that I was encountering a well-documented CPU overheating issue with this system. As review, recall that the first-generation MacBook Air mates a Santa Rosa core logic chipset to a specially packaged, low-voltage version of Intel's 65nm Merom CPU, whereas the just-introduced second-generation MacBook Air uses a follow-on 45nm Penryn microprocessor paired with an Nvidia chipset. Initial Merom-based MacBook Air firmware releases would, when the CPU got too hot due to lengthy heavy use (a common bane of airflow-deficient ultralight laptops), shut down one of the two CPU cores...thereby severely throttling performance.

In early April, Apple released an EFI (extensible firmware interface) update for the system, which seems to suppress core shutdowns but doesn't seem to make much (if any) practical improvement in usability under hot-CPU conditions. Instead of a brute-force core neuter, cyberspace gossip suggests that the OS X microkernel instead starts tossing abundant idle instructions at the CPU, thereby enabling it to cool down...but in the process grinding to a halt any useful work it was previously tackling. As mentioned two paragraphs ago, I've periodically noticed kernel_task-induced slowdowns when I'm asking virtualized Windows XP (therefore VMware Fusion) to do 'heavy lifting'; I've also noticed them, for example, when I try to play back YouTube- or Hulu-sourced video clips within Firefox natively running in OS X.

The latter glitch is the result of the Intel integrated graphics core's limited codec support for hardware-accelerating video processing operations, thereby throwing the bulk of the decode task back at the MacBook Air's dual-core 1.6 GHz CPU. Many of the Internet discourses I found recommended the use of Magnus Lundholm's $10 CoolBook utility (here's one of the most indepth discussions I stumbled across), and after a few days' worth of experimentation with CoolBook I wholeheartedly concur with others' counsel. Here are the default operating voltages for the MacBook Air's Merom CPU at various throttled-or-not clock speeds:

Clock Speed

Core Voltage

600 MHz

0.9V

700 MHz

0.9V

800 MHz

0.9V

1.2 GHz

0.975V

1.4 GHz

1.0625V

1.6 GHz

1.1375V

CoolBook leverages a technique long used by CPU over-clock enthusiasts, that of lowering the processor's core voltage in order to decrease power consumption at a given clock speed. For the over-clock crowd, the end result of undervolting is (assuming a non-clock-locked CPU in-hand) the ability to run at higher-than-spec'd speeds without triggering thermal shutdown sensors. For CoolBook, conversely, the objective isn't to clock the MacBook Air's CPU any faster than its spec'd 1.6 GHz...instead it's to lower the amount of power consumed by (and therefore the amount of heat coming off) the processor at a given clock speed. After much experimentation with CPUTest and other burn-in resources, it appears that the CPU in my particular system can stably run at 0.9V across its entire frequency range, as the following screenshots prove:

If I wanted to, I could even eliminate (for example) the fastest clock setting (or few) for non-AC-adapter operation, leading to incremental battery life at the expense of peak speed. And, by powering the CPU with a core voltage 0.2375V below the Apple-defined default at 1.6 GHz, I haven't yet encountered another kernel_task-induced slowdown in spite of conscious attempts on my part to induce such a scenario. Note that your mileage may be vastly different...while one CPU might be able to reliably run at substantial under-voltage levels, another one might fail at anything below nominal voltages. You'll need to iteratively experiment, as I did, to discover the optimum clock-and-voltage pairings for your particular piece of hardware.

With reduced power consumption comes longer battery life, along with a delay in the system fan ramp up from its 2500 RPM initial speed to the highly audible 6200 RPM peak rate. But inevitably, eventually, the fan crescendos at top speed, and in Apple's infinite wisdom the firmware then tends to keep the fan screaming at 6200 RPM even after the processor subsequently cools down. Cue smcFanControl2, another enthusiast-developed utility, this one particularly intended to provide user control of fan speeds. The program GUI enables you to set a minimum fan speed at or above the Apple firmware-defined default. I've got it set at 3810 RPM, for example, which might seem counter-intuitive at first glance. But the incremental 1310 RPM beyond the default minimum setting still isn't audible, it makes a negligible negative impact on battery life, and by keeping the system cooler than the default it substantially delays the onset of perceptible fan RPMs.

Delays...but doesn't eliminate. However, as some courageous (or depending on your perspective, foolhardy) souls subsequently discovered, smcFanControl2 also lets you limit the maximum fan speed. By developer conscious intent, this particular feature is only accessible via the Terminal command line, and overrides also don't survive system sleep and reboot cycles (though it's possible to craft a script to surmount these particular speed bumps). And, given that running semiconductor devices (not to mention HDDs) beyond their spec'd maximum operating temperatures is a 'great' way to dramatically shorten their operating lives, I think I'll stick with 6200 RPM audible fan rates.

p.s...after reading all this, you might wonder if I have any regrets about not waiting for a second-generation MacBook Air with more robust CPU, Nvidia graphics subsystem, etc. The short answer; no way. Consider, first, that I only paid a bit above $800 for this system after rebates. And about those Nvidia graphics...Apple seems to be having some serious issues with the Geforce 9400M, in spite of rumoured vigorous cherry-picking on Nvidia's part, and it's not yet clear to what degree the problems can be fixed (or worked around) in software versus being fundamental hardware flaws. You would have thought by now that Apple would have learned its lesson about Nvidia's thermal shortcomings...


Reader Comments



at 12/3/2008 1:22:10 PM, Larry M said:
Brian, you should really warn users to completely back up their systems before experimenting with lowered CPU voltage, since one possible outcome is a corrupt hard disk.



at 12/3/2008 1:24:04 PM, Larry M said:
Brian, as a logic designer for decades I get really annoyed at those "hero programmers" who would rather perform a function (like video decode) in software than read the chip spec and perform the function in hardware. Unfortunately this is not a new phenomenon.



at 12/3/2008 3:26:26 PM, DM said:
Brian, you might ask yourself why Intel doesn''t spec your chip to run at lower voltage. Today''s chips effectively come with a custom voltage-speed envelope, so the fact that your chip is speced to run at higher voltage means that there are some data sheet test conditions where the higher voltage is required. You may not encounter those conditions in your laptop and you are safe. But it could also be that the errors are in the noise compared to all the flakiness of your virtualized software setup. But in general there is no magic - overclocking or undervoltaging is risky. You wouldn''t want your pacemaker processor doing it.



at 12/3/2008 3:52:41 PM, Brian Dipert said:
Dear DM, chip-to-chip inconsistencies (both within a wafer, wafer-to-wafer and lot-to-lot) translate to varying supply voltage margins. Apple's conservative default settings (derived from Intel's conservative default specifications) are intended to comprehend this variability. As I said in my writeup, interested readers shouldn't take my results at face value; they should start at higher voltages for each clock frequency and slowly ramp down-and-retest (using robust burn-in schemes) until they get kernel panics, lockups or other irregularities, then back off to the next highest setting. And I agree that I wouldn't do this with a pacemaker, or for that matter an automotive controller!



at 12/3/2008 10:33:47 PM, ACLSGURU said:
I am a cardiac electrophysiologist and try to set all of my pacemakers and ICD's pacing output according to my patient's individual pacing threshold in order to maximize life of the device.
If left at nominal settings, most pacemakers will lose 30 to 60% of their longevity, which paradoxically would be good for me, but not for my patients.

If I had an Air, I would follow the suggestions noted above, but I love playing with video too much to get a device that I cannot leave to crunch overnight for fear of mimicking Chernobyl.



at 12/4/2008 6:26:29 AM, S. Holloway said:
Brian,
I will be the first to say that Macs are one of the best computer's around. However, why do you continue to put up with these problems in using a Mac. Don't get me wrong. I don't think Windows XP or Vista is perfect, either. Nevertheless, I have had a Dell for more than 5 years without the drawback that you are having all across the board. I tried owning a Mac, but I simply didn't have the time and money to make it do all of things I had become accustomed to Windows allowing me to do.



at 12/4/2008 3:32:33 PM, Brian Dipert said:
Dear S. Holloway, Intellectual curiosity? Masochistic tendencies? A perpetual search for interesting things to write about? ;-)

Post a comment



Display Name

Change Image
Before submitting this form, please type the characters displayed above.
Note the letters are NOT case sensitive.


ADVERTISEMENT

©1997-2009 Reed Business Information, a division of Reed Elsevier Inc. All rights reserved.
Use of this Web site is subject to its Terms of Use | Privacy Policy

Please visit these other Reed Business sites