Numbercruncher gesucht

TheCritter

Enthusiast
Thread Starter
Mitglied seit
20.01.2009
Beiträge
447
Ich habe als Aufgabe bekommen mich über eine Serverlösung zu informieren. Vor allem in welche Richtung es gehen soll. Also klassisches Serversystem (Xeons,Power7,...). Oder mit Unterstütztung von GPUs oder aber auch ein Atom System wie bspw das von SeaMicro mit 265 DualCore Atoms:
The SM10000 High Density, Low Power Server | seamicro.com
Kriterien sind Folgende:
- 19''
- möglichst klein (wegen der Miete)
- möglichst stromsparend
- Anschaffungspreis so gering wie möglich
- ECC RAM nicht unbedingt benötigt. Kann sich aber noch ändern
- Hauptaugenmerk: FPU Leistung. Die Routinen sind glaube ich FFTs o.ä.
- Möglichst viele Kerne pro CPU
- Rechenleistung ist derzeit noch offen. Schätze aber ca 5-10TFlops
- Plattenplatz erstmal unwichtig

Als Anhaltspunkt haben wir heraus gefunden dass eine Geforce 580 bei unseren Berechnungen ca 150GFlops schnell ist und etwa gleich schnell wie ein Xeon mit 8 Kernen. Wahrscheinlich würde die Optimierung der Hauptroutinen für SandyBridge (AVX) noch einges bringen. Leichter Favorit wäre daher die Sandy Bridge Lösung. Power7 konnten wir leider noch nicht testen.

Kennt jemand einen Server Einschub der möglichst viel GFlops hat?
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Da ihr das Gerät irgendwo in einem fremden Rechenzentrum einmieten wollt, würde ich dringend zu einem Standardmarkengerät eines Massenherstellers raten. Das mag auf den ersten Blick nicht so sexy sein, hat aber den Vorteil das man stabile und vielfach getestete Hardware bekommt. gerade wenn man nicht dauernd zu dem Server rennen kann, sondern das Ding einfach mal eine Weile laufen muss, ist das ein immenser Vorteil. Was nutzt es denn auch, wenn der schnell rennt, aber dauernd persönliche Zuwendung braucht.

Dir muss auch klar sein, das du hier sehr verschiedene Architekturen miteinander vergleichen willst. x86 ist eben was anderes als die massiv-parallelen Kerne einer Graka. Die KÖNNEN schneller sein, aber haben auch viele Nachteile. Vor allem bricht dort die Gschwindigkeit ein, wenn Daten in den Ram der Graka nachgeladen werden müssen. Und 4GB (sehr viel mehr gibts kaum) ist oft eben auch arg wenig.

Ob nun Atoms eine sinnvolle Lösung sind, hängt sicher stark von der verwendeten Software ab und wie sehr die auf die CPU-Architektur optimiert ist. Fakt ist natürlich, das man mit hochoptimiertem Code sehr viel erreichen kann. Dann stellt sich aber die Frage, ob ihr überhaupt das KnowHow habt, die Spezialitäten von CUDA oder der Power7-Architektut auszureizen.

Mein Tipp wäre hier ein HP DL385. Da gibts dann, wenn man erstmal nur eine CPU nimmt, 12 Kerne für den Anfang und 24 wenn man 2 CPUs reinsteckt. Falls das nicht reicht, gibts auch noch nen DL 585. Das schöne daran ist, das diese AMDs vergleichweise wenig Strom fressen.

Backbone
 
Dann erzähl uns doch bitte noch, wieviele Höheneinheiten es maximal sein dürfen. In 4U bekommst man schon GPU-Cluster, die bei richtiger Code-Optimierung rasendschnell sind.
 
Die Atoms kannst du getrost vergessen.
Läuft eure Software auch auf GPUs? Und wie groß sind eure Daten mit denen ihr eine Rechnung durchführt. Passt das z.B. in den Grafikspeicher?

Wenn Platz eine Rolle Spielt und es CPUs werden lohnt es sich auf jeden Fall mal einen Blick auf Supermicro twin^2 Systeme zu werfen. Von denen bin ich ja immernoch begeistert. 4 2-Sockel Systeme auf 2 HEs mit recht effizienten Netzteilen. Infiniband und Fernwartung gibts für minimalen Aufpreis.

