Über 128GB RAM möglich?

Ihr wolltet ein Hardwareforum. Und wir so: "Neeee, braucht es nicht". Und ihr so: "Dooooooch". Und wir so: "Ach, komm!". Und ihr so: "Hier sind 12 Threads! Und jetzt?". Und wir so: "Ist ja gut..."
Forumsregeln
Datenschutzerklärung: https://www.gamespodcast.de/datenschutzerklaerung/
Impressum: https://www.gamespodcast.de/impressum/

Forenregeln und zukünftige Weltverfassung
ART 1: Behandle andere Nutzer mit Respekt.
ART 2: Do NOT piss off the Podcasters

Lies bitte weitere Hinweise hier: viewtopic.php?f=4&t=2789
Benutzeravatar
Syrill
Beiträge: 38
Registriert: 9. Feb 2017, 09:29

Re: Über 128GB RAM möglich?

Beitrag von Syrill »

Ich werde bei Gelegenheit ein paar der aufgetretenen Fragen beantworten, insbesondere welche Anwendungen das sind und warum manches (wie Cloud-Rechenzentren nicht in Frage kommen). :)

Aber man merkt bei der Recherche, dass es wohl wirklich keine so alltägliche Anforderung ist. Beispielsweise haben wir mal versucht, da mehr als 128GB im Budget schwierig zu bewerkstelligen sein werden, einen 128GB PC mit dem i9-9900K zusammen zu stellen, um zumindest die schnellst mögliche CPU für nicht parallelisierbare Anwendungen zu haben. Dabei stellt sich heraus, dass die CPU zwar 128GB unterstützt, es aber keine Mainboards mit mehr als 4 RAM Slots gibt, noch UDIMM-Module über 16GB. 128GB sind also theoretisch möglich, aber nicht in der Praxis. (Bisher habe ich auch kein kompatibles Server-Mainboard gefunden.)
Kann man einfach RDIMM statt UDIMMs einsetzen? (wenn man den höheren Preis und die niedrigere Taktung bereit ist zu akzeptieren...)

Als Alternative steht aktuell auch der Threadripper 2950X im Raum. Deutlich geringerer Turbo-Takt (4,4 statt 5Ghz), aber die Arbeitspeicher-Frage wäre einfacher zu lösen. Und ich frage mich inzwischen inwiefern ein deutlich größerer L2- und L3-Cache im Zweifelsfall den geringeren Takt kompensieren kann. Allerdings ist das vermutlich schwer zu beantworten ohne technische Details der Berechnungen zu kennen... :roll:
Signatur lädt...
biaaas
Beiträge: 720
Registriert: 1. Sep 2016, 22:28

Re: Über 128GB RAM möglich?

Beitrag von biaaas »

128GB gibt es bei Intel, abgesehen von Serverhardware, nur bei 2066 Boards mit X299 Chipsatz.
Aktuell wäre der i7-7740X der Prozessor mit der besten Sinlge-Thread Leistung auf der 2066 Plattform, hat allerdings nur vier Kerne (8 Threads).
Wenn es 8 Kerne sein sollen, dann ist der i7-9800X nur unwesentlich langsamer.
Benutzeravatar
JannoTjarks
Beiträge: 34
Registriert: 1. Mai 2018, 23:02

Re: Über 128GB RAM möglich?

Beitrag von JannoTjarks »

Moin,

wie die werten Hörer bereits sagten ist es durchaus möglich. Einige fertige Systeme bieten meist auch zwei Prozessoren und ähnliches auf. Bei der Menge an RAM ist wirklich die Frage, wie sehr sich der eine Prozessor langweilt.

Mal so paar Fragen in dem Raum:

Wie viele Nutzer verwenden die Matlab-Anwendung?
Wie viele Prozesse laufen gleichzeitig?
Wird es nur für die Laufzeit genutzt oder auch zum entwickeln?
tj91
Beiträge: 139
Registriert: 21. Okt 2016, 22:05

