What Needs To Be Fixed

A lot of really good low-power engineering is going to waste, but that still doesn’t make it easy to implement.

popularity

Some incredible engineering feats at the nano level—particularly below 40nm—are making their way into production chips. Even creating a sub-micron chip in the first place is a testament to the advances in semiconductor engineering. Turning off large sections of the chip and implementing techniques such as voltage and frequency scaling, power gating, multiple voltage rails and islands, multiple states, and avoiding electrical issues along the way is even more astounding.

But getting the power management features already being built into chips to be fully understood and utilized by the companies assembling systems may be an even bigger problem. Software has to be written to make these kinds of tradeoffs, and software always lags hardware. That’s true at the embedded level inside of chips—or processor cores or various subsystems—and it’s true at the system level. The dirty secret in software development is that it can never be fully tested until it’s in the hands of consumers or businesses, which is one of the key reasons why they’re constantly barraged with updates.

That doesn’t mean all software updates are fixing bugs, of course. New features and capabilities are added through these updates, as well, which ultimately slow or kill older hardware unless the software is completely removed and new software is loaded. But the real challenge remains finding all the unexpected and unplanned interactions that can negatively affect a device.

Power concerns are the last in a long line of problems that need to be dealt with along the way from conception to implementation. Software is needed to manage power-saving features, but software teams are stretched so thin that their main concern is just getting the device to function reasonably well. Even the biggest companies have trouble with this. Apple is probably the best-known example, but Intel has had its share of issues with chip projects that have been quietly killed because of thermal issues. And these are two of the best-funded, vertically integrated companies that typically focus on the bleeding edge of power and performance. Data centers are full of server racks where power issues have crept in slowly over a span of several decades.

It gets worse in a supply chain where chips are chosen for a socket based primarily upon area, performance and cost. Power is a “nice-to-have” concern, and it may even cement a deal, but the software teams inside of companies under intense market pressure to get increasingly complex products to market on time and on budget generally consider power last—and sometimes not at all. Good enough may not be optimal, but it’s better than missing a deadline.

What’s becoming clear is that the real challenge isn’t getting hardware engineers to think about power issues. They’re already well down the road to solving some intensely complex issues. It’s also not a blame game, because software engineering teams are achieving some unbelievable coding feats of their own. The problem is adding capabilities that allow software teams to take advantage of advanced power features in the hardware without slowing them down.

This is way outside of the normal focus of tools developers on both the hardware and software side, and it’s even outside the realm of hardware-software co-development. But it’s something that needs to be done to even utilize the power features that are already being developed. Opportunity is knocking, but it appears that the the sound has been turned off to save the battery.

–Ed Sperling


Tags: