Pressure for green solutions in embedded computing applications is increasing due to growing energy demands from embedded electronics and increasing evidence of global climate change. Despite environmental concerns, expectations for higher performance continue to increase with each new product generation.
Although traditional offline powered equipment such as appliances, lighting systems, and HVAC (heating, ventilation, and air conditioning) dominate electric equipment energy consumption, embedded electronics and online equipment such as printers, storage, networking infrastructure, and data centers are increasingly consuming a larger share of our energy resources. Even equipment that was traditionally offline, such as TVs, refrigerators, and HVAC controls, are now going online, while containing even more embedded processing.
To balance the performance required for powerful new electronic applications with rising concerns over energy consumption, “green” movements and government regulations and programs are driving manufacturers to develop intelligent strategies for optimizing performance within specific energy budgets.
Traditional embedded computing platforms have been designed for maximum work load with little regard to the cyclical work profile across hourly, daily, weekly, or extended time intervals. However, new-generation high performance systems are shifting their design focus from provisioning worst-case maximum power loads to optimizing for energy efficiency across varying workloads.
Products such as printers are good examples of cyclical workload, as they tend to spend much more time in a ready-to-print state or performing low-workload management services than they do for higher energy consumption printing states. Other embedded applications such as home network gateways, industrial processing plants, and telecommunications systems can employ similar profiling to reduce energy waste and costs too.
As an example, office printers typically print cumulatively only 1 hour out of a 168 hour work week. Without system power management techniques, the 167 hours of idle time power cumulatively can exceed the active state power. Lowering power consumption requires advanced energy management schemes from new product development engineers. A simple strategy to design lower power consuming electronics begins to address the green embedded computing challenge. However, larger gains will come from creating flexible systems that can pace workload with energy consumption in an intelligent and efficient manner.
Previous work has concentrated on analyzing and optimizing energy for PCs. S. Dedevschi and his coworkers  investigated traffic patterns in PC computer networks with the intent of identifying classes of traffic that could potentially be handled by an Autorespond Proxy to reduce idle power. S. Gobriel, C. Maciocco, T.C. Tai  introduces some simple heuristics (rather than deep packet inspection) in the context of a NIC connected to a PC to determine when to enable Packet Accumulation. Y. Aggarwal and his co-investigators  created a concept called Somniloquy for a type of application-level Autorespond Proxy for PCs. The techniques presented by these authors will be expanded upon later in this series.
However, networked embedded devices have a different set of requirements with more stringent power limits than PCs. Therefore, solutions that require additional hardware components may save significant power in a PC, but the same strategy will not necessarily in an embedded system where the power of the additional hardware components may exceed the power otherwise saved by their use. A potential example of this is the autorespond proxy described later in this paper.
Embedded devices have other characteristics and requirements that differ from PCs. Historically, although the gap is diminishing, processing levels are not as high for embedded devices as for PCs. Other key features of the workload may impact the optimal low power system solution. For example, an embedded processor is less likely to have to perform scheduled virus scans or data backups, and an embedded processor may require a faster wakeup time from a sleep mode than a general-purpose PC. This article concentrates on low power network standby as it relates to embedded systems in the home and office.
Understanding the embedded cyclical states
In most cases, all work performed in embedded computing applications is done in cycles – a combination of active states, management states, and network standby states that are dynamically administered to optimize energy-efficient performance on demand for such applications as high-speed printing, home routers, and WAN managed systems. The various network functions that the system performs in each state are outlined in Figure 1 .
In an embedded networked application, the system spends much of the time in a low-power network standby mode and wakes up in response to an external event. If the system takes too long to wake up, the window for acting on the event that caused the wake up may have closed.
Further power reductions can be achieved in non-active states. In wired networks, 10/100 Mbit Ethernet interfaces rather than Gigabit may be sufficient, saving significant Ethernet PHY power. Even bigger savings have been available since 2010, when the IEEE ratified the Energy Efficient Ethernet (also known as 802.3az) standard, . This standard reduces power during periods of low use, and Ethernet PHYs that support it can reduce power by up to 70% when the PHY is not receiving or transmitting packets.
Considerable effort has been made toward reducing the energy consumption of the many embedded devices in our homes – from TVs to printers and refrigerators. But the fact that many of them are now networked to the external world undercuts many of these efforts, even though most of these devices spend the majority of their time idle. However, they still need to remain present on the network. This creates the need for a new energy conservation technique – minimizing power while network-connected and idle – but still ready to respond at a moment’s notice.
Fortunately, there are three ways to handle the network traffic at the heart of a low power network standby system – packet classification, packet accumulation, and autorespond proxies.Packet Classification
Lossless packet operation in a networkedenvironment is a method for ensuring that critical packets initiate thewake-up sequence and that no targeted packets are lost. A commonexample is wake-on-ARP (address resolution protocol, ). An ARP packetcan find a host’s hardware address when given its network layeraddress. When the system receives an ARP packet that is destined for italone, it triggers a wake-up to respond as per protocol specifications.
Computernetworks in the home and office typically have traffic 24 hours a day,even when no one is in the home or office, and even when the building isnot occupied. This “idle” network traffic is analyzed by S.Nedevschi  and S. Gobriel . Note that even though such papersanalyze traffic in the context of PCs, this is still relevant forembedded networked devices in the home or office, which generallyco-exist on networks shared with PCs and thus are subject to the sameclasses of incoming traffic.
S. Nedevschi  and his coworkersshowed that in the systems they measured, the primary source ofbroadcast traffic in both the office and home is in fact ARP, and thatwhile office networks may have significant multi-cast router traffic,such as the Hot Standby Router Protocol (HSRP) or Protocol IndependentMulticast (PIM), these multicast packets in general can be safelyignored.
Many packets that arrive on the network are destined forother devices on the network, not the embedded processor in question.They can therefore be safely ignored, as can router multi-cast traffic.If the controlling processor wakes up on every packet, it will beconstantly awake and have no time to enter a low-power mode.Nevertheless, there are times when the processor needs to wake up toservice and process certain packets. This is similar to the concept of“proxy_1” described in “Skilled in the art of being idle: Reducingenergy waste in networked systems” .
Embedded processors needto be able to wake on any targeted network event. For example, in anetworked system with what is here termed packet classification, anembedded processor can enter the network standby mode where the systemis dormant yet its network controller still operates and no packets areignored. At the same time, if desired, DDR can be in self-refresh mode,still accessible if needed to buffer packets, while potentially alsostoring the system state for fast wake-up.
For true packetclassification, the network controller needs to have some additionalcapability, in particular a Receive Filer to inspect and classifyincoming packets. The Receive Filer can be configured to drop packetsthat don’t need to be processed. Packets that need processing, such asARP packets destined for the correct address, are written to DDR, andthe network controller wakes the system from deep sleep for processing.For flexibility, the Receive Filer should be programmed to accept andwake on whatever packets are interesting for a particular system usageconfiguration.
An example of a product performing packetclassification is in the Freescale MPC8536E PowerQUICC IIICommunications Processor , in which packet classification is done inits deep sleep mode through the enhanced Triple-Speed EthernetController (eTSEC).
When in deep sleep, MPC8536E removes powerfrom its core and L2 cache, leaving the eTSEC and path to DDR memoryoperational. The eTSEC receives incoming packets, and through itsReceive Filer performs deep packet inspection to either reject a packet(staying in deep sleep), or write the packet to DDR memory, thereby alsowaking the system to perform further processing as needed.
The goalis to achieve the best of both worlds – operating at ultra-low power thevast majority of the time, yet with no penalty of reduced functionalityfrom protocol timeouts due to dropped packets – because the system canwake and respond as needed.
In Part 2 we discuss the other twoways to handle network traffic in embedded systems: packet accumulationand autorespond proxies.
Ben Eckermann is a Senior Member of Technical Staff, andSystems Architect for Digital Networking at Freescale. He has designed and architectedlow-power products for Freescale (and formerly Motorola) for more than 12years. He holds a Bachelor of Engineering (Computer Systems) with First ClassHonours from the University of Adelaide, Australia.