My Photo

Recent Comments

« July 2008 | Main | September 2008 »

August 2008

August 26, 2008

The Energy Content of Software – Part I

Bookmark and Share

I’m frequently asked what is being done to improve the efficiency of semiconductor devices.  Digital core companies such as Altera and Xilinx as well as processor companies like Intel, AMD, Freescale and many others have been working to reduce both static and dynamic power in their products especially as geometries move beyond 40 nanometers.  Most modern analog processes have much larger feature sizes and do not suffer from the static power losses.  In fact, there is a renaissance of analog functionality which is being implemented in today’s designs.  Primarily this is being driven by the move to retreat from the digital domain. 

During the birth of the DSP age digital processing was the Holy Grail of the electronics industry and supplier’s products wouldn’t move off the shelf unless they had a "Powered by a DSP" sticker on them. The mantra was to convert analog signals into the digital domain as soon as possible so that algorithms running on digital signal processors could process what was once done with operational amplifiers.  This was a love affair with the ease of use and relatively short design cycles associated with coding the solution. This science also provided abilities completely unrealizable in the analog domain - thus the romance with digital signal processing and the shift of curriculums away from analog design across the world’s universities.

It is now recognized that DSP cycles along with high performance analog-to-digital and digital-to-analog converters all consume large amounts of power.  In many applications analog solutions were overlooked since many engineers were trained to solve the problems digitally.  A case in point is a technology familiar to many people - active noise cancellation.  Early attempts at removing ambient noise from either headphones or microphones employed DSPs with CODECs (Coder / Decoder) along with high performance digital filters and noise cancellation algorithms running on the processor.  This approach is fine for equipment plugged into power lines, but what happens when you want to use this technology in a set of headphones or a cellular phone running on a tiny lithium Ion battery? 

Run time is king when using portable devices - especially consumer equipment such as cellular phones.  Many phone developers assume that the cost of the DSP in the phone is already amortized, so they look to continue to bloat the code by adding this function into the already taxed DSP.  Processing cycles are not free even if the hardware is... and this problem shows up in poor run time or a lack of performance.  Moving some of the functionality back to the analog domain can save a large amount of the power budget.  This is not only due to the function being moved out of the DSP’s software to a lower power analog solution, but by reducing the cycles executed by the processor. 

An example of this is the National LMV1088 Far Field Noise Suppression device.  This IC uses two microphones to listen to the near field audio signal or speech and cancel out the far field noise.  The noise suppression function is completely done in the analog domain greatly saving energy.  This technique is also referred to as A-to-I for Analog-to-Information.  It means that the analog signals are directly converted into something useful - in this case, improved speech recognition in high noise environments.

Next week in Part II of this post I’ll discuss the fundamentals of coding software and the effects it has on the power consumption of our computers and infrastructure.  Till next time...

August 21, 2008

Creating Efficient Architectures

Bookmark and Share

Back in April, I sat on a panel at the 2008 Globalpress Electronics Summit held in San Francisco along with several esteemed collogues.  We were asked a question at the end of the discussion - "What single thing could the electronics industry do to help save energy?" My original answer was to implement a set of metrics to allow engineers to quickly evaluate the energy consumed by a device or system in relation to the function that device or system provides.  This would provide engineers a way to accurately evaluate competing devices and sub-systems to find the most energy efficient solutions. National Semiconductor has adopted a set of metrics for their PowerWise® Solutions Family of devices which defines these parameters.  But over the months since the conference, I also thought there could be more.

Today we are facing a crisis... one that is undeniable and visible every day we turn on the news.  Energy is in growing demand and heavily influences our economy.  Without it, our modern civilization would grind to a halt.  For example, at the current growth rate of electrical consumption it is predicted that by 2030 over 300 new gigawatt power plants will need to be built to keep pace. There are two choices - we can find more usable energy or we can be more efficient with what we have.  The final solution will be a combination of both.