Re: Über 128GB RAM möglich?

Beitrag von tj91 »

JannoTjarks hat geschrieben: 20. Mär 2019, 21:41 Einige fertige Systeme bieten meist auch zwei Prozessoren und ähnliches auf.
Das bringt jetzt genau ... was? Bei einer Anwendung die nicht wesentlich parallelisiert werden kann.
JannoTjarks hat geschrieben: 20. Mär 2019, 21:41Bei der Menge an RAM ist wirklich die Frage, wie sehr sich der eine Prozessor langweilt.
Wo ist der Zusammenhang?
JannoTjarks hat geschrieben: 20. Mär 2019, 21:41Wie viele Nutzer verwenden die Matlab-Anwendung?
Was meinst du genau?
JannoTjarks hat geschrieben: 20. Mär 2019, 21:41Wie viele Prozesse laufen gleichzeitig?
Anscheinend vorallem diese Matlab-Anwendung, alles andere ist zweitrangig.
JannoTjarks hat geschrieben: 20. Mär 2019, 21:41Wird es nur für die Laufzeit genutzt oder auch zum entwickeln?
Was würde das jetzt für einen Unterschied machen?
Benutzeravatar
Syrill
Beiträge: 38
Registriert: 9. Feb 2017, 09:29

Re: Über 128GB RAM möglich?

Beitrag von Syrill »

Hallo zusammen :)

Nachdem sich herausgestellt hat, dass mehr als 128GB zum einen noch kostspieliger wird, zum anderen aber auch bei der Single-Core-Speed (siehe Xeon Prozessoren) eher Nachteile bringen würde, haben wir uns für eine 128GB Arbeitsspeicher Lösung entschieden. Der ursprünglich angedachte i9-9900K fiel dann dadurch aus, dass er zwar theoretisch 128GB unterstützt, es jedoch aktuell keine kompatiblen Mainboards/Arbeitsspeicher Kombinationen gibt, die 128GB bereit stellen. Stattdessen haben wir uns daher für den AMD Ryzen Threadripper 2950X entschieden. Dessen Turbo Takt bietet nur 4,4GHz statt der 5,0GHz des Intel, dafür sind die 128GB ohne weiteres möglich und wir hoffen darauf, dass bei anderen Berechnungen mit kleineren Datenmengen ggf. ohne Probleme mehrere parallel durchgeführt werden können.
Sollten die Berechnungen in den kommenden Monaten/Jahren schließlich durch Updates von Matlab und der verwendeten Toolbox (Fieldtrip) doch parallelisierbar sein, ist mit dem Threadripper auch dafür eine gute Basis gelegt.

Für alle, die es ggf. interessiert, hier noch die vollständige Konfiguration:

CPU: AMD Ryzen Threadripper 2950X
Mainboard: MSI X399 SLI Plus
Arbeitsspeicher: Kingston HyperX Predator DIMM Kit 128GB, DDR4-3000, CL15-17-17
Grafikkarte: Palit GeForce RTX 2080 Ti GamingPro, 11GB GDDR6, HDMI, 3x DP, USB-C
Gehäuse: Fractal Design Define R6 USB-C Black, schallgedämmt
Kühlung: Alphacool Eisbaer Extreme 280
Netzteil: be quiet! Straight Power 11 750W ATX 2.4
Festplatte 1 (ggf. für zusätzlichen virtuellen Arbeitsspeicher): Samsung SSD 970 EVO Plus 1TB, M.2
Festplatte 2 (für Daten, auf denen Berechnungen durchgeführt werden): Samsung SSD 970 EVO 2TB, M.2
Festplatte 3 (für weitere Daten): Western Digital WD Red Pro 4TB, 3.5", SATA 6Gb/s
Signatur lädt...
philipp_neu
Beiträge: 132
Registriert: 24. Mai 2018, 15:24

