Energieeinsparung bei Laborsystemen
Für den Nutzer steht der Kommandozeilenclient wake zur Verfügung, welcher den als Parameter übergebenen Rechnernamen an den Server übermittelt und dadurch diesen aus dem Schlafzustand aufweckt — sollte sich der Rechner bereits im Betrieb befinden, so hat der Aufruf keine Auswirkung. Eine detaillierte Benutzung wird auf der Laborseite beschrieben.
Damit ein Rechner bei Nichtbenutzung in den Schlafmodus überführt wird, läuft auf den Rechnern der Dienst autosuspend, welcher auf aktive Nutzer prüft. Außerdem kann der Schlafmodus bei länger dauernde Aufgaben (wie Evaluation) aktiv mittels systemd-inhibit unterbunden werden. Zudem wird der Rechner regelmäßig für Aktualisierungen aufgeweckt, beim Einspielen der Updates wird ebenfalls eine Unterbrechung unterbunden.
Nach internen Untersuchungen haben wir uns für den Suspend-to-RAM-Schlafmodus (S3) entschieden, bei dem der Arbeitsspeicher weiterhin mit Strom versorgt wird und dadurch die Daten nicht verliert. Dies führt zu relativ kurzen Aufwachlatenzen im Bereich von wenigen (< 5) Sekunden. Der Suspend-to-Disk-Schlafmodus (S4) braucht hingegen eine deutlich längere Zeit zum Aufwachen (> 30 Sekunden) und ist fehleranfälliger. Die Unterschiede beim Stromverbrauch in beiden Modi sind im Milliwattbereich und vernachlässigbar, insgesamt liegt der Strombedarf im Schlafmodus unter einem Watt, was etwa ein Hundertstel des vorherigen Stromverbrauchs entspricht.
Die dafür verwendeten Skripte und Konfigurationsdateien sind über github.com/i4/wake-on-lan frei verfügbar.
Als einen weiteren Schritt haben wir ebenfalls Server des Forschungsbetriebs, welche nicht permanent benötigt werden, an das System angebunden. So werden z.B. die für continuous integration (CI) verantwortlichen Rechner bei ausbleibenden Aufgaben in den Schlafmodus gesteckt — und automatisch bei Bedarf wieder aufgeweckt.