Part of being efficient is understanding what is required and what is superfluous.  Efficiency experts study process flows to see where time is being wasted in the production of some item or items.  Assembly lines are case studies for this type of exercise.  Early in the 20th century, Charles Sorensen and Charlie Lewis employed by Ford Motor Company figured out how to build a moving assembly line for the Model T which greatly simplified the production of the vehicle reducing both time and cost.  This change - moving the car to each work station instead of moving the workers - was a major efficiency improvement in the production of automobiles.

Engineers have a responsibility to be efficient which is often overlooked.  In 1908 William A. Smith stated, "Engineering is the science of economy, of conserving the energy, kinetic and potential, provided and stored up by nature for the use of man. It is the business of engineering to utilize this energy to the best advantage, so that there may be the least possible waste." Just because you have 2000 watts of power available at an electrical outlet doesn’t mean you can use it all to solve your problem.  Sure, it’s easier to provide a function without concern for the method or implementation of the product. However, engineers must consider their choice in components to best solve their problem using the least amount of energy.

But even more important is how these components are used together to solve a problem.  This is the architecture of the design - the combination of subsystems that best solves the problem.  Architectures can evolve over time based on the availability of certain technologies.  For example, modern LCD HDTV units have used LCD glass with red, green and blue (RGB) color filters to turn the white light of the cold cathode florescent light (CCFL) tubes in the back-light into color pixels.  Over 85% of the backlight energy is absorbed by these color filters.  Converting the backlight to white LEDs and controlling the brightness dynamically across the image frame greatly reduces power and improves the contrast ratio. This modification of the backlight is an architectural change.

Possibly the next big architectural change in LCDs will be frame sequential scan technology which removes the color filters completely.  It also replaces the white LEDs with RGB LEDs which are sequenced - red, green, blue - along with the LCD image (running 3 to 6 times faster than the frame rate).  Each new complete image frame is composed of a red, green and blue frame which sequences so fast, the human eye cannot detect it.  A 42 inch HDTV that today draws 500 watts could be reduced to fewer than 100 watts using this architecture.

Some of the greatest gains in energy efficiency can be found in improving the system architecture.  Intel and AMD have known this for years.  Single execution pipelines can only run so fast, so by creating multiple execution paths, the processing speed can be increased.  From a perspective of saving energy, the parts can run slower and provide the same amount of processing power thus improving the performance to energy consumed.  This advancement in architecture enabled the notebook computing revolution we see today and is also helping reduce the power consumption of server farms.

In the analog semiconductor world architecture is equally important. High speed analog to digital converters (ADCs) can require a large amount of energy to perform the function of converting analog signals to digital bits.  In medical imaging systems such as ultrasound equipment, large numbers of ADCs are required to convert the analog image data into digital form so the image processors can create a picture.  To create a portable ultrasound that runs from batteries, you either need very large battery packs or a way to reduce the overall power consumption. 

Typical ADCs used in ultrasound equipment use a pipeline architecture which is very similar to the assembly line approach envisioned by Sorensen and Lewis.  Each step of the way, the system converts a piece of the analog signal to bits and passes the analog remainder to the next stage.  This architecture works very well and is found in many high speed ADCs.  However, it does take a certain amount of power to keep the "assembly line" running.  Alternative ADC architectures, such as Delta Sigma ADCs used switched capacitor modulators and filters which become very inefficient at higher conversion speeds.  National Semiconductor figured out how to substitute the switched capacitor stages for continuous time versions which dramatically lowers the power.  The first component, the ADC12EU050, debuted with 30% lower power consumption when compared to its nearest competitor.  This type of ADC also eliminated the requirement for external anti-aliasing filters which again reduced the cost and power consumption of the overall system.

As engineers, we need to continuously examine how we design things and try to look beyond our normal methods.  Sorensen and Lewis looked beyond the limits of their current methods to fundamentally change the way automobiles were assembled - these methods are still in use almost 100 years later.  Thinking "outside the box" sometimes provides an insight never seen before and could solve many of our troubling problems that we face today...

