[LinuxFocus-icon]
LinuxFocus article number 363
http://linuxfocus.org

[Photo of the Author]
von Majid Hameed
<hameed.majid(at)gmail.com>

Über den Autor:
Majid Hameed ist ein Bachelor-Student an der Abteilung für Informatik der Universität von Karachi in Sindh, Pakistan. Seine Hauptinteressen sind Künstliche Intelligenz, Betriebssysteme, Netzwerke, Programmierung und Computergrafik. Hameed beschreibt sich selbst als Linux-Enthusiast, der Linux seit 3,5 Jahren als Betriebssystem nutzt, einschließlich Red Hat 9, 8, 7.3 und 7.2, Slackware Linux 10 und 9.1, Slax, Mandrake Move 2, Knoppix 3.4, Vector Linux 4.3 und andere.

Übersetzt ins Deutsche von:
Hermann J. Beckers <hjb-rheine(at)t-online.de>

ParallelKnoppix

[Illustration]

Zusammenfassung:

ParallelKnoppix ist eine auf Knoppix basierende Live-CD; Knoppix selbst ist ebenfalls eine Live-CD, die auf der Debian Linux-Distribution basiert. ParallelKnoppix ermöglicht es, innerhalb von Minuten einen Linux-Cluster zu erzeugen, der mit Programmen und Werkzeugen für parallele Programmierung wie MPI ausgestattet ist. Es spart eine Menge Zeit bei der Konfiguration der Betriebssystem-Umgebung. Die bestehende Umgebung wird durch ParallelKnoppix nicht beeinträchtigt, da es sich um eine Live-CD handelt. Nur auf dem Master-Knoten wird ein Verzeichnis erzeugt, das nach einem Neustart gelöscht werden kann, wenn Sie dies wünschen.

_________________ _________________ _________________

 

Einführung

"ParallelKnoppix ist eine Neuzusammstellung von Knoppix, die das Einrichten eines Clusters von Maschinen für Parallelverarbeitung mittels der LAM-MPI- und/oder MPICH-Implementationen von MPI ermöglicht. Das Einrichten und Starten des Clusters benötigt weniger als 15 Minuten, wenn die Maschinen über PXE-fähige Netzwerkkarten verfügen." --> aus http://pareto.uab.es/mcreel/ParallelKnoppix/  

Hintergrund

Clustering ist eine der preiswertesten Techniken, um Parallelität zu erreichen. Clustering mittels Linux ist eine der besonderen Linuxeigenschaften. Universitäten und Organisationen imitieren Super-Computer durch die PC-Vernetzung mittels Ethernet-Karten unter Linux. Linux wird von der wissenschaftlichen Gemeinschaft zur Durchführung ihrer Forschungen benutzt, da Linux mit einer Anzahl von wissenschaftlichen Programmen wie LAM, PI, PVM und weiteren ausgestattet ist. Daher ist Linux bestens für die Parallelverarbeitung geeignet. Das Problem ist jedoch, das Wissenschaftler und Programmierer eine Menge mit der Vorkonfiguration der Linux-Umgebung zu tun haben. Dies macht ihre Aufgabe langsam und komplex. Das Konfigurationsproblem wird noch verschlimmert, wenn die bestehende Umgebung nicht Linux-(d. h. Windows-)basierend ist.

Nun haben einige Linux-Gurus dieses Problem gelöst und Live-CDs entwickelt. Der Forscher kann nun eine Live-CD für seine Parallelverarbeitung wählen, ohne sich sehr lang um die Konfiguration kümmern zu müssen und der Cluster ist innerhalb einiger (7- 8) Minuten bereit.

Eine der Live-CDs für Parallelverarbeitung ist ParallelKnoppix.

Andere Live-CDs für Parallelberechnungen sind BCCD und ClusterKnoppix.  

Beschreibung

Genau wie sein Vorgänger (d. h. Knoppix) erkennt ParallelKnoppix automatisch sämtliche Hardware und Peripheriegeräte. Ich habe es auf einem D865GBF Intel-Board, einem PIV-Board und Intel 810C, einem PIII-Board getestet und ParallelKnoppix konfigurierte sämtliche Hardware automatisch; es musste nichts von Hand erledigt werden. Die mittels ParallelKnoppix konfigurierten Computer verfügen über ein gemeinsam genutztes Verzeichnis, das auf dem Master-Knoten angelegt und mittels NFS (Network File System) bereitgestellt wird. Der Master-Knoten wird von der CD gebootet und die Client-Rechner über das Netzwerk (DHCP läuft auf dem Master-Knoten). Die Clients verfügen über ein PXE-fähiges BIOS mit PXE-fähigen Netzwerkkarten.

