Power efficiency is becoming an increasingly important concern: from systems-on-a-chip, to multi-core architecture to data centers, techniques are being developed to better make use of energy. This seminar class will explore power efficiency and programming languages. We will be looking at techniques for improving power efficiency at various different levels of abstraction and trying to understand how program analysis and compiler technology can help.
The course will be a seminar-style class where we read papers, and discuss them in class. It is meant as an exploratory course, where we will brainstorm together to better understand the relation between power-saving techniques and compiler/language techniques. As such, the scope of the course is quite broad, and can include: power-aware compilation techniques, programming languages for making embedded systems more power-efficient, systems level techniques for saving power, scheduling algorithms for multi-cores and/or clusters (and any other topic that you think is relevant!)
Here is the list of papers from which we will choose.