Re: Über 128GB RAM möglich?

Beitrag von philipp_neu »

Backup nicht vergessen :D
biaaas
Beiträge: 720
Registriert: 1. Sep 2016, 22:28

Re: Über 128GB RAM möglich?

Beitrag von biaaas »

Das Backup sollte aber wo anders gespeichert werden.
Wenn eine der SSD ausfällt sind die ganzen Daten weg. Damit Die Rechnungen auch im Fall eines Plattenausfalls ohne Probleme weiterlaufen, sollten die Datenplatten als Raid1 (per software!) aus gelegt sein. Dann kann man die defekte Platte im laufenden Betrieb austauschen.
Benutzeravatar
SebastianStange
Administrator
Beiträge: 1107
Registriert: 7. Dez 2016, 21:05

Re: Über 128GB RAM möglich?

Beitrag von SebastianStange »

Ne 2080TI? Soso? Sicherlich zum Raytracing und Video-Rendern, gell? ^^
Ich dachte, da soll nur die CPU Mathe machen?
Benutzeravatar
jesobuild
Beiträge: 60
Registriert: 14. Apr 2017, 00:45

Re: Über 128GB RAM möglich?

Beitrag von jesobuild »

SebastianStange hat geschrieben: 22. Mär 2019, 16:07 Ne 2080TI? Soso? Sicherlich zum Raytracing und Video-Rendern, gell? ^^
Ich dachte, da soll nur die CPU Mathe machen?
Die GPU muss ja nicht zwangsläufig zur Bildberechnung verwendet werden. Das tolle an den GPUs ist ja, dass die noch andere Berechnungen so schön parallelisiert durchführen können (z.B. Matrizenmultiplikationen, wiederum großes Thema in der Computergraphik, deshalb kommen die GPUs da ja auch her). Der Rechner muss ja auch nicht nur für diesen einen Anschaffungszweck genutzt werden, vielleicht gibt es noch andere Nutzer, deren Berechnungen sich wesentlich besser parallelisieren lassen.
Benutzeravatar
JannoTjarks
Beiträge: 34
Registriert: 1. Mai 2018, 23:02

Re: Über 128GB RAM möglich?

Beitrag von JannoTjarks »

Um mal ein paar Nachfragen zu meinem Post zu beantworten:
tj91 hat geschrieben: 21. Mär 2019, 07:53
JannoTjarks hat geschrieben: 20. Mär 2019, 21:41Bei der Menge an RAM ist wirklich die Frage, wie sehr sich der eine Prozessor langweilt.
Wo ist der Zusammenhang?
Die Frage, ob soviel RAM überhaupt genutzt werden kann oder der Prozerssor zum Flaschenhals wird.
tj91 hat geschrieben: 21. Mär 2019, 07:53
JannoTjarks hat geschrieben: 20. Mär 2019, 21:41Wie viele Nutzer verwenden die Matlab-Anwendung?
Was meinst du genau?
Es ist ein Unterschied, ob ein Nutzer nur eine Berechnung vornimmt oder mehrere Nutzer unterschiedliche Berechnungen. Meist schreibt man ein Gerüst in Matlab, welches man mit immer neuen Inputs füttert etc. Mehrere Nutzer können somit ein Richtung vorgeben, ob mehere Berechnung parallel laufen.
tj91 hat geschrieben: 21. Mär 2019, 07:53
JannoTjarks hat geschrieben: 20. Mär 2019, 21:41Wie viele Prozesse laufen gleichzeitig?
Anscheinend vorallem diese Matlab-Anwendung, alles andere ist zweitrangig.
Siehe vorherige Antwort. Immer nur eine gleichzeitig oder doch unterschiedliche Berechnungen gleichzeitig.
Benutzeravatar
Puschkin
Beiträge: 556
Registriert: 5. Jun 2016, 11:26

Re: Über 128GB RAM möglich?

Beitrag von Puschkin »

