derwowusste
Goto Top

Frage zu Clustering auf Server 2016

Moin allerseits!

Wer nutzt Clustering auf Server 2012 oder noch besser schon auf 2016 und kann mir Folgendes beantworten:
ein Kollege will eine mathematische Simulation, die auf normal sterblichen PCs Wochen rechnen würde, stark beschleunigen.
Seine Programmierkunst ermöglicht angeblich ohne weiteres die Nutzung von hunderten von Prozessoren.

Frage: kann ich, wenn ich mehrere Server 2016 Datacenter zusammenclustere, erwarten, dass die Anwendung die CPUs beider zusammengenommen nutzen kann?
Meine Vermutung: nein, mit Sicherheit nicht, wenn die Anwendung nicht irgendwie "cluster-aware" gemacht wird. Aber ich kann es nicht ausschließen, da ich mit Clustering 0,0 Erfahrung habe.

Content-Key: 325693

Url: https://administrator.de/contentid/325693

Ausgedruckt am: 28.03.2024 um 12:03 Uhr

Mitglied: 131381
131381 06.01.2017 aktualisiert um 13:28:32 Uhr
Goto Top
Moin,
zwar nicht mein Thema aber dafür gibt es normalerweise das passende HPC Pack um die Lasten auf die beteiligten Nodes zu verteilen.
Microsoft HPC Pack (Windows HPC Server)

Gruß mik
Mitglied: DerWoWusste
DerWoWusste 06.01.2017 um 13:30:18 Uhr
Goto Top
Danke.

Frage ist nur: was versteht MS unter "HPC Applications", was müssen die "mitbringen"?
Mitglied: 131381
131381 06.01.2017 aktualisiert um 13:46:27 Uhr
Goto Top
Ich würde das mal hier reinkippen:
Windows HPC Server Developers - General
Die können dir das sicher schnell beantworten.

Matlab sollte auch genau für sowas herhalten
Perform parallel computations on multicore computers, GPUs, and computer clusters
Mitglied: 108012
108012 06.01.2017 um 13:57:47 Uhr
Goto Top
Hallo,

Seine Programmierkunst ermöglicht angeblich ohne weiteres die Nutzung von hunderten von Prozessoren.
Es kommt darauf an wie die Software arbeitet! Manchmal muss es eine Farm sein und manchmal ein Cluster!
Das kann als nur Dein Freund beantworten der die Software geschrieben hat, denn zum einen werden bei einem
Cluster alle beteiligten "Nodes" an einer Datei rechnen oder sonst irgend etwas machen und zum Anderen kann
es auch gut sein dass die Software sich von 500 PCs oder Servern immer ein Stück der Datei bzw. eine neue Datei
holt und sie durchrechnet und dann wieder zurück schiebt, das ist dann eine Farm.

Das liegt also stark an der Software die man benutzt und was sie denn als Basis benutzt ist auch nicht unwichtig.
Das können zum Einen CPUs und Ihre Kerne sein und zum Anderen auch wieder Grafikkarten oder sogenannte HTC
Karten und ja sicherlich, wenn auch seltener, können solche Karten und die CPU kerne zusammen benutzt werden
um solche Aufgaben schnell und effizient zu erledigen.

Als CPUs sind hierfür meist Xeon E5 oder E7 in Benutzung und bei den karten sind es unterschiedliche;
- Intel Phi Karten
- nVIDIA Tesla und Kepler Karten

...ein Kollege will eine mathematische Simulation, die auf normal sterblichen PCs Wochen rechnen würde, stark beschleunigen.
Also ich würde da einen Server mit so vielen Karten die ich kaufen kann aufsetzen wollen und dann eben zusehen das man damit
zum Ziel kommt, sollte die Software das nicht bringen, würde ich versuchen an Xeon E5- v3/v4 CPU mit 10 Kernen plus HT und
welche mit >3,0GHz zu ergattern das sollte dann eine Balance zwischen Kernen und GHz sein.

Wer nutzt Clustering auf Server 2012 oder noch besser schon auf 2016
Können die nicht auf Linux-Basis laufen?

Gruß
Dobby
Mitglied: DerWoWusste
DerWoWusste 06.01.2017 aktualisiert um 14:29:41 Uhr
Goto Top
@131381
Stimmt, das ist wohl vernünftig.
Habe ich gemacht: https://social.microsoft.com/Forums/en-US/88d5219d-a7ce-4e55-9888-1adff7 ...
Mitglied: DerWoWusste
DerWoWusste 06.01.2017 aktualisiert um 14:08:59 Uhr
Goto Top
Moin Dobby, welche Erfahrungen hast Du denn damit?
Mitglied: emeriks
emeriks 06.01.2017 um 14:36:11 Uhr
Goto Top
Hi,
ich kenne das noch als Microsoft Compute Cluster.
Nie benutzt. Aber das läuft darauf hinaus, dass die Anwendung ihre Rechenoperationen in einzelne Task packen und diese über die Cluster Nodes verteilt ausführen muss.
Und damit beantwortet: Ja, die Anwendung muss explizit dafür geschrieben sein.

