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?".
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
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?
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.