Systemsoftware und Verteilte Systeme

Energieeffiziente Verwaltung von Rechnerclustern

Individuelles Projekt Diplom

Abgeschlossen am 2. Juni 2008 durch Moritz Brandt. PDF-Dokument

Ansprechpartner

Themengebiete

  • Rechnercluster
  • Migrationstransparenz
  • Virtualisierung

Hintergrund

Die Universität Oldenburg hat — wie viele andere Einrichtungen auch — mit stark angestiegenen Energiekosten zu kämpfen. Unter anderem ist dies auf den vermehrten Einsatz von Computern zurückzuführen, die Rund um die Uhr laufen. Eine Möglichkeit dem entgegenzusteuern, besteht darin, Rechner abzuschalten, wenn sie nicht benutzt werden.

Neben der Möglichkeit sich täglich erneut an- und abzumelden bieten modernere Rechner auch die Möglichkeit, den Zustand des Rechners inklusive aller Anwendungen einzufrieren und per Suspend-to-RAM oder Suspend-to-Disk zu sichern, so dass der Energieverbrauch drastisch reduziert werden kann. Allerdings steht der Rechner dann solange nicht zu Verfügung, wie er sich in diesem Ruhezustand befindet. Jedoch lassen sich viele Rechner ferngesteuert über das Netzwerk per sog. Magic-Packet auch wieder starten.

Insbesondere auf Rechnerclustern ergibt sich aber das Problem, dass ggf. mehrere Benutzer entfernt auf einem Rechner arbeiten. In diesem Fall sollte der Benutzer, der direkt an diesem Rechner arbeitet, diesen natürlich nicht ausschalten. Unter anderem aus diesem Grund laufen viele Rechner ständig und verbrauchen unnötig Energie.

Im Serverbereich wird Rechner-Virtualisierung vermehrt zur Kostenreduzierung eingesetzt. Viele energiehungrige Rechner werden dort durch wenige, dafür aber leistungsstarke, Rechner ersetzt. Durch Virtualisierungslösungen wie VMware, XEN, VirtualPC, VServer und KVM ist es möglich, verschiedenen Anwendungen inklusive dem Betriebssystem verschiedenen virtuellen Maschinen zuzuordnen. Dies bietet mehrere Vorteile: 1) Jede Anwendung kann auf einer eigenen virtuellen Maschine ausgeführt werden, um im Falle eines Fehlers andere Anwendungen nicht zu gefährden. 2) Anwendungen können testweise installiert und erprobt werden, bevor diese unverändert in den Produktivbetrieb gehen. 3) Im Falle eines Hardwaredefekts oder bei Lastspitzen können einzelne virtuelle Maschinen leicht auf einen anderen physikalischen Rechner migriert werden.

Virtualisierung lässt sich auch auf solchen Rechnern einsetzen, die von mehreren Personen direkt im Dialogbetrieb genutzt werden: verlassen sie ihren Arbeitsplatzrechner, so werden ihre aktiven Anwendungen auf einem anderen Rechner zwischengespeichert, so dass dann ihr Arbeitsplatzrechner ausgeschaltet werden kann. Kehren sie an ihren ursprünglichen (oder sogar an einen anderen) Rechner zurück, können sie dort mit ihren Anwendungen weiterarbeiten. Die Sun-Ray-Technologie bzw. die klassischen X-Terminals ermöglichen Personen zwar bereits, von verschiedenen Rechnern aus ihre Anwendungen zu nutzen, aber die Anwendungen selbst werden auf weniger leistungsstarken Servern ausgeführt. Insbesondere bei rechenintensiven Anwendungen kann es aber sehr sinnvoll sein, die Ressourcen des lokalen Rechners zu nutzen.

Aufgabenbeschreibung

Im Rahmen dieser Arbeit soll eine Lösung für Linux-Rechnercluster entwickelt werden, die es erlaubt, Teile eines Rechnerclusters im laufenden Betrieb auszugegliedern und auszuschalten. Bei Bedarf an Rechenzeit oder auf Benutzerwunsch sollen die ausgeschalteten Rechner dann erneut gestartet und dem Rechnercluster wieder hinzugefügt werden.

Im Vordergrund der Untersuchung stehen dabei insbesondere dialogorientierte Anwendungen: so sollen z.B. alle Anwendungen, die gegen Abend noch auf einen Rechner ausgeführt werden, auf einen anderen Rechner migriert werden, um dort nicht-interaktiv zu überwintern.

Neben der Entwicklung eines tragfähigen Konzepts soll dieses auch prototypisch auf dem Rechnercluster der Abteilung Systemsoftware und verteilte Systeme umgesetzt werden.

Vorkenntnisse

  • Kenntnise von verteilten Systemen
  • Interesse an Virtualisierung
  • Linux
  • X11

Kommentar

Die Arbeit enthält praktische Anteile.