Wäre hier nicht eigentlich ECC Ram angebracht gewesen? Wenn so Berechnungen länger laufen wären verlustiggeangene Bits doch sehr ärgerlich denke ich?
Do not play devil’s advocate unless you have passed the bar
and are currently representing Satan in a court of law.
Benutzeravatar
Syrill
Beiträge: 38
Registriert: 9. Feb 2017, 09:29

Re: Über 128GB RAM möglich?

Beitrag von Syrill »

DickHorner hat geschrieben: 13. Mär 2019, 18:35 Aber Berechnungen kann man doch auch durchführen lassen? Cloud Computing und/oder auf ein Mainframe auslagern... Ich hab da auch echt wenig Ahnung von, aber soweit ich weiß kann man solche Dienstleistungen auch kurzfristig und ohne Mindestlaufzeit buchen.
Du hast grundsätzlich schon Recht, es kommt/kam in diesem Fall aber aus mehreren Gründen (leider) nicht in Frage:
  • In der öffentlichen Forschung gibt es teils nicht sehr sinnvolle Vorschriften für Beschaffungen. Und ausgerechnet laufende, möglicherweise nicht gleichbleibende Kosten, sind da manchmal schwer zu organisieren.
  • Es gibt schon Zugriff auf einen Server (leider nicht sooo stark) und theoretisch auch auf einen "Supercomputer", allerdings laufen dort die benötigten Toolboxen/Programme noch nicht. Diese Anschaffung ist daher nur eine weitere Zusatz-Lösung. :)
  • Wie bei dem Punkt zuvor, muss bei einem Dienstleister auch erst mal alles passende zur Verfügung stehen. Nur CPU und RAM sind da dann nicht genug, es braucht auch die passende Software. (Entweder nicht möglich oder noch mal ein Kostenpunkt.
philipp_neu hat geschrieben: 13. Mär 2019, 20:41 5000 € halte ich hier eher für unrealistisch, aber das liegt auch daran was genau gefordert ist, "mehr als 128GB Speicher" ist keine Größe mit der man arbeiten kann.

Hab mal bei Dell kurz reingeschaut: Eine Precision 7820 Workstation mit 2x Intel Xeon Bronze 3104 1,7 GHz, 6 Kerne, und 256GB RAM ohne jetzt komplett durchkonfiguriert zu haben kostet ca. 8600 € und da bist du was die CPU angeht noch am unteren Ende der Leistungsskala und vom RAM her bei der nächst-möglichen Größe. Gibt sicherlich noch weitere Anbieter und Dell ist jetzt auch nicht billig, aber so ab 7000 € aufwärts wird der Preis schon liegen denke ich.
Ich habe mich wie gesagt inzwischen etwas mehr umgesehen und muss dir was das Budget angeht, Recht geben. Die erwähnte Workstation allerdings wäre auch am Bedarf vorbei gewesen, da sie nicht eine sehr schnelle, sondern zwei langsamere CPUs verbaut hat (wie scheinbar viele derartiger Lösungen). Für Parallelisierungen super, für den sehr speziellen Anwendungsfall leider nicht. :)
biaaas hat geschrieben: 14. Mär 2019, 11:40 Ich denke auch das 5000 zu knapp sind, gerade wenn man soviel Arbeitsspeicher braucht.
Des weiteren muss man auch darüber nachdenken, wo die Daten anschließend gespeichert werden und wie schnell das passieren muss.
Wenn die Ergebnisse lokal bleiben, sollte man über ein Raid 1 mit mind. 2 Platten, wegen der höheren Zuverlässigkeit, nachdenken. (Achtung das ist kein Backup ;) ).
Dann wäre auch noch die Frage ob die Rechnungen von GPUs profitieren können...
Für eine externe Speicherlösung ist glücklicherweise schon gesorgt gewesen. :)

