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.

Structure
  • 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
Registration

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
Registration

Due to limited capacity, we can offer the course only for up to 10 participants.
Please register for EASY by contacting us via mail (cs-os-easy-orga@lists.rub.de).
Places will be granted on a first-come first-served basis.

Semester: WiSe 2024/25