Leistungsstarker Rechner gesucht ... HPC

HaSuStyLe

Enthusiast
Thread Starter
Mitglied seit
31.08.2004
Beiträge
301
Hey Leute, ich hab eine wahrscheinlich etwas ungewöhnliche Anfrage, bin aber derzeit ein bisschen überfordert und auf der Suche nach Hilfe...
Im Wesentlichen suche ich für unsere Arbeitsgruppe einen kräftigen Rechner für Finite Element-Rechnungen mit einem eigenen Code, es geht also um Scientific Computing/Numerik.

Kernpunkte des gesuchten Rechners sind:
- möglichst viele Cores zum parallel rechnen; wir können die problemlos alle nutzen
- Shared Memory (Pflicht)
- Windows (Pflicht)
- interaktives rechnen, also nicht Job abschicken, warten, nächsten Tag abholen
- Budget 10-15k €, mglw. auch etwas mehr

GPU ist unwichtig (kann zum rechnen nicht genutzt werden), was wir an Speicher brauchen muss ich nochmal checken.

Ich hab bisher keinerlei Erfahrungen mit solcher Hardware und daher etwas Probleme was gutes zu finden. Auf den Seiten der großen Hersteller (Dell, HP) bieten die größten Modelle meist 2x 8core-Xeons; also 16 Gesamtkerne, für irgendwas zwischen 5 und 10k€.
Da ist aber erstens das Budget nicht ausgeschöpft, zweitens hab ich die Hoffnung dass da noch etwas mehr geht, denn der Schritt von den 8core Büro-i7s auf 16 Kerne ist nun kein wirklich gewaltiger...

Wenn ich dann sowas hier finde []Robust 32 to 64 cores workstation for Professionals, Featuring the new AMD Opteron Interlagos 8 and 16 cores. this High-End Workstation Computer is built for heavy calculations, 3d Modeling, Film Editing, Digital Content Creation, Real-time high qual (AMD Opteron, 64 Kerne, <10k$) muss ja eigentlich auch mehr drin sein. Wir brauchen aber halt auch Service, Garantie etc. und wohl idealerweise deutschen Vertrieb.
Die nächste Frage ist ab wann das derzeit genutzte Standard OS (64bit Win7) eigentlich Schluss macht und ob man spezielles OS braucht; es gibt ja bspw. ein (teures) HPC Server Windows.

Ansonsten ist vllt. auch fraglich inwieweit die Hersteller-Homepages da überhaupt noch geeignete Informationsquelle sind oder ob man sich nicht lieber mal einen IBM-/sonstwas Mitarbeiter einlädt um sich beraten zu lassen, aber da ist man dann eben auch schnell auf einen Hersteller festgelegt.

Also wie man merkt hab ich gerade Fragen über Fragen und fühle mich etwas überfordert; ich stecke zwar in der Programmierung des Tools ziemlich drin aber hab von der Hardware in solchen Dimensionen leider keine Ahnung.
Vllt. kann mir ja jemand helfen... :)
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Mit dem Budget langt's ggf auch für 2 Dualsocket Maschinen die sich per Infiniband vernetzen lassen, es hängt halt viel von der Software ab ob die z.B. mit so ner Infinibandlösung klar kommt wenn shared Memory gefragt ist.
Ich weiß dass es prinzipiell damit machbar ist hab aber keine praktische Erfahrung auf dem Gebiet.

Als Basis könnte u.a. z.B. der Fujitsu Primergy RX200 S7 interessant sein, den gibt's auch direkt mit Infiniband-Karte.
 
An den Unis kommt es oft darauf an, möglichst viele Kerne auf möglichst wenig Rackspace zu packen. Vor dem Hintergrund können die HP SL Systeme interessant sein. Im Prinzip sind das Blechschachteln mit Lüftern und Netzteilen in die man dann verschiedene kleine und große Server packt. Damit bekommt man auf 4 HE bis zu 8 Server mit je zwei CPUs, also insgesamt 16 CPUs mit jeweils bis zu 8 Kernen. In Summe macht das 128 physische Kerne auf 4HE. Je nach Budget kann man ja auch erstmal mit zwei oder vier Servern starten und später auf 6 oder 8 erweitern.

Backbone
 
In dieser Richtung wäre dann auch Supermicros FatTwin interessant, ggf. noch die Microcloud, da ist aber, so glaube ich, die CPU Dichte nicht so super.
 
