@mastersthesis{morales2014cryogenic,
  title = {Cryogenic: Enabling Power-Aware Applications on Linux}, 
  author = {Alejandra Morales}, 
  school = {Technische Universit{\"a}t M{\"u}nchen}, 
  volume = {M. Sc}, 
  year = {2014}, 
  month = {February}, 
  address = {Garching bei M{\"u}nchen}, 
  pages = {0--106}, 
  type = {Masters}, 
  abstract = {As a means of reducing power consumption, hardware devices are capable to
        enter into sleep-states that have low power consumption. Waking up from those
        states in order to return to work is typically a rather energy-intensive
        activity. Some existing applications have non-urgent tasks that currently force
        hardware to wake up needlessly or prevent it from going to sleep. It would be
        better if such non-urgent activities could be scheduled to execute when the
        respective devices are active to maximize the duration of sleep-states. This
        requires cooperation between applications and the kernel in order to determine
        when the execution of a task will not be expensive in terms of power consumption.
        This work presents the design and implementation of Cryogenic, a POSIX-compatible
        API that enables clustering tasks based on the hardware activity state.
        Specifically, Cryogenic's API allows applications to defer their execution until
        other tasks use the device they want to use. As a result, two actions that
        contribute to reduce the device energy consumption are achieved: reduce the
        number of hardware wake-ups and maximize the idle periods. The energy
        measurements enacted at the end of this thesis demonstrate that, for the specific
        setup and conditions present during our experimentation, Cryogenic is capable to
        achieve savings between 1\% and 10\% for a USB WiFi device. Although we ideally
        target mobile platforms, Cryogenic has been developed by means a new Linux module
        that integrates with the existing POSIX event loop system calls. This allows to
        use Cryogenic on many different platforms as long as they use a GNU/Linux
        distribution as the main operating system. An evidence of this can be found in
        this thesis, where we demonstrate the power savings on a single-board computer}, 
  www_section = {cooperative, cryogenic, GNUnet, Linux, POSIX, power}, 
  www_pdf_url = {https://git.gnunet.org/bibliography.git/plain/docs/morales2014cryogenic.pdf},
  www_tags = {selected}, 
  url = {https://bibliography.gnunet.org}, 
}