GPUs wären nur bei Parallelisierung interessant. Da das Budget es hergegeben hat, haben wir einfach mal eine schnelle GPU mit viel Speicher (11GB) auf den Wunschzettel gepackt. Aktuell wird die nicht viel bringen, SOLLTE es aber Fortschritte (intern oder durch Updates der Toolboxen) geben in Sachen Parallelisierung, dann wäre die sicherlich plötzlich sehr sinnvoll. :)
tj91 hat geschrieben: 14. Mär 2019, 16:25 Nur mal ein anderer Gedankengang ... Ist den Personen, die das Programm schreiben denn bewusst, dass sie eventuell mit einem etwas anderen Ansatz deutlich ressourcenschonender programmieren könnten?

Ich kenne weder die Algorithmen, die implementiert werden sollen, noch die Daten. Eventuell ist das Optimum schon rausgeholt und jetzt ist es zwingend, dass sehr viel RAM her muss.

Aber man sollte halt ausschließen, dass man in die Falle tappt, dass man softwaretechnische Probleme mit Hardware erschlägt.

Ist es also wirklich notwendig, so eine riesige Menge an Daten im Arbeitsspeicher vorzuhalten?
Oft kann man auf algorithmischer oder mathematischer Ebene ein paar Kniffe anwenden, oder an bestimmten Stellen einen Tradeoff zwischen Geschwindigkeit und Speichernutzung treffen. Auch kann die Wahl von geeigneten Datenstrukturen sehr viel Rechenzeit und Speicherplatz sparen. Es kann so simpel sein, als dass es eine geeignete Möglichkeit gibt, die Daten in "Chunks" zu verarbeiten.
Das ist durchaus bekannt, es wird wohl auch an anderer Stelle weiter daran gearbeitet, aber Stand jetzt sind die Daten in der Menge und die aufwendigen Algorithmen wohl leider notwendig. Falls es dich interessiert, es wird Matlab mit der Fieldtrip Toolbox (noch in Entwicklung) verwendet. Diese zielt eigentlich auf Echtzeit-Anwendbarkeit für Ärzte, sollte also vermutlich ein großes Interesse an effizienten Algorithmen haben. Wenn du aber mehrere GB Sensordaten schon für wenige Sekunden Messdauer hast, dann ist auch da das Optimieren schwer. ;)
(Aber wie gesagt, ich arbeite nicht selbst daran)
biaaas hat geschrieben: 14. Mär 2019, 16:50 @TE:
Was ist mit dem UNI-Rechenzentrum? Die Experten dort sollten doch auch beraten?
Das wurde, auch auf deine Anregung, nochmals konsultiert. Antwort war "Wer braucht denn sowas?". :roll:
Aber ja, ich stimme dir zu, dass die das eigentlich können sollten...
philipp_neu hat geschrieben: 21. Mär 2019, 21:39 Backup nicht vergessen :D
biaaas hat geschrieben: 21. Mär 2019, 22:02 Das Backup sollte aber wo anders gespeichert werden.
Wenn eine der SSD ausfällt sind die ganzen Daten weg. Damit Die Rechnungen auch im Fall eines Plattenausfalls ohne Probleme weiterlaufen, sollten die Datenplatten als Raid1 (per software!) aus gelegt sein. Dann kann man die defekte Platte im laufenden Betrieb austauschen.
Lösungen dafür existieren glücklicherweise bereits. Eine Raidlösung für diesen Rechner haben wir erst mal hinten angestellt und die Leistung priorisiert. Da die Daten immer noch extern wo anders liegen, wäre im Zweifelsfall nur die entsprechende SSD zu ersetzen und der aktuelle Rechendurchlauf futsch.
SebastianStange hat geschrieben: 22. Mär 2019, 16:07 Ne 2080TI? Soso? Sicherlich zum Raytracing und Video-Rendern, gell? ^^
Ich dachte, da soll nur die CPU Mathe machen?
:D Ja, aktuell soll nur die CPU Leistung bringen. Nachdem wir die wichtigsten Komponenten aber beisammen hatten, haben wir einfach mal den Wunschzettel noch mit schönen Dingen voll gemacht, die aktuell nicht ganz so wichtig, aber in ein paar Monaten/Jahren potentiell sehr relevant sein könnten. Sollte die Toolbox (ist ja noch in Entwicklung) später Parallelisierungen unterstützen, wäre eine anständige GPU plötzlich mehr als sinnvoll. Und dann macht auf eine mit möglichst großem dedizierten Speicher viel Sinn.
Ich habe im Rahmen meiner Masterarbeit letztes Jahr einige Neuronale Netze trainiert und sobald ich das auf die GPU auslagern konnte, hatte ich einen enormen Geschwindigkeitsvorteil. Man muss bei den Nvidia Nutzungsbedingungen zwar inzwischen darauf achten, ob die Grafikkarte und der Verwendungszweck von Nvidia genehmigt sind, aber per se geht das sehr gut und schlägt dann jede CPU, auch einen Threadripper. ;)
jesobuild hat geschrieben: 22. Mär 2019, 19:51 Die GPU muss ja nicht zwangsläufig zur Bildberechnung verwendet werden. Das tolle an den GPUs ist ja, dass die noch andere Berechnungen so schön parallelisiert durchführen können (z.B. Matrizenmultiplikationen, wiederum großes Thema in der Computergraphik, deshalb kommen die GPUs da ja auch her). Der Rechner muss ja auch nicht nur für diesen einen Anschaffungszweck genutzt werden, vielleicht gibt es noch andere Nutzer, deren Berechnungen sich wesentlich besser parallelisieren lassen.
Genau das war der Gedanke. :)
JannoTjarks hat geschrieben: 23. Mär 2019, 23:36 Die Frage, ob soviel RAM überhaupt genutzt werden kann oder der Prozerssor zum Flaschenhals wird.

