Der Begriff "Cluster" bezeichnet einen Verbund von Rechnern (auch Knoten genannt), die über ein Netzwerk miteinander kommunizieren und eine Aufgabe gemeinsam schneller oder auch ausfallsicherer erledigen. In unserem Fall heißt die Aufgabe: Erstellung einer DVD-Kopie, wobei die Video- und Audiodaten aus Platzgründen voN MPEG2 (Video) und AC3 (Audio) in die besser komprimierenden Formate DivX und MP3 umgewandelt werden sollen. Als Ergebnis erhält der Benutzer eine AVI-Videodatei, die bei vergleichbarer Qualität auf zwei bis drei CD-Rohlingen Platz findet. Das entspricht einer Datenreduktion auf 20 bis 30 Prozent des Ausgangsmaterials.
Die Umrechnung der Video- und Audiodaten benötigt sehr viel Zeit: Je nach Rechnerausstattung und Qualitätsanforderung kann das auch auf einem aktuellen System vier bis acht Stunden beanspruchen. Hier begrüßt jeder die Möglichkeit, den etwas älteren Zweitrechner oder das Notebook als weiteren Rechenknecht mit einzuspannen und so die Rechenzeit entscheidend zu verkürzen.
Installation
transcode und dvd::rip bringen schon alles mit, was zur Erfüllung dieses Wunsches nötig ist. Lediglich dvd::rip braucht über die in [1] beschriebenen Perl-Module hinaus noch die Module Storable [4] und Event [5] sowie die Kommandozeilenprogramme fping und pstree. Bei fping ist zu beachten, dass dieses das Set-UID Bit gesetzt hat. Dies erreichen Sie mit dem Befehl chmod u+s /usr/sbin/fping. Sollte fping bei Ihrem System in einem anderen Verzeichnis liegen, so legen Sie einen entsprechenden symbolischen Link an, sonst findet dvd::rip fping nicht.
Falls die Perl-Module Storable und Event bei Ihrer Distribution nicht mitgeliefert werden, können Sie sich diese aus dem CPAN herunterladen und wie jedes Perl-Modul mit diesen Befehlen installieren:
tar xvfz Module-X.XX.tar.gz cd Module-X.XX perl Makefile.PL make make test su make install
Nur die eigentliche Programminstallation mit make install muss dabei als Benutzer root ausgeführt werden.
Teile und herrsche
Nicht jedes Problem lässt sich ohne weiteres mit einem Cluster schneller lösen. Voraussetzung für eine Beschleunigung ist, dass sich das Problem in voneinander unabhängige Teile zerlegen lässt, die parallel auf mehreren Knoten bearbeitet werden können.
Was beim DVD-Kopieren wirklich lange dauert, ist die Transkodierung des Videos. Diese lässt sich recht einfach auf mehrere Knoten verteilen: Jeder Knoten berechnet nur einen bestimmten zeitlichen Abschnitt des Films (auch Chunk genannt). Die so entstehenden Dateien enthalten natürlich auch nur den entsprechenden Teil und müssen am Ende wieder zu einer großen Filmdatei zusammengefügt werden.
transcode bietet Programmoptionen, mit denen sich die Transkodierung auf einen bestimmten zeitlichen Abschnitt beschränken lässt. Aus technischen Gründen kann dabei aber nur die Videoinformation verarbeitet werden, Audio bleibt erst einmal außen vor. Die Audiodaten werden deshalb separat transkodiert und das Ergebnis später der Videodatei hinzugefügt. Ein dvd::rip Cluster hat also folgende Aufgaben: * Transkodierung der Audiodaten * Transkodierung der Videodaten (eventuell im 2-Pass-Verfahren) * Zusammenfügen der entstandenen Videodateien * Hinzufügen der transkodierten Audiodatei * Für CD-Rohlinge passende Aufteilung
Dabei erfolgt die Transkodierung des Videos nach Program Stream Units (PSU) unterteilt. Jede PSU wird logisch in einzelne Chunks zerlegt, die dann parallel bearbeitet werden können. Den vollständigen Ablauf zeigt Abbildung 1.



