Kennt jemand einige Links / Bücher / irgendetwas, das Ihnen einfällt und das den Prozess des Aufbaus eines kleinen Heimclusters beschreibt (wenn ich von Zuhause spreche , bedeutet das nicht unbedingt, dass Sie zu Hause bleiben müssen - es ist nur relativ billig und klein) für Experimentelle Zwecke, mit besonderem Schwerpunkt auf der Frage, welche Hardware heute angemessen wäre, und eine Art Kostenanalyse?
Obwohl, wenn jemand hier es getan hat, würde ich all die Erfahrungen schätzen, die Sie teilen können.
Antworten:
Helmer fällt mir ein. :)
quelle
Bei Hack A Day wurden einige Ikea-Cluster vorgestellt:
quelle
Lesen Sie die Bücher Beowulf Cluster Computing von Thomas Sterling (eines für Linux und eines für Windows). Sie enthalten alles, was Sie über die Verwendung von MPI wissen müssen, damit Ihre Knoten miteinander kommunizieren können.
Ein Freund und ich bauten einen Cluster von 8 Boxen mit wirklich beschissener Hardware und ließen Windows XP darauf laufen. Das waren wie Pentium I - 90 MHz Boxen. Weit unter den Spezifikationen für Windows erforderlich, aber es lief gut. Wir haben auch SQL Server 2000 auf ihnen ausgeführt (ebenfalls weit unter den empfohlenen Spezifikationen) und einige Black-Scholes-Modelle der Aktienoptionspreise auf ihnen erstellt.
Es ist schwierig zu empfehlen, welche Art von Hardware angemessen wäre, ohne zu wissen, was Sie mit Ihrem Cluster tun möchten. Aber das Fazit ist, dass Sie einen Cluster von fast allem erstellen können.
quelle
Eine Alternative zu vielen physischen Clusterknoten ist das Erstellen virtueller Maschinen. Sie hätten nur eine oder zwei tatsächliche physische Maschinen, könnten aber simulieren, dass viel mehr Knoten vorhanden sind. Dies würde gut funktionieren, um weniger Ressourcen (Platz, Leistung, $$$) zu erstellen, zu lernen und zu nutzen.
Dies würde Ihnen nicht viel von einer Kostenanalyse geben, aber es würde Ihnen den Einstieg erleichtern. Die Art der Cluster-Einrichtung hängt von der Art der Arbeit ab, die Sie dafür erstellen möchten. Sie können viele kleine Knoten oder nur ein paar leistungsfähige Knoten haben. Es gibt Umgebungen mit gemeinsamem und nicht gemeinsamem Speicher, die ebenfalls berücksichtigt werden müssen. Welche Art von parallelen Programmen möchten Sie erstellen? Je mehr physische Knoten Sie haben, desto mehr Platz, Energie, Kühlung und Netzwerkverbindung müssen Sie in Betracht ziehen. Manchmal ist nur ein einziger großer, massiver Computer der richtige Weg (und Shared-Memory-Umgebungen sind für IMHO einfacher zu programmieren).
Ich habe kürzlich angefangen, mit einem Cluster zu spielen, der ein paar zufällige P4-Boxen, Ubuntu und LAM-MPI baut. Es war definitiv eine Lernerfahrung.
Es waren tatsächlich ein paar P4-Laptops und Türme, die in einer Garage gestapelt waren. Es war ein Ghetto, aber ich wollte nur lernen. Ich habe gerade ein 100-Mbit / s-Ethernet-Netzwerk verwendet. Ich habe mich für Ubuntu entschieden, weil ich nicht viel mit der Hardware-Konfiguration der Boxen zu tun haben wollte. Ubuntu hatte viele der Treiber, die ich brauchte. Ich brauchte eine Linux-Umgebung, da die Anwendungen, die ich dafür schrieb, C-basierte Apps mit MPI-Schnittstellen waren. Ich habe versucht, das zu replizieren, was ich zuvor benutzt habe. Es war alles anders. Hardware, nichts Standard. Die meisten Cluster verfügen über genaue Hardware, sodass Sie Knoten im Handumdrehen hinzufügen und entfernen können.
quelle
Je nachdem, was Sie versuchen, sollten Sie Ihr System auf einem Cluster virtueller Maschinen entwickeln. Mit einer Virtualisierungslösung für Betriebssysteme wie OpenVZ oder Parallel's Virtuozzo oder Solaris Containers können Sie im Vergleich zur vollständigen Systemvirtualisierung (z. B. VirtualBox / VirtualPC / Xen / VMWare) auf enorme Dichten skalieren. Wenn Sie das System dann tatsächlich für eine bestimmte Leistung bereitstellen müssen, führen Sie es "in der Cloud" auf Amazon EC2 oder einem ähnlichen System aus.
quelle
Ich beginne mit einem Blick auf die Projekte von LittleFE ( http://littlefe.net/ ) oder Bootable Cluster CD ( http://bccd.net/ ). Siehe auch das Ubuntu Cloud-Projekt ( http://www.ubuntu.com/cloud ).
Fast jede Hardware sollte funktionieren. Ich wäre geneigt, mir eine Art Abschlussgeschäft anzuschauen oder Maschinen aus dem Leasing zu nehmen, um billige Hardware zu besorgen.
quelle
Werfen Sie einen Blick auf Rocks , eine Cluster-Distribution, die das Bauen von Clustern sehr einfach macht. Es skaliert auch auf mindestens einige Hundert Knoten.
quelle