5-10TFlops sind nicht wenig.
Macht doch erstmal Benchmarks auf einzelnen Systemen der in Frage kommenden Hardware. Dann wisst ihr wohl eher wonach ihr euch umschauen müsst.
Braucht ihr die power am Stück oder viele kleine Systeme? Wie wollt ihr parallelisieren?
 
Eine Bladecenterlösung könnte eventuell auch was sein... Die Blades gibts ja mittlerweile auch mit aktueller Dual CPU AMD/Intel Technik. Und je nach Größe passen in so ein Bladecenter schon gut paar Blades rein.

Wenn man sich anschaut, ihr schreibt was von ~150GFlops/s für ein Dual Xeon System. Das wären für 5TFLops/s mal grob 34 Dual CPU Maschinen. Bzw. 68 CPUs.
Addiert mit der wohl steigenden Ineffizienz in Sachen Skallierung auf die Cores...

Das ne ganze Menge Holz.
Zum Thema GPU hab ich ja im anderen Thread schon was geschrieben... Die 580GTX bringt deutlich mehr wie 150GFLops/s auf die Waage. Also entweder ihr schmeckt die Berechnung nicht, oder die Software ist extrem ineffizient. Denn 150GFLops sind mal "nur" schlappe 10% vom theoretischen Maximum.
 
Bladecenter sind in der Regel für Serverdienste optimiert. Man bekommt auf wenig Platz einige Kisten unter und oft ist ein flottes Netzwerk schon mit dabei.
Aber wenn man dickere CPUs verbauen möchte ist man oft schon etwas eingeschränkt.
Dazu kommt der meist nicht sooo attraktive Preis. Numbercrunching kann man halt mit supermicro twin^2 oder ähnlichen Kisten deutlich billiger betreiben weil man einfach auf alles verzichten kann, was nicht gerade zum rechnen benötigt wird. Wer muss schon an jeden Rechner mit KVM ran? Wozu irgendwelche failover-techniken mitkaufen wenn man für das Geld einfach mehr Knoten kaufen kann?

Wie sieht denn euer Zeitplan aus? Könnt ihr davon ausgehen, dass zum Zeitpunkt der Anschaffung schon die Xeon EPs mit Sandy-Bridge Technik und Buldozer Opterons zu bekommen sind?

Auf die Prozessorgeneration bin ich persönlich ja unter anderem wegen AVX und Anzahl der Kerne pro Sockel sehr gespannt. 6 anstelle von 4 Cores bei den aktuellen Xeons haben bei unseren Rechnungen teilweise schon recht deutlich geholfen. Nicht nur das man 1/3 weniger Systeme für gleich viele Cores braucht, auch deutlich weniger kommunikation übers Netzwerk hilft effizienter und vor allem preiswerter zu rechnen.
Infrastrukturkosten machen in der Regel so um die 20-30% aus. Wenn man die um 1/3 kürzen kann weil man 1/3 mehr Kerne pro System unterbekommt ist das meist schon ganz lohnend.

@Kullberg GPUs sind bestimmt klasse wenn man seine Rechnungen drauf druchführen kann. Wir haben probleme mit dem viel zu kleinen Speicher. Da sind 48 bzw. 96GB pro 12Core System doch schon deutlich schöner als max. 6GB/Karte. Außerdem muss man erstmal Software dafür haben, das wird oft utnerschätzt. Magny Cours würde ich auf jeden Fall mal testen. Bei der Software die wir einsetzen war die Leistung pro Core einfach zu schwach. Die meisten Codes skalieren halt nicht perfekt und da ist es Gold wert wenn man in etwa gleiche Leistung auf halb so vielen Cores abrufen kann. Wir haben auch extrem viele FP operationen, trozdem waren die Xeons pro Core (auch dank höherem Takt) oft doppelt so schnell. Ich hatte damals als ich getestet habe den Eindruck, dass vielleicht das Cache-handling bei Intel effizienter war. FP operationen sollten bei den Xeons aber mit SSE und AVX (nächste Xeon Generation) recht ordentlich laufen wenn vektorisiert werden kann.


