Prevedo: Ein Beispiel für verteilte Systeme

Am Donnerstag, den 06.11.2014 feierte die Chemnitzer Kommunikationsfirma BASEG ihren 18. Geburtstag. Eines der Highlights war sicherlich die gigantischen Präsentationswände, die unter der Marke „Prevedo“ vermarktet werden. Die Software hinter dem System wurde von Launix entwickelt.

PrevedoEin Problem in der frühen Entwicklung von Prevedo war, dass ein einzelner Computer mit einer großen Grafikkarte zu schwach ist, flüssig Bilder zu liefern. Die ersten Messeauftritte der Firma BASEG zeigten also lediglich Standbilder. Trotz moderner Hardware sind PCs immer noch so aufgebaut, dass sie eine Reihe von Befehlen hintereinander abarbeiten. Will man also mehr Leistung aus einem System herausholen, muss man lediglich den Takt erhöhen, in dem die Befehle abgearbeitet werden.

Den Takt zu erhöhen hat in den letzten 40 Jahren 30 Jahre lang funktioniert. Doch seit etwa 10 Jahren wird ein Problem immer größer: Je höher der Takt, desto größer die Verlustleistung der Chips. Im Klartext heißt das: Ein Computerchip erzeugt mehr Hitze pro Fläche als eine Herdplatte. Daraus resultieren zwei Probleme: Zum einen verbraucht man sehr viel Strom, um lediglich zu heizen, zum anderen muss man die Wärme durch geeignete Kühlung abführen, um eine Zerstörung des Chips oder gar einen Brand abzuwenden.

Ein anderer Ansatz setzt sich langsam durch, der Abhilfe verschafft: Anstatt mit immer höheren Taktraten zu arbeiten, werden einfach mehrere Recheneinheiten mit niedriger Taktfrequenz betrieben. Da sich der Stromverbrauch zur Taktrate quadratisch verhält, der Stromverbrauch zur Anzahl der Recheneinheiten allerdings nur proportional steigt, macht dies durchaus Sinn. Doch mit stärker parallelisierten Systemen muss man anders arbeiten. Man kann nicht mehr eine große Aufgabe schnell genug auf einer Recheneinheit ausführen, sondern muss diese in viele kleine Teilaufgaben zerlegen und mit geschickter Kommunikation auf Recheneinheiten verteilen.

Genau das ist beim Prevedo-System passiert. Wir haben uns entschieden, einen großen PC mit sehr teurer Spezial-Hardware, der 8 Bildschirme ansteuert, durch 8 kleine PCs, die jeweils einen Bildschirm zu „betreuen“ haben, ersetzt. Untereinander wurden die Mini-PCs mit einem Ethernet-Netzwerk verbunden. Die Herausforderung bestand nun darin, große hochauflösende Filme in kleine Schnipsel zu zerlegen und jedem Bildschirm einen Schnipsel zuzuteilen. Die einzelnen Bildschirme mussten dann nur noch übers Netzwerk kommunizieren, um im Gleichtakt die Filme abzuspielen, sodass es wie ein Gesamtsystem aussieht.

Finanziell hat sich die Aktion auch gelohnt: Die 8 Mini-PCs waren insgesamt günstiger als der große Spezial-PC und hatten zudem im Team mehr Leistung.