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

Embedded Linux ecology

May 24, 2006 — by LinuxDevices Staff — from the LinuxDevices Archive — views

Foreword: This brief article presents tips and tricks for reducing the consumption of power, paper, RAM, storage, and processor cycles in Linux systems. It was written by Michael Opdenacker, of Free Electrons, a training and consulting company that publishes free presentations and training materials about embedded Linux. Enjoy . . . !


The Linux Ecology HOWTO is a document that gathers ideas and techniques for using Linux in an environmentally friendly way. Free Electrons has just added new useful resources to this document, some used in traditional computing, and some coming from its experience with embedded system development.

The HOWTO was started and is maintained by Werner Heuser, the creator of TuxMobil. The main topics are about reducing the consumption of resources, such as power and paper, but also RAM, storage and CPU resources, making it possible to recycle old PCs, or to extend their lifetime, reducing the consumption of PC materials.

As far as traditional computing is concerned, the document now explains how to hibernate a desktop or notebook PC to disk with Suspend 2, how to automatically scale CPU frequency according to its activity or to other criteria (board temperature, power state…), and how to reduce hard disk consumption with laptop mode. Another new idea for servers is to take advantage of virtualization techniques (such as User Mode Linux or Xen) to consolidate several idle servers into a single one or just a few with a much better utilization.

Now, let's highlight a few ideas coming from embedded Linux system development…

Reducing power consumption:

  • Dynamic tick — Disables timer interrupts when the processor is idle, until something really happens, such as a hardware interrupt. This way, the processor doesn't get woken up 100 to 1000 times per second, just to realize there is nothing to do. This saves power in laptops. Dynamic tick was pioneered on the TI OMAP (arm) platform, and is now available on x86.
  • noatime mount option — Useful to prevent a write to disk to happen every time a file is read (dictated by the POSIX standard, to store the latest access time), even if the file is read from RAM cache. This reduces hard disk power consumption, and doesn't disturb any application (except perhaps backup utilities). Many embedded Linux system developers are familiar with this option. Without it, too many write operations to flash storage would happen, reducing its lifetime.

Extending the lifetime of computers:

  • The former recommendation of the HOWTO for old computers was to use old versions of distributions, kernel and sotfware in general, which do not have the bloat accumulated in newer versions. Thanks to embeddded Linux projects, this recommendation no longer holds. Now, you can use fresh versions!
  • Many lightweight or tiny, but feature rich Linux distributions are now available for use on old PCs. The smallest ones now rely on components embedded Linux system developers are very familiar with, such as the Busybox tool box (implementing most UNIX commands in less than 500 KB), or the uClibc lightweight but full-featured library. The most spectacular example is Basic Linux, which only needs 3 MB of RAM and 6 MB of disk.
  • To bear with limited storage space, the strip command is useful to shrink libraries and executables by removing unnecessary debug information. Most tools used in embedded systems undergo this postprocessing. Files which need stripping can be identified with the file command, or even automatically found with findstrip from the perforate Debian package.
  • Reducing storage space can also be done by putting read-only parts of a filesystem (typically application files) in a compressed filesystem. SquashFS is very popular in embedded systems and yields excellent performance compared to read-only ext2 on slow storage.
  • A new alternative to explore for read-write filesystems is the compression plugin for the Reiser4 filesystem.
  • Kernel size can also be reduced with the Linux Tiny patches, developped for embedded systems.
  • Old computers are great for simple server applications (files, http, media streaming…) or network appliances (firewall, gateway, proxy…). If you do not have an old PC to implement such a device, do not buy a new one! Consumer devices running Linux are great alternatives. The most popular choices are the
    Linksys NSLU2 network attached storage device and wireless routers built arount the Linksys WRT chipset. You save money (those devices don't exceed $100), power and materials compared to a PC. In addition, these devices have a big and active user and developer community.
  • To rejuvenate an old PC, or to get the best performance out of a low-profile system, you may also try the real-time preemption patches from Ingo Molnar. These patches can give unprecedented responsiveness to your system.

So, while embedded Linux systems greatly benefited from prior development on PC computers, development on embedded Linux systems now also brings many new features and possibilities to GNU/Linux on traditional computers. This is particularly true when the goals are to reduce power consumption, to extend the lifetime of computers or to use lower-profile hardware manufactured at lower environmental costs.

Last but not least, compared to proprietary embedded systems, free and open-source operating systems like Linux or eCos also have another nice ecological advantage: a reduction in paper consumption!

A fellow embedded system developer told me he was approached once by the salesperson from a proprietary RTOS vendor. He got scared when he saw that the license manual was bigger than the user manual! With embedded Linux, just download the kernel and software you need. There is no paperwork, no NDAs to sign, no unnecessary travel to your place by salespeople. And there is so much documentation on so many places that even your boss will not be tempted to print it!

Free Electrons also created a new presentation summarizing the key ideas and techniques from the new HOWTO. Both this presentation and the updated HOWTO can be found here.


About the author: Michael Opdenacker founded Free Electrons in 2004. Located in the South of France, near Sophia Antipolis, Free Electrons offers training and consulting services to silicon vendors, systems vendors, and universities in France, the US, and elsewhere around the world. Free Electrons publishes its training materials and presentations under a free content license.


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



Comments are closed.