Energy-Aware Computing Systems (EASY)

2023-09-04: target timeslots for the winter term 23/24
                     lecture: Wednesday, 10:15 – 11:45
                     exercise: Wednesday, 12:15 – 13:45


Electrical energy is the single most important operating resource for computer systems. Although the energy demand of computers is an invisible system property by itself, the impact of energy demand is omnipresent and obvious in various forms of appearance. Sudden system failures (i.e., system breakdowns) and recurrent standard system operations (i.e., power management) serve as practical examples. The lecture discusses the design of energy-aware computing systems and shines light on topics, such as power and energy management, energy demand analysis, energy-aware operating-system architecture.

The lecture is linked to the exercises through research papers. The students read the papers in preparation for lectures. From there, the research papers are the basis for discussion and build the starting point for the assignments of the exercises. As part of the exercises, the students apply concepts and strategies from the research papers to systems and evaluate the impact on the system’s energy efficiency.


  • Introduction
  • Fundamentals
    • power, energy, and performance
    • causality (interdependencies, dimensions)
    • interrelationship of software activities and energy demand
  • Energy demand analysis
    • awareness of energy demand
    • physical (measuring power and energy) and logical (power and energy models)
  • Power and Energy Management
    • energy accounting
    • hardware power management
    • energy-aware operating-system architecture
  • Methods
    • compiler optimisations and code transformations
    • thermal management
    • storage and file systems
    • memory management
    • network, wireless, and protocols
  • Systems
    • embedded systems
    • energy-aware server/cluster infrastructure
    • display technologies
    • electricity grid
  • Conclusion


In order to successfully participate you require
  • knowledge on structured computer organization
  • knowledge on algorithm design, and development
  • experience with GNU/Linux systems
  • principles of programming in C
  • basic knowledge of at least one scripting language (e.g. bash, Python)

Additionally, it may be beneficial if you have
  • basic knowledge of a version control system, such as git

Any questions regarding the lecture’s content or organisation?
Contact us via e-mail

Lecturer and Tutors



6 CP
yearly (winter term)
oral exam
E-Mail (

Further information can be found in the Moodle course and the module description.