Jeder für LAM/MPI benötigte Dienst wird automatisch konfiguriert (LAM/MPI ist eine für Parallel-Verarbeitung benutzte Nachrichten-basierte Schnittstellen-Spezifikation). Wie DHCP, NFS, SSH (für Passwort-freie Anmeldung) und schon können Sie mit MPI-Programmen und einigen anderen Parallel-Anwendungen experimentieren.

Die Einrichtung von ParallelKnoppix ist nicht sehr sicher, da die Passwörter auf der Live-CD sowohl für einen Benutzer als auch für root öffentlich bekannt sind. Jeder, der etwas Kenntnis über ParallelKnoppix hat, kann Zugriff auf den ParallelKnoppix-Cluster bekommen. Die Einfachheit der Einrichtung bedingt Kompromisse bei der Sicherheit. Es ist ein Ausgleich zwischen einfacher Benutzbarkeit und der Sicherheit.  

Was ist ein PXE-Boot?

PXE-Boot ist ein Akronym für Preboot Execution Environment-Boot. PXE ist eine Technik, die benutzt wird, um einen PC über ein Netzwerk zu starten. PXE wird vom System-BIOS unterstützt und die Netzwerk-Karte muss PXE-fähig sein.  

Was tun, wenn Ihre Netzwerk-Karte nicht PXE-fähig ist?

Dann müssen Sie Etherboot-Abbilder benutzen oder eine CD mit den Abbildern brennen. ROM-o-matic.net generiert Etherboot ROM-Abbilder dynamisch. http://rom-o-matic.net/  

Der Abruf von ParallelKnoppix

ISO-Dateiabruf

FTP-Link

http://pareto.uab.es/mcreel/ParallelKnoppix/parallelknoppix.iso

HTTP-Link

ftp://volcano.uab.es/pub/parallelknoppix.iso

Abruf der MD5SUM-Prüfsummendatei

http://pareto.uab.es/mcreel/ParallelKnoppix/parallelknoppix-2004-12-16.iso.md5

Überprüfen Sie die Webseite http://pareto.uab.es/mcreel/ParallelKnoppix/,
wenn die obigen Links nicht mehr gültig sind.
Nach dem Abruf der ISO-Abbilder sollten Sie die MD5-Prüfsummen für die ISO-Abbilder testen, damit sicher gestellt ist, das der Abruf erfolgreich war. Starten Sie dazu das md5sum-Programm in einer Shell gegen die ISO-Abbilder und vergleichen Sie die zurückgegebenen Werte mit der md5-Datei (unten finden Sie einen Link zum Abruf). Nachstehend die korrekte Syntax für den md5sum-Befehl.
md5sum "isofilename"
Ersetzen Sie im obigen Befehl "isofilename" mit dem korrekten Dateinamen.

Wenn Sie aus irgendeinem Grund nicht Linux benutzen, sollten Sie md5Summer verwenden, einen MD5-Generator für Windows, nachstehend der Link.

http://www.md5summer.com/

Hinweis. Das Schreiben der ISOs auf CD erfordert ein Programm wie cdrecord.  

Wie funktioniert es?

Es gibt ein nettes Tutorial, voll von Schritt-für-Schritt-Bildschirmfotos der Konfiguration. Nachstehend der Link zum Tutorial.

Parallel Knoppix Tutorial - HTML-Version

http://pareto.uab.es/mcreel/ParallelKnoppix/Tutorial/Tutorial.html

Parallel Knoppix Tutorial - PDF-Version

http://pareto.uab.es/wp/2004/62604.pdf

Wenn Sie Ihr CD-Rom für die Knoten exportiert haben, kann es gut mit 50 Knoten klar kommen; mehr als 50 Knoten sind nicht getestet. Ich habe selbst nur 5 Knoten getestet.  

Was ist zu tun, wenn mehrere DHCP-Server aktiv sind ?