So, the next time you are about to design a new product, try and avoid starting the project with the "let’s look how we did it the last time and start there" approach.  One of my old professors once told me "a new problem requires a clean sheet of paper..." pretty good advice even 30 years later.  Till next time...

August 11, 2008

The Hidden Benefits of Electric Vehicles – Driving Tax Free

Bookmark and Share

Today the surge in fuel prices has started a trend in improving mileage and adopting alternative fuels as well as driving consumers to gas-electric hybrids and soon fully electric vehicles.  What’s more interesting about this trend is the current hidden benefits associated with the movement to electricity as an energy source for transportation.  Let’s take a look at an example of a hidden benefit that early adopters of electric vehicles will enjoy - but probably not forever...

First, let’s take a look at taxation on motor vehicles.  The gasoline tax began in 1932 when Congress placed an excise tax on the fuel, but it wasn’t until 1956 that all of the funds collected went to highway spending through the Federal-Aid Highway Act.  Additional taxes have been added by local and state governments totaling about 11% to the price of the fuel.  So roughly US$0.44 of the purchase price of a gallon of gasoline (US$4.00) is taxes. These moneys are used for road improvements, maintenance, public transportation projects, etc. 

So, if vehicle A gets 15 MPG and vehicle B gets 50 MPG, which owner is paying more tax to build roads and maintain the ones we have?  I’m sure you’ve guessed... the owner of the lower mileage vehicle.  That gas guzzler you’re driving is costing you more in tax than if you drove a compact car.  If both vehicles are driven 15,000 miles per year, then the owner of vehicle A will pay US$440 in taxes and the owner of vehicle B will only pay US$132 which is less than one third as much.

OK, so you might say, "big deal- the less efficient car is probably larger and does more damage to the road so they should pay more".  I might buy that, but here’s another scenario.  What if vehicle A gets 30 MPG and the vehicle B is a plug-in hybrid that gets 200 MPG.  Both vehicles weigh the same and are about the same size - now which owner gets a tax break? Obviously, the gas-electric hybrid owner does.  They will only pay US$33 versus the owner of the gas powered vehicle who will pay US$220. 

Now what happens when your vehicle doesn’t use gasoline at all?  A fully electric car that is plugged into your home outlet every night is not (currently) taxed at all.  You would drive on non-toll roads effectively for free - no tax.  Now the question is, should the government leave it that way for the near future to help convert people to gas-electric hybrids and fully electric cars?  In an earlier post I talked about the future of fully electric automobiles (see: A Case Study of Electric Vehicles).  In that study, I also noted that the cost of ownership is far less for electric cars than for gasoline powered vehicles.  Once a practical electric vehicle (i.e. reasonable cost, 400+ miles to the charge, good size, no battery replacement, etc.) reaches the market, more people will begin to migrate. 

In an electric vehicle economy, the question then becomes who carries the burden of road maintenance and construction?  Could you tax the electricity used to charge the car?  The power company simply adds an additional "vehicle" tax to your power bill... but what portion of your electric bill is for charging your car?  What if you live in an apartment and drive 90 miles each day to work and your friend lives in a 5000 square foot home and drives 3 miles to work?  I would guess that taxing electricity directly would not be very equitable.  And what if your house was powered by solar power or the car itself had solar panels in the roof that charged it up any time it’s in sunlight?  Now, how do you tax it?  You could add an "ad valorem" tax (i.e. a tax based on the car’s value) to the license tag.  Now electric vehicles costing more than a conventional car would pay more.  This still does not address the usage tax which gasoline taxes provide.

In an electric vehicle future there is the possibility that the license tag itself will keep track of mileage for you.  Once a day it will report your mileage on public roads as you drive by readers in the road-way and you’ll get a tax bill either at the end of the month or once a year (similar to a property tax bill).  This would fairly tax each vehicle based on usage and allow any source of energy to charge it.  It would also provide an incentive to drive less - possibly telecommute more and in the process save energy.  Today, modern toll roads use electronic passes to collect tolls - this method could simply be an extension of the current technology.  Maybe fully electric vehicles will have this function built in when you buy it...