Es ist ein Unterschied, ob ein Nutzer nur eine Berechnung vornimmt oder mehrere Nutzer unterschiedliche Berechnungen. Meist schreibt man ein Gerüst in Matlab, welches man mit immer neuen Inputs füttert etc. Mehrere Nutzer können somit ein Richtung vorgeben, ob mehere Berechnung parallel laufen.

Siehe vorherige Antwort. Immer nur eine gleichzeitig oder doch unterschiedliche Berechnungen gleichzeitig.
Der Flaschenhals sind CPU und Arbeitsspeicher. Die CPU, weil sich die Berechnungen Stand jetzt nicht parallelisieren lassen, so dass der Takt der CPU die Geschwindigkeit/Dauer der Berechnungen diktiert. Der Arbeitsspeicher gibt zusätzlich vor, wie große Messdaten in die Berechnung einfließen können. Je größer der Arbeitsspeicher, desto mehr Sensordaten und eine umso höhere Messdauer können verarbeitet werden.
Aktuell soll erst mal immer nur eine Berechnung laufen. Sollte der Arbeitsspeicher es erlauben, könnte man aber auch mehrere kleine dann parallel laufen lassen.
Puschkin hat geschrieben: 24. Mär 2019, 07:12 Wäre hier nicht eigentlich ECC Ram angebracht gewesen? Wenn so Berechnungen länger laufen wären verlustiggeangene Bits doch sehr ärgerlich denke ich?
Wäre sicherlich eine Möglichkeit gewesen, war hier aber keine Priorität, weil es scheinbar keine Fehleranfälligkeit dafür gibt meines Wissens nach. Es war allgemein aber so schon nicht einfach kompatiblen RAM für die CPU/Mainboard Kombi zu finden, der 128GB ermöglicht. Die meisten auf der Liste des Mainboard Herstellers bieten nur kleinere Riegel und somit keine 128GB bei 8 Slots.
Signatur lädt...
Antworten