Da Windows oben Pflicht ist, wirds mit den ganzen geclusterten Lösungen in meinen Augen so oder so schwierig. Ich kenn zwar die Software selbst nicht, was oben genannt wurde, aber ich weis, das mit einem Windows ohne dedizierte Softwareanpassungen keine Clusterlösungen so ohne weiteres machbar ist. Also entweder clustert die Software selbst (so beispielsweise wie manche Videorendertools mit nem "Netrenderer")


Ansonsten, es wird Windows 7 angesprochen... Je nachdem, welche Version zum Einsatz kommt gibt es dort ein paar Limits, welche zu beachten sind.
Beispielsweise melden sich Dual Xeon Systeme (wie das genannte Dual Xeon E5 System) als Dual CPU Maschine, Windows 7 kann maximal mit zwei CPUs umgehen. Würde man beispielsweise ein AMD Dual G34 System einsetzen, so besteht das Problem, das sich das System pro physischer CPU schon als Dual CPU Maschine meldet. Das heist, unter Windows 7 geht maximal eine G32 CPU. Dual nur mit Windows Server irgendwas. Und ein Quad CPU System nur mit der Enterprise oder Datacenter Edition.


Und noch eine dritte Anmerkung, die reine Anzahl der CPU Cores ist primär uninteressant. Interessanter ist das Wissen, was die Kiste bei Anzahl X CPU Cores und Takt Y eben an Leistung in Form von GFlops/s schafft. Und hier ist je nach Software ein Intel System um Längen schneller. Oder eben auch nicht :fresse:
Ein weiterer Nachteil ist, bei Multi CPU Systemen wird mit sogenanten NUMA Nodes gearbeitet. Das Problem ist, diese Nodes sind untereinander nur recht "lahm" verbunden. Berechnungen, wo mehrere Teile der Aufgabe auf verschiedenen Nodes ausgeführt werden, skalieren im Vergleich äußerst mau über die Coreanzahl. Wobei das unterm Strich auch auf die Software ankommt und man mal testen sollte. es kann also im Extrem fall sein, das du bei ner Quad Sockel Maschien bei doppelte Core Anzahl vllt nur 20 oder 30% mehr Leistung hinten raus bekommst. Ne nach Kaufpreis wäre das unter Umständen ziemlich unwirtschaftlich.
 
Da stimme ich fdsonne voll zu. In erster Linie ist es die Software mit all ihren Eigenarten. Wie skaliert die, skaliert sie überhaupt. Wie kann Sie CPUs in anderen Systemen auslasten etc.pp.
Daran krankt ja momentan auch der ganze Hype um die ach so potenten GPU-Rechner. In der Theorie ist alles schön und gut, in der Praxis muss die darauf laufende Software die Rechenwerke erstmal mit Daten versorgen und die Rechenergebnisse hinterher wieder einsammeln. Und das über Datenpfade die um Größenordnungen langsamer sind als die Anbindung an die schnöde CPU.

Letztlich stellt sich damit die Frage wie viel Mehrwert man einsammeln kann, wenn man viel Mehrarbeit in die Code-Entwicklung steckt und ob das Verhältnis da noch gewahrt ist....

Backbone
 
Hey
Im Wesentlichen suche ich für unsere Arbeitsgruppe einen kräftigen Rechner für Finite Element-Rechnungen mit einem eigenen Code, es geht also um Scientific Computing/Numerik.

Kernpunkte des gesuchten Rechners sind:
- möglichst viele Cores zum parallel rechnen; wir können die problemlos alle nutzen
- Shared Memory (Pflicht)
- Windows (Pflicht)
- interaktives rechnen, also nicht Job abschicken, warten, nächsten Tag abholen
- Budget 10-15k €, mglw. auch etwas mehr

Ich hab bisher keinerlei Erfahrungen mit solcher Hardware und daher etwas Probleme was gutes zu finden. Auf den Seiten der großen Hersteller (Dell, HP) bieten die größten Modelle meist 2x 8core-Xeons; also 16 Gesamtkerne, für irgendwas zwischen 5 und 10k€.
Wir brauchen aber halt auch Service, Garantie etc. und wohl idealerweise deutschen Vertrieb.
Die nächste Frage ist ab wann das derzeit genutzte Standard OS (64bit Win7) eigentlich Schluss macht und ob man spezielles OS braucht; es gibt ja bspw. ein (teures) HPC Server Windows.

