Selber einen Supercomputer aus mehreren Rechnern machen
Hallo Forum.
Habe kein besseren Platz für das entdeckt ... geht doch eigentlich um Clusters, oder nicht?
Ich bin mal auf diese Seite hier gestossen:
http://www.tomshardware.com/de/Supercomputer-Eigenbau,news-240741.html
Die einfache Frage:P: wie kann man mehrere Mainboards (resp. Rechner) so vernetzten, dass sich die Prozessorleistung, Arbeitsspeicher, Festplattenspeicher ... addiert?
Also wenn ich jetzte noch 3 ältere (nicht identische) Rechner habe (jeder so 500 MB RAM, 40 GB HD, durchschnittlich 750 MHz P III), wie kann ich die verbinden?
Kann man das so machen dass das Ganze von einem PC gesteuert wird (resp das man nur eine Maus / Tastatur) braucht?
Oder wie wäre es mit z.B. 4 "billigen" AMD-Mainboard mit je einem Dual-Core 2 GHz oder so drauf ... untereinander vernetzt (--> alle baugleich)?
Oder was ist mit diesem Link hier:
http://winfuture.de/news,39777.html
Die haben ja die GPU's "zweckentfremdet" ... das würde doch mit ein paar alten baugleichen PCI (habe kein Mainboard mit mehreren AGP oder PICe Steckplätzen ^^) Grafikkarten auch bescheidene Ergebnisse bringen ...
Wäre mal interessant zum ausprobieren und rumspielen ;)
Greetz, Lousek
Habe kein besseren Platz für das entdeckt ... geht doch eigentlich um Clusters, oder nicht?
Ich bin mal auf diese Seite hier gestossen:
http://www.tomshardware.com/de/Supercomputer-Eigenbau,news-240741.html
Die einfache Frage:P: wie kann man mehrere Mainboards (resp. Rechner) so vernetzten, dass sich die Prozessorleistung, Arbeitsspeicher, Festplattenspeicher ... addiert?
Also wenn ich jetzte noch 3 ältere (nicht identische) Rechner habe (jeder so 500 MB RAM, 40 GB HD, durchschnittlich 750 MHz P III), wie kann ich die verbinden?
Kann man das so machen dass das Ganze von einem PC gesteuert wird (resp das man nur eine Maus / Tastatur) braucht?
Oder wie wäre es mit z.B. 4 "billigen" AMD-Mainboard mit je einem Dual-Core 2 GHz oder so drauf ... untereinander vernetzt (--> alle baugleich)?
Oder was ist mit diesem Link hier:
http://winfuture.de/news,39777.html
Die haben ja die GPU's "zweckentfremdet" ... das würde doch mit ein paar alten baugleichen PCI (habe kein Mainboard mit mehreren AGP oder PICe Steckplätzen ^^) Grafikkarten auch bescheidene Ergebnisse bringen ...
Wäre mal interessant zum ausprobieren und rumspielen ;)
Greetz, Lousek
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 89638
Url: https://administrator.de/forum/selber-einen-supercomputer-aus-mehreren-rechnern-machen-89638.html
Ausgedruckt am: 13.04.2025 um 21:04 Uhr
3 Kommentare
Neuester Kommentar
Hallo,
wie man sie einfach verbindet steht doch im ersten Artikel: Über Netzwerkarten. Natürlich sind die nicht so superschnell. Der PCIe-Bus, über den die Karten im zweiten Artikel miteinander kommunizieren, ist da wohl schon deutlich schneller.
Das Problem ist die Software: es gibt keine Universallösung. Keine Software, die du installierst, und dann ist alles gut. Vielmehr muss die ganz speziell angepasst sein, um z.B. im Netzwerk zu laufen (Artikel 1) und um auf Grafikkarten (die auch nur wenige Berechnungen wirklcih gut können) zu laufen braucht man sowieso ganz speziellen Code.
Gruß
Filipp
wie man sie einfach verbindet steht doch im ersten Artikel: Über Netzwerkarten. Natürlich sind die nicht so superschnell. Der PCIe-Bus, über den die Karten im zweiten Artikel miteinander kommunizieren, ist da wohl schon deutlich schneller.
Das Problem ist die Software: es gibt keine Universallösung. Keine Software, die du installierst, und dann ist alles gut. Vielmehr muss die ganz speziell angepasst sein, um z.B. im Netzwerk zu laufen (Artikel 1) und um auf Grafikkarten (die auch nur wenige Berechnungen wirklcih gut können) zu laufen braucht man sowieso ganz speziellen Code.
Gruß
Filipp
Hallo,
ein "Linux (wie ein OS) auf dem dann ein anderes Linux läuft" gibt es schon lange und in vielen Varianten. Schau dir z.B. XEN an.
Das mit dem "Rechenleistung zwischen PCs hin- und herschieben" klappt trotzdem nicht. Es genügt ja nicht, irgendwelche Berechnungen durchzuführen, sondern man braucht dazu auch Daten (und geg. weitere Ressourcen). Natürlich könnte man die Daten auf Anforderung nachliefern. Aber wenn du dir anschaust, wie schnell RAM heutzutage angebunden ist, dann kommt da das Ethernet wohl kaum mit. Dazu käme dann noch der Overhead, irgendjemand muss ja dann die Ressourcen, die angefragt wurden, in Ethernetframes verpacken und verschicken. Und die Ergebnisse entgegennehmen und wieder in den eigenen RAM schreiben. Was ist eigentlich, wenn da derweil Daten verändert werden? Man muss also die Daten nicht nur zur Verfügung stellen, sondern auch synchron halten. Völlig hoffnungslos.
Deswegen muss man Software verwenden, die explizit dazu konzipiert ist, auf mehreren Knoten prallel zu laufen. Das Programm muss dazu in Blöcke zerlegt werden, die möglichst unabhängig von einander laufen, so dass die Kommunikation und Koordination zwischen den Knoten auf ein Minimum reduziert werden kann.
Danben noch zwei Probleme: 1. Bei Standardanwendungen ist die Rechenleistung meistens eh nicht der Flaschenhals, der liegt meistens eher im IO-Bereich, und 2. Die Aufgabe muss grundsätzlich erstmal parallelisierbar sein. Bis vor kurzem hatten die meistens PCs nur einen Prozessorkern. Dem entsprechend wurde Anwendungssoftware auch nur für einen Kern entwickelt, die Algorithmen unterstützen gar keine parallelisierung.
Gruß
Filipp
(der anscheinend mal wieder zu viel Zeit hat)
ein "Linux (wie ein OS) auf dem dann ein anderes Linux läuft" gibt es schon lange und in vielen Varianten. Schau dir z.B. XEN an.
Das mit dem "Rechenleistung zwischen PCs hin- und herschieben" klappt trotzdem nicht. Es genügt ja nicht, irgendwelche Berechnungen durchzuführen, sondern man braucht dazu auch Daten (und geg. weitere Ressourcen). Natürlich könnte man die Daten auf Anforderung nachliefern. Aber wenn du dir anschaust, wie schnell RAM heutzutage angebunden ist, dann kommt da das Ethernet wohl kaum mit. Dazu käme dann noch der Overhead, irgendjemand muss ja dann die Ressourcen, die angefragt wurden, in Ethernetframes verpacken und verschicken. Und die Ergebnisse entgegennehmen und wieder in den eigenen RAM schreiben. Was ist eigentlich, wenn da derweil Daten verändert werden? Man muss also die Daten nicht nur zur Verfügung stellen, sondern auch synchron halten. Völlig hoffnungslos.
Deswegen muss man Software verwenden, die explizit dazu konzipiert ist, auf mehreren Knoten prallel zu laufen. Das Programm muss dazu in Blöcke zerlegt werden, die möglichst unabhängig von einander laufen, so dass die Kommunikation und Koordination zwischen den Knoten auf ein Minimum reduziert werden kann.
Danben noch zwei Probleme: 1. Bei Standardanwendungen ist die Rechenleistung meistens eh nicht der Flaschenhals, der liegt meistens eher im IO-Bereich, und 2. Die Aufgabe muss grundsätzlich erstmal parallelisierbar sein. Bis vor kurzem hatten die meistens PCs nur einen Prozessorkern. Dem entsprechend wurde Anwendungssoftware auch nur für einen Kern entwickelt, die Algorithmen unterstützen gar keine parallelisierung.
Gruß
Filipp
(der anscheinend mal wieder zu viel Zeit hat)