Enabling Power-Aware Applications on Linux Using Cyrogenic Module

A post in Phoronix: “Cryogenic” Linux Kernel Drops Power Use shed light on a Linux kernel module improving power consumption.

This module was written as part of a master thesis in computer science at TUM (Technical University of Munich) by Alejandra Morales Ruiz. The thesis is well written, showing what others have already done in this area, providing evidence that the new approach reduces power consumption.

The thesis can be downloaded on https://gnunet.org. More on Cyrogenic in Cyrogenic.

Some excerpts from the thesis and above web-site: The whole implementation of Cryogenic is embedded in a kernel module that works as a character device driver. When Cryogenic is loaded, a set of character devices is created and a subset of system calls is defined. The system calls handle the character devices through the device nodes created under /dev/cryogenic/. This is the API that developers will use later to manage the interaction between applications and hardware devices. (…) Non-urgent tasks may not only force devices to wake up, but also prevent them from going to sleep, since they may reset the timeout to enter the sleep state. Therefore, the second action taken by Cryogenic is to lengthen the duration of idle periods. This way, the overall consumption decreases and it is more likely that the device enters into sleep. Cryogenic is capable to achieve savings between 1% and 10% for a USB WiFi device.


The thesis takes a UDP client as example.


Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.