Ansonsten ist vllt. auch fraglich inwieweit die Hersteller-Homepages da überhaupt noch geeignete Informationsquelle sind oder ob man sich nicht lieber mal einen IBM-/sonstwas Mitarbeiter einlädt um sich beraten zu lassen, aber da ist man dann eben auch schnell auf einen Hersteller festgelegt.

Also wie man merkt hab ich gerade Fragen über Fragen und fühle mich etwas überfordert; ich stecke zwar in der Programmierung des Tools ziemlich drin aber hab von der Hardware in solchen Dimensionen leider keine Ahnung.

Also die Suche nach Finite Element benchmark und einmal Intel und AMD ergibt ja nun doch ein paar Treffer...

Intel® Xeon® processor 7000 sequence - Scalability
Finite Element Analysis (LS-DYNA) Performance

Am besten wird sein, du verlangst einen entsprechenden Kundenberater und lasst euch ggf. Teststellungen geben, Intel und AMD-System. Wenn es mehrere Knoten sein sollen, dann in der Regel über 40 oder 56Gbit IB (Infiniband).
 
Wenn die Systemanforderungen derart unklar sind würde ich mich auch auf jeden Fall mal um ne Teststellung bemühen.
Von der Stange kauft man in der Preisklasse sowieso nicht.
 
Euer Vorhaben in Ehren aber zukunftsfähig ist es nicht. Wenn ihr mehr Rechenleistung braucht als ein Knoten zur Verfügung stellt ist Euer Vorhaben zum Scheitern verurteilt. Daher sollten folgende Punkte dringends überdacht werden.
- Shared Memory (Pflicht)
- Windows (Pflicht)
- interaktives rechnen, also nicht Job abschicken, warten, nächsten Tag abholen
Es gibt in Deutschland meines Wissens keinerlei HLR System an einer Uni, die nicht mit einem UNIX/Linux betrieben wird. In der Top500 ist der Windowsanteil <1%. Selbst kommerzielle Windows FEM-Software hat mittlerweile spezielle HPC-Cluster Code der unter Linux läuft. Windows ist für HPC nicht die beste Plattform, insbesondere wenn man über beschränkte finanzielle Mittel verfügt.

Man muß zwar prinzipiell auf einem Cluster Software nicht über Batch Jobs laufen lassen, man kann dies auch direkt machen. Aber bei den üblichen Anschaffungspreisen ist das eine nahezu unverzeihliche Verschwendung von Resourcen.

Shared Memory heißt ihr verwender Threads und habt von der Komplexität der modernen HPC-Knoten keinerlei Ahnung. Solcher Code skaliert nur auf einem NUMA-Knoten! Wenn ihr Euren Code nicht überarbeitet ist momentan das schnellste System ein single Socket Xeon E5 System mit acht Kernen. Das heißt, Xeon E5-2687W mit passenden single Socket Board kaufen und eine normale Windows Lizenz verwenden. Mehr ist mit Eurem Code nicht drin!

Damit der Code überhaupt auf einem multi NUMA-System skaliert, muß er auf die NUMA-Problematik optimiert werden. Tut man das nicht, werden zwar schön alle Kerne auf dem System ausgelastet, aber der Code läuft keinen Deut schneller als auf einem NUMA-Knoten alleine. Wenn Ihr schon dabei seit den Code zu überarbeiten, dann sollte der Code gleich ordentlich umgeschrieben werden. D.h. er sollte mit MPI und/oder OpenMP sowie unter Berücksichtigung NUMA-Problematik geschrieben werden. Und man sollte sich von der Windows-Abhängigkeit befreien. Auf Dauer verbaut Ihr Euch damit jede Möglichkeit einen Cluster zu nutzen.
 
Danke für die ganze Resonanz.

