Himbeer-Pi-Cluster-Computer

13

Ich habe vor kurzem eine Porta Pi Arcade gekauft, bei der es sich im Grunde um eine RPi-Arcade-Maschine mit Emulationsstation und Retro-Pi handelt. Ich lasse zurzeit Mame, Sega Genesis usw. laufen. Mit dem Pi 2 habe ich es geschafft, einige N64-Spiele zu spielen, aber nicht alle laufen so gut, wie ich es gerne hätte. Also wollte ich 2 Pi 2 zusammenfügen oder die CPU-Leistung und den RAM verbessern, um zu versuchen, PSX- und N64-Spiele auszuführen. Ist es also im Wesentlichen möglich, CPU und RAM auf dem RPi 2 zu aktualisieren? Wenn das so ist, wie?

Wäre es einfacher, ein RPi-Cluster zu erstellen, um das Gleiche zu erreichen, habe ich auf YouTube einige Videos zum Erstellen eines solchen Clusters gesehen, aber keine erklärt wirklich, ob es wie ein einziger großer Computer funktioniert oder nur 2 Pi-Sharing-Aufgaben sind und ob sie es tun Aufteilung der Aufgaben wird es in meinem Fall funktionieren?

Geordan
quelle
11
Clustered Computing teilt nicht die Prozessorleistung und stellt sie einem einzelnen Prozess zur Verfügung. Es ist das verteilte Rechnen einer wirklich komplexen Aufgabe (die auf mehrere Maschinen aufgeteilt werden kann).
PNDA
1
Anstatt dass ein Prozessor A und B von Aufgabe AB ausführt, wird Aufgabe A an Prozessor 1 und Aufgabe B an Prozessor 2 übergeben. Sobald diese erledigt sind, werden die Arbeitsteile kombiniert, um das Endergebnis zu erhalten.
PNDA
Auch wenn Clustering 1 + 1 nicht gleich 2 ist, ist für die Kommunikation der Cluster-Mitglieder Verwaltungsaufwand und Verwaltungsaufwand sowie erhöhter Netzwerkverkehr erforderlich.
Steve Robillard
2
"Ist es also im Wesentlichen möglich, die CPU und den RAM des RPi 2 zu aktualisieren? Wenn ja, wie?" Ein Google mit 5 Sekunden Dauer hätte die Antwort gegeben.
Joan

Antworten:

14

Sie können den RAM definitiv nicht aktualisieren. Es ist in die CPU eingebunden und kann nicht vom Benutzer aktualisiert werden, wie dies bei einem Desktop-Computer der Fall ist. Sie können die CPU auch nicht physisch austauschen. Möglicherweise können Sie die CPU übertakten, dies ist jedoch bereits geschehen. Sie können die Taktfrequenz mit dem folgenden Befehl ein: sudo raspi-config.

Was das Clustering betrifft, müsste das von Ihnen ausgeführte Programm so konzipiert sein, dass es parallel ausgeführt wird, um die Vorteile zu nutzen, und die von Ihnen verwendete Spielesoftware wird dies wahrscheinlich nicht unterstützen, da die ursprünglichen Spiele mit ziemlicher Sicherheit nicht dafür ausgelegt sind Vorteil davon.

Steve Robillard
quelle
Um sich zu qualifizieren: Viele moderne Spiele nutzen sicherlich Multi-Core-Prozessoren (ganz zu schweigen von der stark parallelisierten GPU-Auslastung). Nur benötigen sie im Allgemeinen gemeinsam genutzten Hauptspeicher , den Sie bei einer Cluster-Architektur nicht haben.
Linksabfahrt
9

Es ist nicht wirklich möglich, RAM oder CPU einfach zu aktualisieren. Beide sind ein festes Paket, das auf die Platine gelötet ist.

Cluster Computing löst dies ebenfalls nicht - es funktioniert einfach nicht so, wie Sie es sich erhoffen würden. Es ist, gelinde gesagt, komplex, mehr als einen Computer zur gleichen Aufgabe zu bringen, und die Emulationssoftware, mit der Sie Ihre Spiele ausführen, kann nicht von den verteilten Ressourcen profitieren.

Die RPi-Computing-Cluster, die Sie auf YouTube gesehen haben, waren wahrscheinlich Beowulf-Cluster. Das Erstellen dieser mit RPis ist nicht sehr effektiv, aber es ist möglich, den Leuten beizubringen, wie Computing-Cluster funktionieren, was Sie mit ihnen tun können und wo Einschränkungen bestehen.

Izzy
quelle
8