Wenn deine Software problemlos unter Linux rennt könnte ich evtl. wenn Zeit ist nen kleinen Testlauf machen wir haben 5650, 5530 und auch ein paar 5570 Xeons.
Ansonsten einfach mal beim Anbieter deines Vertrauens eine Teststellung anfragen ist meistens kein Problem ein oder zwei Kisten zu bekommen und da kann man dann auch ordentlich vergleichen. Sandy Bridge kann man halt momentan nur als 4core testen. Aber man kann ja mal mit und ohne AVX support kompilieren und dann schätzen, was die nächste Xeon Generation so bringt. Wenn ihr das machen solltet wäre es ganz nett wenn du Ergebnisse mal mitteilst. Würde ich eigentlich auch mal gern mit unseren Codes machen aber mir fehlt im Moment einfach die Zeit dafür.
 
Zuletzt bearbeitet:
je nachdem in wrlche Richtung der TO nun genau schaut, ist auch die Hp Proliant SL-Serie einen Blick wert...

Backbone
 
In der neuen c't 7/2011 steht übrigens etwas über das Atom - System, u.a. auch der Preis: 148000 $ :eek:
Dafür kriegt man schon nen sehr netten Westmere Cluster.
 
Wow, danke für die vielen Antworten. Ich hatte erst noch paar Benchmarks von unseren Entwicklern abgewartet. Der notwendige SIMD-Befehl PSADBW ist bspw auf der AVX Erweiterung der Sandy Bridges auch nur 128bit breit. Daher nützt der uns nicht weiter. Auch SSE4 ist für unsere Routinen nicht wirklich nützlich.
Also es muss schon mal kein AVX oder SSE4 vorhanden sein. SSE2 reicht mit seinen Befehlen völlig aus.

Die Software die auf den Servern laufen muss liegt übrigens nur in Routinen vor. Es ist also an kein Betriebssystem oder an eine spezielle Prozessorarchitektur gekoppelt. Rechenintensive Routinen werden harwarenah implementiert.

Wichtig wäre für uns eine gute Speicheranbindung und viel Cache.

Zu den Höheneinheiten, die sind nicht begrenzt, aber jede der Höheneinheiten muss ja angemietet werden. Daher wäre so kompakt wie möglich wünschenswert.

Es sollen übrigens viele Anfragen parallel bewältigt werden. Eine Anfrage wird derzeit auf einen Xeon Quadcore in ca 10s erledigt. Die Hochrechnung wieviel Anfragen pro Sekunde rein kommen könnten, die laufen aber noch. Es steht also noch nicht fest.

Zu GPU, da gibt es anscheinend keine passenden Befehle. Die angegebene Shader Leistung sind ja nur MADD Befehle. Für unsere Berechnungen werden komplexere Befehle benötigt die dann entsprechend länger dauern und man daher nicht auf 1,5-2TFlops pro GPU kommt.

Auch sind ATOM Prozessoren eine Option, da es darauf passende SIMD Befehle gibt. Ein Entwickler will sich das jetzt mal anschauen um ein Gefühl für die Geschwindigkeit zu bekommen.

Die angesprochenen SuperMicro SuperServer scheinen nicht schlecht. Viele Kerne auf wenig Raum. Was würde in etwa der Verlinkte 2U Server kosten? Wobei einer reichen würde der nicht so viele Platteneinschübe hat.

@Freddy, wegen dem Benchmark, da frage ich mal einen Entwickler ob der sowas wie einen Benchmark hätte. Danke schon mal für das Angebot.
 
Zuletzt bearbeitet:
Die kompakten Supermicro Systeme sind extrem kosteneffizient gebaut.
Du kannst z.B. bei Pyramid im shop einfach mal was zusammenklicken.
Beispielkonfiguration für 2 bestückte HE wäre

SM Barebone 2U TWIN² 8xXE56 SAS
8 x INTEL® XEON® E5645 Westmere-EP SC 2,4GHz
24 x DDR3 4GB 1333 ECC registered ATP
4 x Intel X25-V SSD 2,5" 40GB MLC

Kostet keine 10.000 Euro allerdings halt noch ohne MWst. das sind Listenpreis keine 2500 Euro für ein 12Core System mit 24GB ECC RAM inkl. sehr praktischer Fernwartungsfunktionen.

Der Preis hängt vor allem an verbauten CPUs und Speicher, die Chassis und Boards von Supermicro fallen nicht so extrem ins Gewicht. Auch die Versionen mit Infiniband sind nur geringfügig teuerer

Wenn man mehr als ein paar dieser Systeme kauft lohnt es sich auch mal nach Rabatten zu fragen. Wenn euer Projekt dann noch was mit Forschung oder Lehre zu tun hat geht am Preis meist noch was.

Wenn ihr euch Platz mietet klärt zuvor ab, dass ihr auch soviel Strom in Wärme wandeln dürft. In rein Luftgekühlten Umgebungen können diese kompakten Kraftpakete schnell zu Problemen führen wenn man mehere davon einsetzt. Auch die Betriebsbedingungen der Systeme sollte man sich mal anschauen und prüfen ob die in dem gemieteten Raum erfüllt werden.

Je nachdem wie euer code skaliert und wie es beim Speicherbedarf pro Core aussieht machen halt teilweise auch die deutlich teureren höher getakteten Prozessoren Sinn.
 
Kennt jemand vielleicht Server Systeme die auf den Sandy Bridge Xeons basieren? Möglichst natürlich in kompakter Bauweise. Nicht ganz abwägig wäre auch ein Desktop Sandy Bridge in ein Server Gehäuse zu bringen. Möglichst auch kompakt. Wie mir gesagt wurde ist ECC RAM nicht unbedingt nötig.
 
Ob es von den großen schon Sandy Server gibt, weis ich gleich gar nicht... CPUs auf Sandy Basis mit Xeon Label gibts aber schon.
Zur Not halt selber schrauben ;)
Oder warten...
 
Kennt jemand einen Server Einschub der möglichst viel GFlops hat?
Opteron 61xx basierte Systeme liefern viel FPU-Power in kompakten Gehäuse. Beispiel Dell Poweredge c6145 (max. 96 Prozessorkerne auf 2HE) oder Poweredge R815 (maximal 48 Kerne auf 2HE). Beim Programmieren muß man allerdings wie auch bei den Intel Xeons ab 55xx darauf achten, daß das ccNUMA Maschinen sind und den Code darauf anpassen, sonst verbrennt man ganz schnell Rechenleistung.
 
Ganz ehrlich, die Preise solcher Kisten sind doch völlig nebensächlich. Wer sowas braucht kann es auch bezahlen, wer es nicht bezahlen kann, braucht es auch nicht wirklich.
Und mal ehrlich, keiner stellt sich so eine Kiste allein irgendwo hin. Dort gibts dann auch ne entsprechende Infrastuktur die gern ein Vielfaches des reinen Servers kostet.

Backbone
 
Ganz ehrlich, die Preise solcher Kisten sind doch völlig nebensächlich.
Man merkt, dass Du sowas nicht bezahlen musst.
Für mich kommt es auf Performance/Watt und auf Performance/Anschaffungspreis an. D.h., wenn so ein 40 Core Rechner unter 10000 € läge, würde ich sicher dafür mein Geld ausgeben - aber für 30000 sicher nicht.
 
Da ich mir den Thread gerade noch einmal zu Gemüte führe
Die Software die auf den Servern laufen muss liegt übrigens nur in Routinen vor. Es ist also an kein Betriebssystem oder an eine spezielle Prozessorarchitektur gekoppelt. Rechenintensive Routinen werden harwarenah implementiert.
Mir fehlt da eine ganze wichtige Information wie muß die Rechenleistung verteilt sein? Wird die gesamte Rechenleistung in einem Problem benötigt, oder sollen auf den Rechner später unterschiedliche Probleme voneinander getrennt gerechnet werden?

Wenn man die gesamte Rechenleistung in einem Problem benötigt braucht man fast zwangsweise einen HPC Cluster, da hierbei die Gesamtrechenleistung maßgeblich von der IO-Latenz der Netzwerkkarten abhängt -> 10GE, DDR IB oder QDR IB wären dann notwendig.
 
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