Schätze ich muss einige Punkte klarstellen:
- Zunächst mal unterlag ich einem Missverständnis, mit 2x 8-core Xeons sind ja doch immerhin 32 Threads möglich
- Wir brauchen keinesfalls mehr Rechenleistung als ein einzelner Knoten bereitstellt. Wir sind auf Einzelknoten angewiesen, da große Datenmengen übertragen werden müssen und das in Clustern höllisch langsam wäre. Darum übrigens auch Shared Memory und kein MPI.
- Evtl. hab ich mit HPC das falsche Stichwort genannt... wir machen ja lediglich akademische Rechnungen, also bevor wir da auf Clustern rechnen wird lieber die Diskretisierung zurückgeschraubt. Wir sind auch eine kleine Arbeitsgruppe (~5 Leute, von denen max. 1-2 über Elementebene hinaus aktiv am Code/der Parallelisierung arbeiten), haben keine ausgebildeten Programmierer oder sonstwas. ;)
Es geht einfach darum die Probleme die wir atm. auf den BüroPCs rechnen können evtl. ein bis zwei Größenordnungen hochschrauben zu können mit ner dedizierten Rechenstation mit maximaler Power bei i.W. Beibehaltung der Umgebung, also kein Serverrack, keine HPC-Cluster, kein Unix.
Also sowas hier:
Das heißt, Xeon E5-2687W mit passenden single Socket Board kaufen und eine normale Windows Lizenz verwenden. Mehr ist mit Eurem Code nicht drin!

Dass wir damit keine Supercomputingjobs rechnen können ist mir klar, dafür ist das Programm auch gar nicht gemacht. Wir entwickeln eher neue Methoden und Modelle, als vorhandene Probleme durch pure Rechenpower in die Knie zwingen zu wollen. ;)

Ich werd mich in die von euch genannten Stichpunkte mal einlesen da es mir teils neu ist, aber bis dato bleibt es ganz klar bei Einzelstation, Windows. Ich denke mit einer Dual-E5-2687 Lösung könnte ich mich inzwischen anfreunden, auch wenn das Budget mglw. nicht voll ausgeschöpft wird.
 
moin,

kleiner denkanstoß, wo es doch um beachtliche 10k+ geht:

Amazon Elastic Compute Cloud (Amazon EC2)

leistung, skalierbarkeit, wartung, verfügbarkeit ... alles punkte über die man sich keine sorgen machen muss.

das ganze lohnt sich natürlich nur bei gewissen voraussetzungen.
 
- Wir brauchen keinesfalls mehr Rechenleistung als ein einzelner Knoten bereitstellt. Wir sind auf Einzelknoten angewiesen, da große Datenmengen übertragen werden müssen und das in Clustern höllisch langsam wäre. Darum übrigens auch Shared Memory und kein MPI.
Da Ihr in diesem Bereich keinerlei Erfahrung habt - eine vermessene Aussage. Was glaubt ihr eigentlich wie man sonst FEM-Software auf Clustern parallelisiert? Ihr werdet Euch grundsätzlich über die Lokalität von Daten Gedanken machen müssen, wenn mehr als ein NUMA-Knoten genutzt werden soll. Mit dem Ansatz einfach weiter so werdet Ihr scheitern!

- Evtl. hab ich mit HPC das falsche Stichwort genannt... wir machen ja lediglich akademische Rechnungen, also bevor wir da auf Clustern rechnen wird lieber die Diskretisierung zurückgeschraubt. Wir sind auch eine kleine Arbeitsgruppe (~5 Leute, von denen max. 1-2 über Elementebene hinaus aktiv am Code/der Parallelisierung arbeiten), haben keine ausgebildeten Programmierer oder sonstwas. ;)
Also das typische universitäre Umfeld. Ihr seid nichts besonderes, das geht den meisten Arbeitsgruppen so.

Es geht einfach darum die Probleme die wir atm. auf den BüroPCs rechnen können evtl. ein bis zwei Größenordnungen hochschrauben zu können
Das heißt ihr braucht bei linearer Komplexität die 10-100 Rechenleistung gegenüber einem Desktop - ohne Cluster keine Chance!

Dass wir damit keine Supercomputingjobs rechnen können ist mir klar, dafür ist das Programm auch gar nicht gemacht. Wir entwickeln eher neue Methoden und Modelle, als vorhandene Probleme durch pure Rechenpower in die Knie zwingen zu wollen. ;)
Das eine schließt das andere nicht aus.
Ich denke mit einer Dual-E5-2687 Lösung könnte ich mich inzwischen anfreunden, auch wenn das Budget mglw. nicht voll ausgeschöpft wird.
Ein Dual-Socket Xeon E5 besteht aus zwei NUMA-Knoten, mit Eurer Brechstangenmethode zu parallisieren werdet ihr die Rechenleistung nicht ausschöpfen können!
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh