Inhaltsverzeichnis:
- Schritt 1: Sehen Sie sich die Videoversion an
- Schritt 2: Was Sie brauchen
- Schritt 3: Raspbian installieren und konfigurieren
- Schritt 4: MPICH installieren
- Schritt 5: MPI4PY installieren
- Schritt 6: Kopieren des Bildes
- Schritt 7: Konfigurieren der verbleibenden Raspberry Pis
- Schritt 8: Überprüfen der Hostschlüssel
- Schritt 9: Ausführen eines Programms auf Ihrem Supercomputer
Video: Wie erstelle ich einen Raspberry Pi Supercomputer! - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:21
An sich bietet der Raspberry Pi keine beeindruckenden Spezifikationen. Aber mit dem spottbilligen Preis könnte der Kauf mehrerer davon und deren Verbindung zur Nutzung ihrer kombinierten Rechenleistung möglicherweise einen anständigen, kostengünstigen Computer ergeben. Es wurden mehrere beeindruckende Rigs gebaut, die Dutzende von Pis miteinander verbinden. Lassen Sie uns in diesem anweisbaren, wie die Technologie hinter Cluster-Computing erkunden und unseren eigenen Bramble Pi machen!
Schritt 1: Sehen Sie sich die Videoversion an
Ich habe auch eine zweiteilige Videoversion dieses exakt gleichen Projekts erstellt. Also, wenn Sie nicht zum Lesen sind, lehnen Sie sich zurück und schauen Sie sich die Videos an! Bitte beachten Sie, dass die Videoversion Raspbian Wheezy verwendet. Die folgenden Anweisungen gelten jedoch für die aktuelle Raspbian-Distribution, die zu der Zeit, als ich dies schreibe, Jessie ist.
Schritt 2: Was Sie brauchen
Um dieses Projekt zu verfolgen, sind hier die Teile, die Sie erwerben müssen
Hier ist, was Sie brauchen:
- 2 oder mehr Raspberry Pis
- SD-Karten für jeden Pi
- Stromkabel für jeden Pi
- USB-Hub mit Stromversorgung (optional)
- Netzwerkkabel
- Ein Hub oder ein Router
GESAMTKOSTEN: ~100,00 $
Schritt 3: Raspbian installieren und konfigurieren
Sobald Sie alle Teile haben, besteht der nächste Schritt darin, Raspbian OS auf einen der Raspberry Pi herunterzuladen und zu konfigurieren. Dies wird Ihr Master-Pi sein. Hier sind die Schritte:
- Laden Sie das Raspbian-Image hier herunter.
-
Brennen Sie das Raspbian-Image auf jede SD-Karte, die Sie für jeden Raspberry Pi haben.
- Wenn Sie über Windows verfügen, können Sie diese Anweisungen befolgen.
- Wenn Sie einen Mac haben, können Sie diese Anweisungen befolgen.
- Sobald das Image auf Ihre SD-Karte gebrannt ist, legen Sie es in jeden der Raspberry Pi und booten Sie es.
-
Beim ersten Booten sollten Sie den Rasbperry Pi Desktop sehen. Klicken Sie auf das Menüsymbol in der oberen linken Ecke und gehen Sie zu Einstellungen > Raspberry Pi Konfiguration. Hier sind die Optionen, die wir konfigurieren müssen
- Erweitern Sie das Dateisystem, falls erforderlich.
- Ändern Sie den Hostnamen in Pi01
- Ändern Sie die Boot-Option auf CLI (Command Line Interface), da wir das Desktop-Interface nicht wirklich verwenden werden.
- Uhr auf der Registerkarte "Schnittstellen" und stellen Sie sicher, dass SSH aktiviert ist.
- Klicken Sie auf den Reiter "Übertakten" und wählen Sie "Turbo".
- Ändern Sie den GPU-Speicher auf 16 MB.
- Klicken Sie auf die Registerkarte "Lokalisierung" und stellen Sie Ihr Tastaturlayout so ein, dass es dem Ihrer Länder entspricht.
- Beenden Sie die Konfiguration und starten Sie Ihren Pi neu.
Schritt 4: MPICH installieren
Wir verwenden immer noch nur den einen Pi als Master und müssen nun die primäre Software installieren, die es uns ermöglicht, die Rechenleistung aller Pi in unserem Netzwerk zu nutzen. Diese Software heißt MPICH, ein Message Passing Interface. Hier ist, was Sie tun müssen, um es zu installieren:
sudo apt-get update
mkdir mpich2
cd ~/mpich2
wget
tar xfz mpich-3.1.tar.gz
sudo mkdir /home/rimppi/
sudo mkdir /home/rimppi/mpi-install
mkdir /home/pi/mpi-build
cd /home/pi/mpi-build
sudo apt-get install gfortran
sudo /home/pi/mpich2/mpich-3.1/configure -prefix=/home/rimppi/mpi-install
sudo machen
sudo machen installieren
nano.bashrc
PFAD=$PFAD:/home/rimppi/mpi-install/bin
sudo neu starten
mpiexec -n 1 Hostname
Diese Befehle laden MPICH herunter, installieren es und fügen es als Pfad zu Ihrer BASHRC-Bootdatei hinzu. Der letzte Befehl führt einen Test durch, um zu sehen, ob es funktioniert. Wenn der letzte Befehl „Pi01“zurückgibt, haben Sie alles erfolgreich gemacht.
Schritt 5: MPI4PY installieren
So wie es ist, kann MPICH C- und Fortran-Programme ausführen. Da auf dem Raspberry Pi jedoch die Python-Codierungsumgebung vorinstalliert ist, wäre es am einfachsten, einen Python-zu-MPI-Interpreter zu installieren. Hier sind die Befehle dazu:
sudo aptitude installiere python-dev
wget
tar -zxf mpi4py-1.3.1
cd mpi4py-1.3.1
python setup.py build
python setup.py install
exportiere PYTHONPATH=/home/pi/mpi4py-1.3.1
mpiexec -n 5 python demo/helloworld.py
Dieser letzte Befehl sollte fünf Antworten zurückgeben. Jeder ist ein anderer Prozess auf Pi01, auf dem das gerade erstellte Python-Programm "Hello World" ausgeführt wird.
Schritt 6: Kopieren des Bildes
Nachdem wir unseren Master-Pi erfolgreich konfiguriert haben, müssen wir das SD-Karten-Image dieses Pis auf alle anderen Pis kopieren. So können Sie das unter Windows tun:
- Nehmen Sie die Master-SD-Karte aus dem Pi und stecken Sie sie in Ihren Computer ein.
- Verwenden Sie mit Win32DiskImager die Schaltfläche "Lesen", um den Inhalt der SD-Karte auf Ihrem Computer zu speichern.
- Werfen Sie die Master-SD-Karte aus und legen Sie eine SD-Karte für einen der anderen Pis ein. Verwenden Sie dann die Option "Write" von Win32DiskImager, um das von uns gespeicherte Bild auf die neue SD-Karte zu schreiben.
- Wiederholen Sie Schritt 3, bis Sie das Master-Image auf alle SD-Karten geschrieben haben.
Schritt 7: Konfigurieren der verbleibenden Raspberry Pis
Nachdem wir alle SD-Karten vorbereitet haben, legen Sie die Master-SD-Karte wieder in den Master Pi ein, verbinden Sie sie mit einem Router und starten Sie sie wieder. Legen Sie dann für die verbleibenden Raspberry Pi SD-Karten in alle ein, verbinden Sie sie mit demselben Router wie Ihren Master Pi und starten Sie sie alle. Keiner der sekundären Pis muss über Tastaturen, Mäuse oder Monitore verfügen.
Sobald alle Pis eingeschaltet sind, sollten wir mit unserem Master Pi in der Lage sein, die IP-Adressen jedes Pi im Netzwerk zu erhalten. Hier ist wie:
-
Installieren Sie zuerst NMAP
sudo apt-get update
sudo apt-get install nmap
-
Dann hol dir die aktuelle IP für den Master Pi
ifconfig
-
Jetzt können Sie das Subnetz Ihres Routers nach den anderen Pi-IP-Adressen durchsuchen
sudo nmap -sn 192.168.1.*
Kopieren Sie alle IP-Adressen, die zu den anderen Raspberry Pis im Netzwerk gehören. Wir werden dann in der Lage sein, diese IPs zu verwenden, um über SSH eine Verbindung zu jedem der anderen Pis herzustellen. Was wir zuerst tun müssen, ist jeden der sekundären Pis in einen eindeutigen Netzwerknamen umzubenennen. Im Moment sind sie alle auf Pi01 eingestellt. Angenommen, eine der IP-Adressen des sekundären Pi ist 192.168.0.3, können Sie sich wie folgt damit verbinden und seinen Namen ändern:
-
Stellen Sie eine SSH-Verbindung her
-
raspi-config ausführen
sudo raspi-config
- Scrollen Sie in der Benutzeroberfläche nach unten zur Option Erweitert und wählen Sie dann Hostname.
- Ändern Sie für den Hostnamen Pi01 in die nächste fortlaufende Nummer, die Pi02 ist.
-
Beenden Sie dann die SSH-Sitzung
Ausfahrt
Sie möchten diese Schritte für jeden der anderen Pis im Netzwerk wiederholen und sie in Pi03, Pi04 usw. umbenennen.
Auf Ihrem Master-Pi möchten Sie eine neue Textdatei namens "machinefile" erstellen
Nano-Maschinendatei
Und darin möchten Sie jede der IP-Adressen des Pi (einschließlich der Master-IP-Adresse) in eine neue Zeile eingeben und dann die Datei speichern.
An diesem Punkt könnten wir eine Testdatei mit ausführen
mpiexec -f Maschinendatei -n 4 Hostname
aber es wird eine Fehlermeldung ausgegeben, dass ein "Fehler bei der Überprüfung des Hostschlüssels" aufgetreten ist. Lassen Sie uns das im nächsten Schritt beheben.
Schritt 8: Überprüfen der Hostschlüssel
Um dies zu beheben, damit die Kommunikation mit jedem Pi nicht zu einem Fehler bei der Überprüfung des Hostschlüssels führt, müssen wir Schlüssel für jeden unserer Raspberry Pis erstellen und austauschen. Dieser Teil kann etwas kompliziert werden, aber hoffentlich kannst du bei mir bleiben.
-
Erstellen Sie auf dem Master Pi im Standard-Home-Ordner einen neuen Schlüssel.
cd~
ssh-keygen
-
Navigieren Sie zum ssh-Ordner und kopieren Sie die Schlüsseldatei in eine neue Datei namens "pi01".
cd.ssh
cp id_rsa.pub pi01
-
Als nächstes möchten Sie sich über SSH mit Pi02 verbinden und dieselben Schritte wiederholen, um eine Pi02-Schlüsseldatei zu erstellen
ssh-keygen
cd.ssh
cp id_rsa.pub pi02
-
Bevor wir Pi02 verlassen, müssen wir die Pi01-Schlüsseldatei dorthin kopieren und autorisieren.
scp 192.168.1.2:/home/pi/.ssh/pi01.
cat pi01 >> authorisierte_keys
Ausfahrt
-
Wenn Pi02 fertig ist, wiederholen Sie alle diese Schritte für Pi03
ssh-keygen
cd.ssh
cp id_rsa.pub pi03
scp 192.168.1.2:/home/pi/.ssh/pi01.
cat pi01 >> authorisierte_keys
Ausfahrt
- Wiederholen Sie den letzten Schritt für die verbleibenden Pis, die Sie in Ihrem Netzwerk haben.
-
Nachdem Sie Schlüssel für jeden der Pis generiert haben, gehen Sie zurück zu Ihrem Master-Pi und kopieren Sie alle Schlüssel, die auf jedem der Pis generiert wurden.
cp 192.168.1.3:/home/pi/.ssh/pi02
cat pi02 >> authorisierte_keys
cp 192.168.1.4:/home/pi/.ssh/pi03
cat pi03 >> authorisierte_keys
cp 192.168.1.5:/home/pi/.ssh/pi02
cat pi04 >> authorisierte_keys
- (Wiederholen Sie so viele Pi's in Ihrem Netzwerk)
Schritt 9: Ausführen eines Programms auf Ihrem Supercomputer
Nun sollte alles eingerichtet sein. Versuchen Sie, diese Maschinendatei erneut auszuführen, während Sie sich noch auf Ihrem Master Pi befinden:
cd ~
mpiexec -f Maschinendatei -n 4 Hostname
Wenn alles richtig gemacht wurde, sollte es die IP-Adressen aller Ihrer Raspberry Pis zurückgeben. Nachdem wir unseren Supercomputer erfolgreich getestet haben, lassen Sie uns ein Python-Programm darauf ausführen:
-
Laden Sie mein Testskript zum Knacken von Python-Passwörtern herunter und entpacken Sie es.
wget
tar -zxf python_test.tar.gz
-
Bearbeiten Sie den Passwort-Hash zu einem, den Sie knacken möchten.
nano python_test/md5_attack.py
-
Kopieren Sie die Python-Datei auf alle Ihre Pis.
scp -r python_test 192.168.1.3:/home/pi
scp -r python_test 192.168.1.4:/home/pi
scp -r python_test 192.168.1.5:/home/pi
- (Wiederholung für alle verbleibenden Pis)
-
Führen Sie das Python-Skript aus.
mpiexec -f Maschinendatei -n 5 python python_test/md5_attack.py
Das Skript wird mit der Rechenleistung aller Pis in Ihrem Netzwerk ausgeführt! Fühlen Sie sich frei, es mit Ihrem eigenen Python-Skript zu testen!
Dritter Preis beim Raspberry Pi Contest 2016
Empfohlen:
Wie erstelle ich einen Schrittzähler?: 3 Schritte (mit Bildern)
Wie erstelle ich einen Schrittzähler?: Früher habe ich bei vielen Sportarten gute Leistungen gezeigt: Gehen, Laufen, Fahrrad fahren, Badminton spielen usw. Ich liebe es, in Kürze herumzufahren. Nun, sieh dir meinen beleibten Bauch an……Nun, jedenfalls beschließe ich, wieder Sport zu treiben. Welche Ausrüstung soll ich vorbereiten?
Wie erstelle ich einen LED-Würfel!: 3 Schritte
Wie man einen LED-Würfel herstellt!: Ein LED-Würfel kann ein großartiges Startprojekt für einen angehenden Elektronik-Bastler oder einen Studenten sein, der versucht, die Grundlagen der Schaltung zu erlernen. Durch den Bau eines ästhetisch ansprechenden Lichtwürfels lernen Sie die grundlegenden Schaltungsaufbauten kennen, vertraut
Wie erstelle ich einen PC: 9 Schritte
So bauen Sie einen PC: Einführung: Wir gehen diese Anleitung durch, um zu lernen, wie man einen PC baut. Diese Anweisungen sind eine allgemeine Anleitung zum Anbringen bestimmter Komponenten. Sie sollten also bereits Teile ausgewählt und zum Zusammenbauen bereit haben. Bis zum
Wie erstelle ich einen Mini-PC: 4 Schritte (mit Bildern)
Wie man einen Mini-PC herstellt: Eine Geschichte, woher wir kamen: Die eine der drei klassischen Fragen der Philosophie --- Woher wir kamen, hat mich all die Jahre beschäftigt. Ich habe einmal versucht, Dinge wie einen Roman zu schreiben und habe hier eine gemäßigte Meinung zu der Frage abgegeben. Es sei
[Arduino-Roboter] Wie erstelle ich einen Motion-Capture-Roboter - Daumen Roboter - Servomotor - Quellcode: 26 Schritte (mit Bildern)
[Arduino-Roboter] Wie erstelle ich einen Motion-Capture-Roboter | Daumen Roboter | Servomotor | Quellcode: Thumbs Robot. Verwendet ein Potentiometer des Servomotors MG90S. Es macht sehr viel Spaß und ist einfach! Der Code ist sehr einfach. Es sind nur etwa 30 Zeilen. Es sieht aus wie ein Motion-Capture.Bitte hinterlassen Sie Fragen oder Feedback![Anleitung] Quellcode https://github.c