Für eine korrekte Darstellung dieser Seite benötigen Sie einen XHTML-standardkonformen Browser, der die Darstellung von CSS-Dateien zulässt.

Myrinet

Alle Knoten des Clusters sind über Ethernet miteinander verbunden. 32 Knoten (cnode301-cnode316 und cnode321-cnode336) sind mit einer Myrinet-Netzwerkkarte der Firma Myricom ausgerüstet und können zusätzlich über einen Myrinet-Switch miteinander kommunizieren. Die freie Enzyklopädie Wikipedia enthält allgemeine Informationen über Myrinet .

Die auf dem Cluster installierten MPI-Varianten, vor allem Open MPI , sind so konfiguriert, dass bei einem Batch-Job das schnellere Myrinet verwendet wird, wenn eine Zuweisung von ausschließlich Myrinet-Knoten (cnode301-cnode316 und cnode321-cnode336) erfolgt.

Die low-level Message-Passing-Software GM dient zum Betreiben der verwendeten Myrinet-Netzwerkkarten. GM steht für Glenn's Messages. GM ist eine low-level Kommunikationsschicht für Myrinet. Die GM-Software enthält Treiber, Myrinet-Karte Kontroll-Programm, Netzwerk-Mapping-Programm, GM-API , Bibliothek und Header-Dateien.
Bei den Knoten des Rubens-Clusters steht die GM-Software im Verzeichnis /opt/gm. Dementsprechend ergeben sich folgende Optionen beim Gnu-C-Compiler (gcc) für die Nutzung der GM-API :

$ gcc -I/opt/gm/include -L/opt/gm/lib64 -lgm ...

Angewendet auf die Beispielprogramme gm_simple_example_recv.c und gm_simple_example_send.c mit der notwendigen Header-Datei gm_simple_example.h , welche im selben Verzeichnis vorhanden sein muss, ergeben sich folgende Kommandos zum Übersetzen dieser beiden Programme:

$ gcc -I/opt/gm/include -L/opt/gm/lib64 -lgm gm_simple_example_recv.c -o empfangen
$ gcc -I/opt/gm/include -L/opt/gm/lib64 -lgm gm_simple_example_send.c -o senden
 

Das Ausführen der beiden erzeugten Programme empfangen und senden sieht wie folgt aus:
zuerst zum Beispiel auf Knoten cnode301 ausführen:

cnode301: ./empfangen cnode302
[recv] Opened board 0 port 4
[recv] sender node ID is 2
[recv] Received incoming message: "This is the sender!!"
[recv] Having received the incoming message from the sender, the
directed-receive buffer contains "Directed send was successful!"
[recv] gm_simple_example_recv completed successfully
cnode301:
 

dann auf Knoten cnode302 eingeben:

cnode302: ./senden
[send] Opened board 0 port 2
[send] gm_simple_example_send completed successfully
cnode302:
 

Viel Spaß bei der Nutzung der GM-API!