So, for now get your electric or gas-electric hybrid and cash in on your tax break while it lasts... there will be interesting times ahead for sure! Let me know what you think?  Till next time...

August 05, 2008

The True Cost of an Internet “Click”

Bookmark and Share

Did you ever stop and think about how much energy you consume? Yes, you personally... and your family.  I think about it all the time.  I turn off lights, adjust the thermostat, consolidate my trips to reduce fuel consumption and turn off the TV when not watching.  I’m sure you do the exact same thing.  The cost of all forms of energy is continuously increasing especially in the last few years.  But have you ever thought about how much energy you consume when you click a link on a web page or send an email... probably not - and neither have I until now. 

I do a great deal of research into how efficiently energy is used in various systems and processes and I’m constantly on the Internet accessing websites.  Recently in a meeting, a fellow executive made a comment that hiding behind the cost of your Internet broadband connection and home computers were hidden energy drains.  These were the infrastructure and servers that manifest the information super-highway.  How much power was consumed because you wanted to see the latest top video on YouTube?  What if you didn’t click it? How much power would you save? How much carbon dioxide did you save from our atmosphere?  I thought, "Wow" what an interesting question...  Now, can we answer that question? That’s the question.  This is a monumental task... and difficult to estimate (but that’s never stopped me before), so we’ll have to examine exactly what happens when you access a website and make some assumptions to reach a reasonable conclusion.  Here goes...

First we need to consider what happens when you "click" a link in a browser.  The browser must first connect to the target server so it can request the page associated with the link in the page.  This is accomplished using Transport Control Protocol (TCP) and is similar to placing a phone call to the server.  Once the server "answers" and establishes the connection, the browser forms a request packet for the page tied to the link.  This request asks the server to send the contents of the page back to the browser.  If the page address is valid, the server then responds with a stream of packets that identify it as a valid server response along with all of the Hypertext Markup Language (HTML) contents plus other information such as scripts, meta-data, formatting and others.  Once all of the contents of the request are delivered to the browser, the connection is ended and the information is rendered into something the user can see and read.  Modern browsers actually make multiple connections and requests simultaneously to fill in images and other sections of the page.  This makes the rendering much faster and provides a smoother appearance to the user (See below).

Http_transaction_3

The process above takes place between two computers usually separated by a vast distance.  It is very reasonable to expect most web accesses made by a user reach servers that are located anywhere from hundreds to thousands of miles away.  Between the two computers is a vast network of switches and routers - a "highway" for the data packets.  Like railroad trains, the packets travel from your cable modem over your cable network (the local spur line) to the central office.  There the packets are switched to higher bandwidth fiber optic cables (main rail lines) using very short pulses of laser light which travel extremely far.  The packets may transition several major switching stations before being routed to the local network connected to the distant server.  What’s interesting is that the messages between the computers will often require multiple packets and, like trains, may arrive at different times out of order from what was sent.  This occurs due to traffic conditions along the way, again like trains on a railroad, the data routers find the most efficient path to deliver the packets resulting in varying arrival times.  One job of the receiving computer is to re-order the information and pass it on to the high level software for interpretation.

All of the technology to accomplish this transaction requires power - from the computers at both end (yours and the distant server) to the networking equipment and networks in between.  As mentioned earlier, to estimate the power consumed in loading a web page we need to make some assumptions.  For this estimate, we’ll ignore the power in the local computer and home network infrastructure - this would be considered already spent in the local budget regardless of the Internet accesses.  We will only consider power consumed by everything external to your location. 

Next we’ll need to consider the page contents and how many packets would be required to move the information back to your browser.  Our "typical" page will have no video since that is most often streamed and holds the connection open (like a long phone conversation with your best friend - only they do all the talking).  It will have 3 graphics that average 100kb each and about 5000 characters of information (e.g. a Wikipedia or news page).  The total page contents will require approximately 310kb to be transferred from the server to the browser.  Upstream from the browser, there will be at least 4 requests (1 for the page, 3 for the images).  The requests will occupy only about several hundred bytes of data, so in total the one web page request will move about 315kb of data (which includes all the connection overhead) between the two computers. 

