Die Energiekrise erfordert eine umfangreiche Analyse des Stromverbrauchs auf der Suche nach Einsparpotential in den universitären Einrichtungen.
Ein Augenmerk richtet sich auch auf die mehrere Dutzend Desktop-PCs am Lehrstuhl, welche sowohl von Studierenden als auch von wissenschaftlichen Mitarbeitern täglich genutzt werden. Da der Fernzugriff (z.B. über SSH) nicht zuletzt aufgrund der Pandemie zu einer zentralen Anforderung geworden ist, wurden diese Systeme für eine durchgehende Verfügbarkeit dauerhaft betrieben. Viele der dabei verwendeten Peripheriegeräte verfügen bereits über Energiespartechniken, die von den Betriebssystemen standardmäßig unterstützt werden und dadurch einen wesentlichen Beitrag zur Senkung des Energieverbrauchs leisten (etwa 100W Einsparung bei einem 27-Zoll-Monitor im Standby-Modus). Um jedoch jederzeit über das Netzwerk auf entfernte Computer zugreifen zu können, wurde die Standby-Funktion des PCs bisher deaktiviert, was je nach Modell zu einem Verbrauch zwischen 30W und 100W pro System führte.
Der Lehrstuhl hat deswegen Maßnahmen eingeführt, welche mit einem vernachlässigbaren Aufwand für die Benutzer dieses Manko beheben können.
Mitte der 90er Jahren wurde bei Netzwerkkarten der Wake-On-LAN Standard eingeführt, mit dem über ein spezielles Magic Packet ein Rechner gestartet (oder aus einem Schlafzustand wieder aufgeweckt) werden kann. Dieser Standard hat sich weitestgehend etabliert, die Option muss zumeist lediglich sowohl im BIOS/UEFI als auch dem Netzwerkadapter aktiviert werden.
Anschließend wird beim Stromsparmodus im Netzwerkadapter auf das 102-Byte große Magic Packet gewartet, ein Datagramm welches die eigene Hardwareadresse (MAC) enthalten muss. Da auf Nutzerseite meist zu einem Hostname nicht die MAC bekannt ist, und dieses Paket auch nur innerhalb eines Netzes (und nicht ohne weiteres über das Internet) verschickt werden kann, haben wir einen Serverdienst implementiert, welcher diese beiden Schritte übernimmt: Der Dienst nimmt den Hostname entgegen, verwendet die Konfigurationsdaten des DHCP-Servers um die Zielhardwareadresse zu bestimmen und sendet das Magic Packet in das Zielnetz — somit ist dieser sehr wartungsarm, es ist keine doppelte Datenhaltung erforderlich.
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.