E.
Mitglied: 108012
108012 06.01.2017 aktualisiert um 15:00:08 Uhr
Goto Top
Moin Dobby, welche Erfahrungen hast Du denn damit?
Moin, leider zu wenig um Dir konstruktiv zu helfen, aber ich höre das immer bei anderen Leuten die so etwas wirklich nutzen
und wenn Dein Freund sein Programm so schreiben kann das es diese HTC Karten nutzen kann, spart er viel Zeit, Geld und
Strom. Hier mal ein Auszug von der nVIDIA Seite dazu:
Wissenschaftler können sich jetzt in den verschiedensten Anwendungen von der Energieforschung bis zum deep learning durch Petabytes von Daten wühlen und dabei 10-mal schneller zum Ziel kommen als mit CPUs. Außerdem liefern Tesla-Grafikprozessoren enorme Leistung, um umfangreichere Simulationen schneller denn je zu berechnen. Weiter lesen nVIDIA.de Tesla Server GPUs

Ich wollte nur darauf hinweisen dass Cluster und Farm nicht das selbe sind und auch unterschiedlich agieren und
das es immer von der Software abhängt. Und ich denke eben dass nur ein solcher Server mit Tesla M60 Karten dann
auch gut und gerne schneller ist als 10 Server mit den dicken Xeon CPUs. Ist aber sicherlich auch eine Geldfrage.

Als Alternative und bei einer schnellen Internetanbindung kann man aber auch einmal über das Mieten von Resourcen
nachdenken wie zum Beispiel bei Amazon´s S3 Cloud die haben CPU Kerne satt und man kann bei Bedarf auch noch
etwas an Power nachkaufen oder mieten und auch sicherlich bei einem Überangebot weglassen. Würde ich ihm auch
einmal vorschlagen. Und dort anfragen kostet ja auch nichts.

m60 server

tesla p100

Gruß
Dobby


: Bilder- und Quellenhinweis : Supermicro & nVIDIA & Tyan
Mitglied: wiesi200
wiesi200 06.01.2017 um 15:07:31 Uhr
Goto Top
Hallo,

also bei mir läuft ein Windows 2012 Cluster.
Hier wird wirklich nur die Anwendung auf einem Node ausgeführt und bei bedarf (Ausfall) das ganze auf nem anderen Node verschoben.

Wenn dann müsste man die Anwendung hier explizit dafür programmieren.
Auch wenn ich genau so wenig Erfahrung wie Dobby zu seinem Vorschlag habe. 
Aber ich kenn das auch eher so das man solche Anwendungen eher auf Basis von Nvidia Cuda laufen lässt.

z.B MATLAB kann hier so eine Basis nutzen
http://www.nvidia.de/object/tesla-matlab-accelerations-de.html
Mitglied: Penny.Cilin
Penny.Cilin 06.01.2017 um 15:45:17 Uhr
Goto Top
hallo,

fällt das nicht unter den Begriff Symmetric Multi Processing (SMP)?

Ich kenne noch ein altes Server Betriebssystem aus den 90er, welche SMP-fahig war. Und zwar bis 128 CPUs.

Offtopic: Der eBusiness Server von OS/2 war damals SMP fähig und unterstütze bis 128 CPUs.


Gruss Penny
Mitglied: Th0mKa
Th0mKa 06.01.2017 um 21:23:18 Uhr
Goto Top
Zitat von @DerWoWusste:

Meine Vermutung: nein, mit Sicherheit nicht, wenn die Anwendung nicht irgendwie "cluster-aware" gemacht wird. Aber ich kann es nicht ausschließen, da ich mit Clustering 0,0 Erfahrung habe.

Moin,

was du suchst ist das HPC Pack, gibt es im Moment mWn nur für 2012R2, nicht für 2016. Ich hatte bei einem früheren Arbeitgeber mal einen HPC Cluster unter Server 2008R2 zur Berechnung von finiten Elementen (Belastungsrechnung), das funktioniert ganz gut wenn die Applikation viele einzelne Jobs hat. In unserem Fall waren das pro Durchgang mehrere zehntausend Einzelrechnungen die vom HPC Pack auf die verschiedenen Knoten (Server + Workstations) verteilt und nach Abschluss der Rechnung wieder eingesammelt wurden. Die Applikation war nicht speziell dafür designed, die meiste Arbeit erledigte der HPC Scheduler, man kann das ja einfach mal testen.

VG,

Thomas