Now that we have an understanding of how much information is transferred between the two machines, we need to examine how much additional networking equipment the information crosses and the power consumed.  We’ll assume the cable head end has a modem, a switches and a router - totaling approximately 200 watts.  The high speed connection on the Internet side of the router probably has a fiber link with an interface box (another 100 watts).  We’ll assume the packets make 3 jumps to other routers along the way.  Each jump will have 2 fiber boxes and a high speed router (to simplify) for a total of 300 watts for each jump.  The server farm will have one fiber box, a router and switches which adds an additional 300 watts.  The total network power for that link is approximately 1500 watts.  Last, we need to consider the average power of a modern blade server - let’s assume it averages around 50 watts.

Now that we have a scientific guess at the power numbers, it gets a bit complicated.  We need to know how much time your data used each piece of equipment so we can get watt-hours, a measure of energy.  Let’s examine the various speeds starting with the cable side.  Typical Data Over Cable System Interface Specification (DOCSIS) cable modem will have an aggregate bandwidth of around 152 Mbps (Mega-bit per second) down stream and 108 Mbps upstream (to the server).  To simplify the calculation for time that the packets stay on that leg of the network, we’ll use the upstream data rate of 108 Mbps.  We’ll also assume the fiber legs are OC-12 (Optical Carrier 12) with data rates of around 601 Mbps (622 Mbps - 21 Mbps overhead).  The final leg inside the web server’s infrastructure will most likely be a 1 Gbps (gigabit per second) Ethernet path.

To normalize all of these varying power-speed numbers, we’ll turn to a metric used by my company, National Semiconductor to rate the power consumption of interface devices.  This breaks down the speed and power numbers into one unit of measure in units of energy per bit (Joules/bit - see PowerWise® Solution Metrics).  I’ve also mentioned this method in a previous blog (The Efficiency of Moving Bits) and it allows us to greatly simplify calculating all the various speed-power numbers.  Table 1 shows how we figure out the picojoules per bit for each hop the data takes. The total energy per bit is roughly 4.6 microjoules per bit.

Table 1 - Network Energy Consumption
Network Equip. Power Data Rate pJ/bit Value
Cable (DOCSIS) 300 W 108 Mbps 2.8 uJ/bit
Fiber (OC-12) 900 W (3 x 300) 601 Mbps 1.5 uJ/bit
Ethernet 300 W 1000 Mbps 0.3 uJ/bit
TOTAL 4.6 uJ/bit

The server blade usage will vary, but we’ll assume a fully loaded server providing 2000 pages per second.  Your page will then occupy one access of that or 1/2000 of 40 watts or 0.02 watt-seconds (Joules).  Now let’s see how this all adds up for your web page view.

We concluded that the average page request occupied about 315,000 bytes of data.  That’s 2.52 x 10^6 bits.  The total energy required for the transaction was 4.6 x 10^-6 Joules per bit.  Multiplying these two numbers result in 11.52 Joules.  We add in the server energy of 0.02 Joules for a total of 11.61 watt-seconds (Joules) for each page view.  Again, this is not streaming video (I’ll look at that in a future blog post), but a static web page access from a server.  If you now multiply that single access by 1 million every second (a medium city’s population browsing the web), you get an energy consumption number of around 11.610 kilowatts an hour to keep the data moving...  enough energy to power roughly 13 US households for a month!  For you viewing 100 pages in a day, that would be about 323 milliwatt-hours of energy - or the equivalent of watching TV for about 10 minutes - and interesting thought.

As expected, it seems that the contribution of any individual is extremely small, but the sum of the population makes a much larger impact.  Maybe you’ve got a better estimate or have looked at this before more closely... let me know what you think!  Till next time...