Einstiegsfrage: Was ist ein Energiebewusstes System? Wie würdest du es einem Informatiker erklären der EASY noch nicht gehört hat?
Antwort: Ein System bei dem sich die Entwickler darüber bewusst sind, wo in etwa wie viel Energie verbraucht wird, so dass sie reagieren können falls es zu Problemen kommt. Das System muss nicht unbedingt Energie effizient sein (solange es kein Problem ist).
Frage: Wenn du an der Entwicklung eines solchen Systems beteiligt wärst, worauf würdest du achten?
Antwort: Wärmeentwicklung bzw. Stromverbrauch bei Servern, Energieverbrauch bei Batteriebetriebenen Systemen. Wenn ich schon bei der Entwicklung des Systems dabei wäre würde ich Hardware einbauen die den physikalischen Energieverbrauch misst.
Frage: Was für verschiedene Möglichkeiten gibt es, in einem System den Energieverbrauch zu bestimmen?
Antwort: Es gibt physikalische (e.g. Shunts) und modellbasierte Methoden (e.g. Modelle basierend auf Hardware/Software Performance Countern und Instruktionen).
Frage: Warum würdest du die physikalischen bevorzugen?
Antwort: Weil Modelle schon beim erstellen ungenau sein können und ein Produkt sich im Betrieb dann auch (z.B. durch alterung) verändern kann so das das ursprünglich genaue Modell ungenau wird. Außerdem sind Modelle für moderne Hardware sehr komplex wenn sie genau sein wollen.
Frage: Was für Möglichkeiten gibt es, den Energieverbrauch in einem System zu reduzieren, welche zwei grundlegenden Ansätze gibt es da?
Antwort: Nichtblockierende (e.g. RAPL, DVFS) und blockierende Methoden (C- und S-States). [Notiz: AVFS bin ich nicht dazu gekommen es zu erwähnen aber Timo ist auch nicht drauf eingegangen.]
Frage: Was ist DVFS genau?
Antwort: DVFS nutzt aus, das wenn man die Frequenz verringern kann (was noch nicht den Energieverbrauch pro Operation direkt verringern würde, sondern eventuell nur indirekt über geringere Temperatur oder das Vermeiden von CPU-Stalls), das man dann auch die Spannung verringern kann (weil die Gates dann mehr Zeit zum Switchen haben). Weil die Spannung quadratisch in den Energiverbrauch eingeht spart man so tatsächlich Energie pro Zyklus.
Frage: Kannst du das Process Cruise Control-Paper von in etwa 3 Sätzen beschreiben?
Antwort: Ihr Ziel war es Energie zu sparen. Dazu haben sie für verschiedene Programm versucht mit Performance Countern zur Laufzeit abzuschätzen, wie stark sie die Frequenz runterdrehen können, ohne das ein bestimmtes Maß an Performance Einbußen überschritten wird.
Frage: Hast du einen Kritikpunkt am Paper, was würdest du heute anders machen?
Antwort: Eventuell könnte man RAPL einsetzen, aber als Kritikpunkt habe ich, dass sie auf Race/Crawl to Sleep nicht eingegangen sind, und das nicht klar ist ob sie den Idle Energieverbrauch vom dynamsichen Energieverbrauch (der in allen Plots auftaucht) abziehen. Wenn sie das nicht getan haben würde das bedeuten das ihr Ansatz eventuell nicht wirklich Energie spart weil das System weniger Zeit in C-States verbringt.
Frage:
Wir haben nur noch wenig Zeit. Noch mal eine kurze Zusammnefassung zum Nemesis OS Paper bitte.
Antwort: Ihre These war es, dass wenn man ein System hat, indem Resourcen nur an einer Stelle gemultiplext werden (e.g. beim Display durch einen Treiber der nur noch die von den Programmen selbst gerenderten Pixel auf die Grafikkarte schiebt), dass dann Energie nur eine weitere Resource ist und man sie leicht den Prozessen zuordnen kann. Energiemessen wollten sie mit ACPI und Smart Battery Interface machen, aber ob sie es wirklich probiert haben wird nicht klar. [Hier hat Timo mich unterbrochen und meinte die Zeit ist vorbei.]