News Archive (1999-2012) | 2013-current at LinuxGizmos | Current Tech News Portal |    About   

Intelligent NIC downloads while host PC sleeps

Apr 27, 2009 — by LinuxDevices Staff — from the LinuxDevices Archive — 3 views

Developers at the University of San Diego say they will demonstrate massive power savings for desktop PCs from embedding an ARM- and Linux-based Gumstix CPU into a network interface. The “Somniloquy” can handle file-sharing and long downloads independently, and only wakes a host PC when necessary.

(Click here for a larger view of the Somniloquy)

According to the team of six researchers, who are reportedly scheduled to present Somniloquy research and prototypes at next month's USENIX Symposium on Networked Systems Design and Implementation in San Diego, 67 percent of enterprise desktop PCs remain powered on outside work hours, and the average residential computer is on approximately 34 percent of the time. Enterprise PCs are often left on for remote access, while home PCs are left on for quick availability, file sharing/downloading, instant messaging, and email, the researchers say.

As developer Yuvraj Agarwal and his colleagues point out, most desktops and laptops commonly feature an energy-saving S3 “sleep” (suspend-to-RAM) mode, but they cannot respond to remote network events while they are in this state. And, while WOL (wake-on-LAN) technology has been touted as one solution to this problem, it typically does not work remotely because of firewalls, because of the need to know in advance when a system is sleeping, and because of the need to know the MAC address of the sleeping PC.

The energy cost of all this is significant, according to the researchers. They measured five PCs (Dell Optiplex 745 and Dimension 4600 desktops, and Lenovo X60, Toshiba M400, and Lenovo T60 laptops) and found that while the systems used between 0.55 Watts and 3.6 Watts when in S3 sleep, they used much more electricity when in a “base power” mode — the lowest-power mode they could be in and still be responsive to network traffic. Here, consumption ranged from a low of 11 Watts for the Lenovo X60, to a high of 93.1 Watts for the Optiplex 745, with an overall average of 43 Watts.

To get around this problem, the researchers propose Somniloquy — the word for “talking in your sleep” — a intelligent network interface that includes its own ARM processor and can perform many operations even when the host PC is asleep. To build it, they turned to various tiny modules from Gumstix, selecting the connec 200xm processor module, etherstix and network interfaces, and a thumbstix USB interface/breakout board.

The Somniloquy is an intelligent, autonomous network interface
(Click to enlarge)

The resulting device, pictured above, includes a 200MHz Marvell PXA255 processor with 64MB of RAM and 16MB of flash storage, 10/100 Ethernet, WiFi, and an SD slot which was fitted with a 2GB memory card. So that the Somniloquy can detect a host PC's state and wake it up when necessary, it includes a second USB port and a custom-designed circuit board using an FTDI FT232RL USB-to-serial converter, the researchers say.

Block diagrams of Somniloquy hardware (left) and software (right) components
(Click either to enlarge)

The Gumstix-based Somniloquy prototype runs an embedded Linux distribution, including a full TCP/IP stack, DHCP, configurable routing tables, a configurable firewall, SSH and serial port communication. As for the host PC, this could run any operating system, but the initially implemented host software is for Windows Vista. A Somniloquy daemon detects any attempted transition to S3 sleep state and, before this is allowed to occur, transfers network state (MAC address, IP address, SSID, and other information) to the low-power processor.

As a result of all this technology, it's said, the Somniloquy can work in a variety of different ways, as follows:

  • When a host PC is powered up, the Somniloquy does nothing and is transparent to the host OS. In a production version, the Somniloquy's processor would be powered down in this mode, though the researchers say they were unable to implement power-down on the prototypes.

  • When the host PC initiates sleep, the Somniloquy detects this and transfers network state to the secondary processor, including ARP table entries, IP address, DHCP lease details, and wireless SSID, thereafter becoming capable of “impersonating” the host.

  • Since it continuously monitors incoming packets and watching for events such as requests on specific port numbers, the Somniloguy can wake up the host PC within a few seconds. This caters for applications such as remote file access, remote desktop access, telnet, and ssh requests.

  • Popular host applications such as web downloading, BitTorrent file sharing, and instant messaging, can be rewritten with “stubs” that run on the secondary processor. For example, in the case of downloading, when a host PC goes to sleep, the status of all interrupted downloads is sent to the Somniloqy, which resumes the downloads and stores data on its flash memory. Similarly, IM presence can be maintained. If flash storage becomes full, or a remote user asks to initiate a chat session, the Somniloquy responds by waking up the host PC.

The power savings that can be realized with these techniques are significant, to say the least. The Somniloquy is said to consume only from 1070 to 1300mW with an active network interface (or just 290mW if it's using a WiFi interface that's in power saving mode), and it uses only about 1675mW when data is being downloaded and written to flash. The device's power consumption is about 1/10th that of an awake laptop in base power mode, and approximately 50 times less than that of a desktop, the researchers say.


Further information on the Somniloquy project can be found in the paper, “Somniloquy: Augmenting Network Interfaces to Reduce PC Energy Usage,” by Yuvraj Agarwal, Steve Hodges, Ranveer Chandra, James Scott, Paramvir Bahl, Rajesh Gupta. The paper is available in PDF format, here.

This article was originally published on and has been donated to the open source community by QuinStreet Inc. Please visit for up-to-date news and articles about Linux and open source.

Comments are closed.