Cluster

Hardware

Im Space sind 12 Clusternodes. Jeder Node hat:

  • Core2Quad 2.4GHz
  • 8GB ECC RAM
  • 2 x SCI Interconnect Karten
  • Local HDD (TODO)

Die 12 Boards an der Wand. (Kurz nach Montage, mit provisorischer und unvollständiger SCI Verkabelung.)

Die 12 Boards mit mehr Kabel. (Strom und Ethernet Kabel nun vollständig.)

Netzwerk

Die nodes sind nicht im “normalen” Clubnetz, sondern in 192.168.2/24.
Filedrop ist in beiden und routes. allerdings liefert der CCCZH Router
nicht die route ins Cluster-Netz aus. Dnsmasq gibt anhand der
MAC-Adressen feste IPs, und zwar 192.168.2.(80+Node#)

OS/Boot/root

filedrop (hat atm den Lease 192.168.1.183) macht mittels dnsmasq TFTP
und DHCP Server und serves rootfs via NFS. Je nach konkretem OS muss
evtl der Kernel neu kompiliert werden, um das zu ermöglichen.

Konfiguration dnsmasq

Die Konfiguration des dnsmasq server is in der Datei
“/etc/dnsmasq.d/clusterboot.conf” und hat folgenden Inhalt:

dhcp-boot=pxelinux.0
enable-tftp
tftp-root=/cluster/
dhcp-range=192.168.2.80,192.168.2.120
dhcp-host=00:1b:fc:99:63:ad,192.168.2.81,node1
dhcp-host=00:1b:fc:ee:f4:10,192.168.2.82,node2
dhcp-host=00:1b:fc:ee:f4:be,192.168.2.83,node3
dhcp-host=00:1b:fc:ee:f4:30,192.168.2.84,node4
dhcp-host=00:1b:fc:ee:f4:49,192.168.2.85,node5
dhcp-host=00:1b:fc:ee:f4:28,192.168.2.86,node6
dhcp-host=00:1b:fc:ee:f4:2d,192.168.2.87,node7
dhcp-host=00:1b:fc:ee:f4:7b,192.168.2.88,node8
dhcp-host=00:1b:fc:ee:f4:1c,192.168.2.89,node9
dhcp-host=00:1b:fc:ee:f4:ce,192.168.2.90,node10
dhcp-host=00:1b:fc:ee:f4:a2,192.168.2.91,node11
dhcp-host=00:1b:fc:ee:f4:35,192.168.2.92,node12

Konfiguration PXE Boot

ls -la /cluster/pxelinux.cfg/

01-00-1b-fc-99-63-ad
01-00-1b-fc-ee-f4-10
01-00-1b-fc-ee-f4-1c
01-00-1b-fc-ee-f4-28
01-00-1b-fc-ee-f4-2d
01-00-1b-fc-ee-f4-30
01-00-1b-fc-ee-f4-35
01-00-1b-fc-ee-f4-49
01-00-1b-fc-ee-f4-7b
01-00-1b-fc-ee-f4-a2
01-00-1b-fc-ee-f4-be
01-00-1b-fc-ee-f4-ce

cat /cluster/pxelinux.cfg/default 

 DEFAULT cluster-debian

 LABEL cluster-debian
 KERNEL vmlinuz-3.2.0-4-amd64
 INITRD initrd.img-3.2.0-4-amd64
 APPEND root=/dev/nfs nfsroot=192.168.2.1:/cluster/nodeimage,rsize=1048576,wsize=1048576
 IPAPPEND 1

Node hinzufügen

das ist nicht spezifisch zur Clusterhardware, im Prinzip kann man jeden
Rechner im Netz diesen als NFS-root-Quelle nutzen.

Files: filedrop:/cluster/cluster-tftp;
filedrop:/etc/dnsmasq.d/clusterboot.conf

Man startet die hinzuzufügende Node. Sie muss PXE-boot machen. Sie wird
von dnsmasq irgendeine IP kriegen, den Bootloader syslinux.0 und die
default-configuration (eine Datei in /cluster/cluster-tftp). dnsmasq
schreibt ins syslog, dass es keine syslinux-Konfiguration für diese Node
findet. default nach 01-${MAC-Adresse} kopieren und darin nodename für
das eigentlich rootfs anpassen. rootfs kopieren in den soeben
eingegebenen Port. in clusterboot.conf die neue Node als neuen dhcp-host
definieren. Startet man die node neu, sollte sie ihr eigenes rootfs über
NFS nutzen.

Geplant (am 12.12.2012) ist ein bidirektionaler 4x3 Torus als Topologie
für den Cluster-Interconnect. Die Nodes sind in Leserichtung von Node1
bis Node12 durchnummeriert.

Eine mögliche Verlinkung der 12 Nodes. (Rechts unten Schema eines 3x4 Torus und oben tatsächlicher Kabelverlauf.)

Stecker der SCI Card. Links zwei mal Output (O, blau) und rechts zwei mal Input (I, gelb).

Die selbe Verlinkung unter Einbezug der asymmetrischen Form der Stecker. Ziel: möglichst keine der flachen Bandkabel zu verdrehen.

Für einen bi-direktionalen Torus brauchen wir in jede Richtung (grosser
und kleiner Radius) je zwei input und 2 output Links. Deshalb benötigen
wir zwei SCI Karten pro Node.

Zwei SCI Karten pro Node.

Viele kurze SCI Kabel für noch mehr Kabelsalat :-)

Vollständige SCI Verkabelung (in der Mitte Node 5 auf Node 11), sehr eng und chaotisch aber machbar.

Weitere Ideen