Diese Frage ist von diesem Artikel inspiriert .
Derzeit verbringe ich viel Zeit in R, um Daten zu analysieren. Einige der Skripte, die ich in R ausführe, könnten vom parallelen Rechnen profitieren, um Zeit zu sparen. Angenommen, ich könnte einen "echten" Barebone-Computer für etwa 300 US-Dollar bauen, und für die gleichen 300 US-Dollar könnte ich 6 Pis (einschließlich Stromkabel und SD-Karte) bekommen. Angenommen, ich hätte eine Aufgabe, die für die Parallelisierung gut geeignet ist, wäre ich besser mit dem Pis oder dem "echten" Computer?
Würde sich die Antwort ändern, wenn ich die Hardware des "echten" Computers auf einen Wert hochfahren würde, der 1000 US-Dollar kosten könnte?
Antworten:
Wenn Sie dies analysieren möchten, müssen Sie mehr als 20 RPI gegen 1000 USD sagen und selbst entscheiden, was Sie tatsächlich für 1000 USD erhalten und verwenden können. Beachten Sie, dass dies nicht der Einkaufskanal ist.
Angenommen, Sie können ein Motherboard, ein Netzteil, 8 GB RAM, einen 6-Kern-Prozessor mit 3,4 GHz i7 und eine alte Festplatte (die immer noch schneller als eine SD-Karte ist!) Für etwa 1000 US-Dollar erwerben. Die Gesamtzyklen pro Sekunde wären 6 · 3,4e9 = 20,4e9 gegenüber 20 · 0,7e9 = 14e9 für den pi-Supercomputer.
Betrachten Sie nun die Tatsache, dass ein Multi-Core-Prozessor ein Multi-Core-Prozessor ist, während die E / A zwischen pis (wenn dies ein wesentlicher Faktor wird) um Größenordnungen langsamer sein wird.
Obwohl ich kein ernsthaftes Interesse an (oder Wissen über) Pi-Supercomputern habe, würde ich davon ausgehen, dass sie zu Experimentier- und Bildungszwecken dienen. Es ist definitiv ein billiger Cluster, aber wenn es Ihr Ziel ist, Zahlen schnell zu knacken (im Gegensatz zum Experimentieren und Lernen), gibt es keine Möglichkeit, dass ein Pi-Cluster kostengünstiger oder energieeffizienter ist als ein normaler PC.
quelle
Dies hat eine etwas komplexe Antwort - eine Schlüsselfrage, die Sie beantworten müssen, ist "welche Art von Arbeit fordern Sie von der Maschine?"
Die Befehlssätze auf verschiedenen Rechnern (ARM vs Intel vs whoever else) sowie die Qualität der Compiler machen einen großen Unterschied in der tatsächlichen Leistung. Wenn die Arbeit, die Sie ausführen möchten, eine Hardwarebeschleunigung auf einem Computer hat, auf einem anderen jedoch nicht, ist dieser Faktor allein wichtiger als eine signifikante Änderung der Taktrate.
Im Allgemeinen denke ich, dass der größte Preis-Leistungs-Knall von einer moderat getakteten Multicore-General-CPU von AMD oder Intel ausgeht. Wenn Sie sich in einer kontrollierten Umgebung mit niedrigen Umgebungstemperaturen befinden, können Sie diese Chips wahrscheinlich etwas übertakten, um eine höhere Leistung zu erzielen.
Das rasPi ist definitiv NICHT für diese Art von Dingen konzipiert, die nicht davon abhalten sollten, zu lernen, wie Dinge funktionieren, und sogar ein wirklich "verteiltes" System zu einem sehr erschwinglichen Preis aufzubauen. Wenn Sie jedoch ernsthafte Daten- und / oder Zahlenprobleme lösen müssen, ist der rasPi wahrscheinlich nicht die richtige Wahl.
quelle
Abgesehen von der unterlasteten CPU auf dem pi kann ich nicht sehen, wie Sie Daten auf Dutzenden von pis schnell genug auf die CPUs bringen, um Leistungssteigerungen zu sehen, die sich lohnen. Die Busgeschwindigkeit ist im Cluster-Super-Computing genauso wichtig wie die CPU-Geschwindigkeit, und der pi ist hier sehr unangemessen.
Sowohl das Netzwerk als auch der Festplattenzugriff teilen sich den gleichen 60-MB-USB2-Bus. Die SD-Karte bietet bestenfalls eine Leistung im Geschwindigkeitsbereich von 20 MB.
Low-End-PC-Hardware mit SATA bei 150 MB und Ethernet auf einem 2-GB-PCI-Bus bietet eine um Größenordnungen höhere Bandbreite.
quelle
Wenn Sie Supercomputing zwischen Knoten lernen möchten. ..Ich würde das pi einrichten. Wenn Sie etwas preiswertes, aber leistungsstarkes wollen, kaufen Sie einen gebrauchten Xenon-basierten Intel Server / Workstation mit mehreren Kernen und setzen Sie eine oder mehrere gebrauchte Tesla-Karte (n) oder Cuda-GPU-Karte (n) oder Intel-Phi-Karte (n) ein.
quelle