Sie können einige Dinge tun.

  1. Setzen Sie einen Lüfter / Kühlkörper auf Ihren Raspberry Pi.

    Auf diese Weise wird verhindert, dass die CPU gedrosselt wird, wenn sie zu heiß wird. Dies sichert eine stabile Leistung und hilft bei 2.

  2. Übertakten Sie Ihre CPU

    Wenn Sie es schneller laufen lassen, sollten Sie Ihre Leistung verbessern, aber Sie sollten sich zuerst mit 1. befassen.

  3. Passen Sie die RAM-Zuweisung in Richtung GPU oder CPU an, je nachdem, was am dringendsten benötigt wird.

  4. Warten Sie auf eine aktualisierte / schnellere Version von Raspberry Pi.

Antzi
quelle
1
Es hat sich gezeigt, dass Raspis keinen Kühlkörper brauchen, alles andere ist hier wahr.
Thomas Shera
Das ist wahrscheinlich wahr, wenn Sie nicht etwas übertakten. (Oder wenn der Himbeer-Pi an einem heißen Ort ist).
Antzi
1
Ich übertaktete meine B + auf 1100 MHz CPU (+400), 900 MHz GPU (+200) und hatte noch ein paar Stunden unter Volllast rund 30 Grad Celsius. Wenn Sie an einem wirklich heißen Ort sind, könnte es sein.
Thomas Shera
@ThomasShera Der ganze Grund, warum Übertakten möglich ist, ist, dass nicht alle Prozessoren, die vom selben Fließband kommen, tatsächlich gleich sind. Sie geben also die höchste Zahl an, die für alle gelten sollte. Eine Person, die anekdotisch sagt: "Ich habe so übertaktet und hatte kein Problem", bedeutet nicht, dass dies allgemein zutrifft, und Abkühlung wird per Definition beim Übertakten helfen, da Hitze und nicht Geschwindigkeit das Problem sind.
Goldlöckchen
1
... Wenn Sie also die schnellstmögliche Geschwindigkeit wünschen, möchten Sie abkühlen. Sie können es so hoch drehen, wie Sie möchten, solange Sie die Kerntemperatur niedrig halten. Jemand schaffte es, einen pi B auf 3,0 Gz zu bringen, aber es erforderte einiges an Kühlung ...
Goldlöckchen
4

Sie müssten die Legacy-Spiele komplett neu programmieren. Stellen Sie sich das so vor: Cluster-Computing mit 2 Raspis ist nur dann sinnvoll, wenn Sie die Aufgabe auf 2 Computer aufteilen können. Außerdem ist der Prozessor schneller als der USB. Für Clustering gibt es wenig praktischen Grund.

Mein Rat wäre, die Raspi zu übertakten (würde es zuerst versuchen) oder die Grafikeinstellungen im Spiel zu ändern.

EDIT: Ich bin nicht sicher, ob es eine Möglichkeit gibt, herauszufinden, ob es sich um einen CPU- oder einen GPU-Engpass handelt, aber es hilft ein wenig, dem langsameren mehr RAM zuzuweisen.

Thomas Shera
quelle
3

Selbst wenn ein Spiel oder Emulator mehrere Recheneinheiten verwenden könnte - was insbesondere bei älteren Spielen für Single-Core-Plattformen sehr, sehr unwahrscheinlich ist - wären die Kommunikationskosten für die meisten Spiele wahrscheinlich unerschwinglich.

Jede Information müsste den gesamten TCP / IP-Ethernet-Stack durchlaufen (es sei denn, Sie verwenden spezielle Hardware zum Anschließen der Geräte, die ich nicht mit Sicherheit sagen kann , existiert nicht). Dies führt zu Verzögerungen in der Größenordnung von Millisekunden, dh Hunderttausenden von Taktzyklen. Sie können sich diese Latenz nicht leisten, es sei denn, Sie haben relativ große Aufgaben, die erst zu einem späteren Zeitpunkt anstehen. In Spielen, obwohl, müssen Sie die meisten Ergebnisse jetzt .

Raphael
quelle
2

Die einzige realistische Möglichkeit, mehr Leistung zu erzielen, besteht darin, einen schnelleren Single-Board-Computer zu wählen. Odroid-Modelle (basierend auf Samsung Exynos SoC) sind bekanntermaßen schnell, andere Optionen sind in Wikipedia beschrieben .

Denken Sie daran, dass Sie sicherstellen müssen, dass der von Ihnen ausgewählte Einplatinen-Computer sowohl mit der Software, die Sie ausführen möchten (was sehr wahrscheinlich ist), als auch mit dem Hardware-Zubehör, das Sie verwenden werden (sehr unwahrscheinlich), kompatibel ist. Grundsätzlich werden Sie den Arcade-Automaten für jedes Board entwerfen, das Sie auswählen. Wenn Sie keine Erfahrung mit Elektronik und ARM-Plattformen im Allgemeinen haben, würde ich Ihnen nicht raten, es zu versuchen.

Dmitry Grigoryev
quelle