"Wenn Sie ParallelKnoppix an einer Universität benutzen (wie ich), wird dort bestimmt ein offizieller DHCP-Server und evtl. auch ein PXE-Server existieren. Wenn Sie versuchen, die Knoten über den Terminalserver zu starten, werden die Knoten oft vom vorhandenen PXE-Server booten und wohl auch ihre IP-Adressen von dem offiziellen Server und nicht von dem DHCP-Server erhalten, der auf dem von der ParallelKnoppix-CD gebooteten Computer läuft. Die bis jetzt von mir benutzte Lösung ist, die als Knoten benutzten Computer physisch von den vorhandenen PXE- und/oder DHCP-Servern zu trennen, oder die Administratoren zu bitten, temporär diese Server zu stoppen. Wenn jemand eine elegantere Möglichkeit kennt, würde ich gerne davon hören. Ich denke, das bedeutet Herumspielen mit miniroot.gz und die Benutzung von rom-o-matic zum Erzeugen des PXE-Boot-Roms. Zu schrecklich, um ernsthaft darüber nachzudenken ... zumindest für mich." --> aus http://pareto.uab.es/mcreel/ParallelKnoppix/  

Wie es funktioniert (Zusammenfassung)

Die ParallelKnoppix-Live-CD wird zum Starten eines Master-Knotens genutzt. Auf diesem Master-Knoten wird ein Skript ausgeführt, das einen DHCP-Server einrichtet, ein gemeinsames Verzeichnis wird für alle Knoten mittels NFS exportiert und öffentliche Schlüssel für LAM generiert, damit SSH einwandfrei arbeitet (Passwort-lose Anmeldung). Nachdem der DHCP-Server läuft, werden die Clients mittels PXE-Boot gestartet. Nach dem erfolgreichen Start wird das Verzeichnis mit Beispielprogrammen in das per NFS gemeinsam genutzte Verzeichnis eingefügt und parallele Programme werden parallel auf mehreren PCs ausgeführt.  

Meine Erfahrungen

Ich bin ein Bachelor-Student der Informatik und bekam ein Projekt zur Lösung eines mathematischen Problems mittels MPI im Labor für Parallelverarbeitung. Ich wählte ParallelKnoppix als Alternative, um mein MPI-Programm in einer Linuxumgebung zu demonstrieren. Der Master-Knoten wird über die ParallelKnoppix-CD gestartet. Während des Bootens werden Sie nach der Resolution gefragt; geben Sie einfach "6" ein, weil dies die maximal unterstützte Auflösung ist. Nach dem Booten des Master-Knotens startete ich das ParallelKnoppix-Setupskript mittels K>ParallelKnoopixx>Setup ParallelKnoppix (siehe das obige Tutorial). Nachdem das Skript den DHCP-Server startete, schaltete ich meine Client-Knoten an und sie booteten mittels PXE. Danach waren alle Knoten erfolgreich gestartet.

Ich kopierte mein Programm in das Verzeichnis "parallel_knoppix_working" und benutzte dann ein Terminal, um mein MPI-Programm parallel laufen zu lassen.
Für die Kompilation benutzte ich

mpicc myprogram.c -o myprogram.bin

und zur Ausführung

mpirun C myprogram.bin
 

Zusammenfassung

"Die ParallelKnoppix-CD bietet eine sehr einfache und schnelle Möglichkeit, einen Cluster verschiedenartiger PCs der IA-32-Architektur einzurichten. Sie ist nicht dafür gedacht, einen stabilen Cluster für verschiedene Benutzer zu bieten, sondern ist ein Hilfsmittel für die schnelle Errichtung eines Clusters für die individuelle Benutzung. Die CD selbst kann angepasst werden und die Konfigurations- und Arbeitsdateien können wieder verwandt werden, so dass dies eine langfristige Lösung für individuelle Benutzer bietet." Aus dem ParallelKnoppix-Tutorial von Michael Creel  

Referenzen



Der LinuxFocus Redaktion schreiben
© Majid Hameed
"some rights reserved" see linuxfocus.org/license/
http://www.LinuxFocus.org
Autoren und Übersetzer:
en --> -- : Majid Hameed <hameed.majid(at)gmail.com>
en --> de: Hermann J. Beckers <hjb-rheine(at)t-online.de>

2005-01-14, generated by lfparser_pdf version 2.51