Multihybrid Berechnung: Unterschied zwischen den Versionen

Aus Dokumentation
Wechseln zu:Navigation, Suche
Zeile 106: Zeile 106:
  
 
==Fehlermeldungen & Problembehandlung==
 
==Fehlermeldungen & Problembehandlung==
'''Falscher Name des Remote PC oder DynaCallServer nicht gestartet oder erreichbar'''
+
'''Falscher Name des Remote PC oder DynaCallServer nicht gestartet oder erreichbar'''<br>
 
Folgende Fehlermeldung erscheint, wenn bei „Name des Remote PC“ ein ungültiger Netzwerkname eingegeben wurde oder auf dem angegebenen Server der RemoteDynaCallServer nicht gestartet wurde.
 
Folgende Fehlermeldung erscheint, wenn bei „Name des Remote PC“ ein ungültiger Netzwerkname eingegeben wurde oder auf dem angegebenen Server der RemoteDynaCallServer nicht gestartet wurde.
 
„Exception at DYNA call. Calculation canceled!
 
„Exception at DYNA call. Calculation canceled!
Zeile 112: Zeile 112:
 
Falls auch dies nicht zum Erfolg führt, sollten Sie Ihre Firewall-Einstellungen überprüfen. Dort muss die Kommunikation via RPC (Remote Procedure Call) freigegeben sein. Überprüfen Sie ob Sie die nötigen Rechte auf dem Serverrechner haben. <br>
 
Falls auch dies nicht zum Erfolg führt, sollten Sie Ihre Firewall-Einstellungen überprüfen. Dort muss die Kommunikation via RPC (Remote Procedure Call) freigegeben sein. Überprüfen Sie ob Sie die nötigen Rechte auf dem Serverrechner haben. <br>
  
'''Dyna konnte auf dem Serversystem nicht ausgeführt werden'''
+
'''Dyna konnte auf dem Serversystem nicht ausgeführt werden'''<br>
 
Im Meldungsfenster wird angezeigt, dass die Ausgabedatei nicht geöffnet werden konnte. Überprüfen Sie im Fenster des DynaCallServers die übergebenen Parameter. Der DYNA-Pfad und der Variantenordner müssen auf dem Serversystem gültig sein, d.h. unter dem angegebenen Pfad muss DYNA gestartet werden können und der Variantenordner muss für den Server zugänglich (Schreib- und Leserechte) sein.
 
Im Meldungsfenster wird angezeigt, dass die Ausgabedatei nicht geöffnet werden konnte. Überprüfen Sie im Fenster des DynaCallServers die übergebenen Parameter. Der DYNA-Pfad und der Variantenordner müssen auf dem Serversystem gültig sein, d.h. unter dem angegebenen Pfad muss DYNA gestartet werden können und der Variantenordner muss für den Server zugänglich (Schreib- und Leserechte) sein.

Version vom 14. September 2026, 15:10 Uhr

Mehrprozessorsysteme für Beschleunigung der Berechnung

Hybrid 01.png

Die Nutzung aller Prozessoren eines Mehrprozessorsystems zur hydrodynamischen Netzberechnung ist in DYNA seit Bestehen des Programms möglich, da dies bereits ein Hauptkriterium bei der Entwicklung war. Ohne weitere Angabe ermittelt DYNA selbst die Anzahl der Prozessoren und erzeugt die entsprechende Anzahl der „Threads“. Alternativ bestimmt der Anwender die Anzahl, um sich Prozessorleistung für andere Anwendungen frei zu halten. Selbst während der Berechnung ist es über den „Windows Taskmanager“ noch möglich einzugreifen und dem laufenden DYNA Prozess Prozessoren zu entziehen und wieder zuzuschalten. Diese Art der Beschleunigung wird, wie oben beschrieben, von DYNA automatisch oder manuell konfigurierbar genutzt. Sie unterliegt allerdings den Beschränkungen der Hardware. Die gängigen Mehrprozessorsysteme sind auf 8 bis 96 (mit Hyperthreading) Prozessoren beschränkt. Ein weiterer Ausbau ist mit modernen CPUs möglich, bringt aber keinen signifikanten Leistungszuwachs mit sich. Anders sieht dies bei der Nutzung von freien Netzwerkressourcen (autonome Rechner) aus. Hier ist eine nahezu beliebige Beschleunigung der Berechnung möglich.

Lokale Multihybridberechnung

Es besteht die Möglichkeit, das Potential des lokalen Rechner durch die mulithybride Berechnung voll auszuschöpfen. Hierfür können Sie, falls Sie mehrere Regenereignisse rechnen, auch mehrere Prozesse am lokalen Rechner parallel laufen lassen. Dies geht mit einer großen Zeitersparnis einher, wenn Sie mehrere Regenereignisse berechnen müssen.

Hierfür können Sie die Einstellungen in dem Menü der jeweiligen Hydraulikvariante festlegen.

V18 Hydraulikmenü Parameter 1.png

Mit Klick auf die Schaltfläche Berechnungskonfiguration öffnet sich der folgende Dialog mit den Einstellungsmöglichkeiten.

V18 Hydraulikmenü Berechnungskonfiguration.png
  • Ein Dyna-Prozess pro Rechner: Es wird nur ein einzelner DYNA-Rechenprozess je beteiligtem Rechner gestartet (keine Multihybrid Berechnung).
  • Mehrere Dyna-Prozesse: Es werden automatisch mehrere DYNA-Prozesse parallel gestartet. Die Anzahl der Prozesse und Threads pro Prozess werden automatisch anhand der Systemvoraussetzungen ermittelt.
  • Mehrere Dyna-Prozesse (Benutzerdefiniert): Die Anzahl der Prozesse sowie Threads pro Prozess können hier manuell über die Schieberegler vorgegeben werden.

Mit der Anzahl der Threads legen Sie auch die DYNA-Prozesse fest: Bei einem Leistungsstarken Rechner mit 48 logischen Prozessoren können bei einer Threadanzahl von 8 insgesamt 6 Prozesse parallel berechnet werden.

Hybrid 08.png

Cluster Berechnung / Verteilte Berechnung

Hybrid 02.png

Als nächsten Schritt können jetzt weitere Rechner im Netzwerk für die Berechnung herangezogen werden. Oftmals sind sehr leistungsstarke Server oder der Arbeitsplatz eines Mitarbeiters nach Feierabend nicht ausgelastet. Diese Rechner können nun, zentral von einem ++SYSTEMS Arbeitsplatz aus gesteuert, in die Berechnung eingebunden werden. So kann die Anzahl der Nutzbaren Recheneinheiten (CPUs) beliebig erhöht werden.

Vorgehen

Im weiteren Verlauf wird der Rechner auf dem ++SYSTEMS gestartet ist und der somit als zentrales Bindeglied der Berechnung gilt, als Client bezeichnet werden. Die Rechner, die vom Client mit der Berechnung des Kanalnetzes beauftragt werden, sollen als Server bezeichnet werden. Alle am Berechnungsvorgang beteiligten PCs (Client und Server) müssen durch ein Netzwerk miteinander verbunden sein.

Voraussetzung für den Client und das ++SYSTEMS Projekt

Auf dem Client System muss eine ordnungsgemäße Installation von ++SYSTEMS vorhanden sein. Das Projekt muss auf einem Netzlaufwerk gespeichert werden. Über das Netzlaufwerk erfolgt der Großteil des Datenaustausches zwischen Client und Server. Die Verteilung des Rechenaufwands erfolgt über verschiedene Hydraulikvarianten. Sind diese nicht vorhanden (z.B. Langzeitsimulation mit einer Hydraulikvariante) ist diese in geeigneter Weise über die Regen aufzuteilen. Um die Ressourcen im Netzwerk optimal auszunutzen sollten, gleich viele (oder mehr) Hydraulikvarianten wie Rechensysteme vorhanden sein.

Voraussetzungen für Server

Der Server muss in der Lage sein, DYNA ordnungsgemäß auszuführen. Dafür ist ein separater Dongle oder ein Netzwerkdongle sowie Zugriff auf die zur Ausführung benötigten DYNA-Programmdateien erforderlich. Zusätzlich muss auf jedem Serversystem das Zusatzprogramm „RemoteDynaCallServer.exe“ (befindet sich nach der ++SYSTEMS Installation im Ordner „/Programme (x86)/++SYSTEMS/bin“) gestartet werden. Das Programm setzt die Steueranweisungen des Client um. Auf den Serversystemen kann, muss aber nicht zwangsläufig ein Server-Betriebssystem installiert sein. Es können auch Windows 2000/XP/7/8/10/11 Systeme verwendet werden. Der Benutzer muss über ausreichend (am besten Administratorrechte) Rechte verfügen, um DYNA und den RemoteDynaCallServer auszuführen und weiterhin vollen Schreib-/Lese-Zugriff auf das Netzlaufwerk haben, auf dem das ++SYSTEMS Projekt gespeichert wurde.

Start der Verteilten Berechnung

Vorgehensweise (virtuelle) Server

Diese Schritte müssen für jedes Serversystem einzeln wiederholt werden.

  • Starten Sie das Serversystem
  • Sie benötigen direkten Zugang auf das Serversystem. Dies kann bei einem Serverbetriebssystem durch eine Terminaldienst-Konsole oder über einen lokalen Zugriff geschehen.
  • Stellen Sie sicher, dass Sie über die nötigen Berechtigungen verfügen, um auf das verwendete Netzlaufwerk lesend bzw. schreibend zuzugreifen.
  • DYNA muss ausführbar sein, muss aber nicht gestartet werden.
  • Der DynaCallServer muss gestartet werden. Falls die Datei „DynaCallServer.exe“ auf dem System noch nicht vorhanden ist, muss diese zuerst noch für das System zugänglich (lokal oder über Netzlaufwerk) gemacht werden. Eine Konsole zeigt die Einsatzfähigkeit des RemoteDynaCallServers an.

Diese Schritte müssen nur einmalig nach dem Neustart des Serversystems durchgeführt werden. Der Start des DynaCallServers kann auch über den Autostart vorgenommen werden. Der Benutzer, der auf dem Client die Berechnung initiiert, muss nicht mit dem Benutzer auf dem Serversystem übereinstimmen.

Vorgehensweise Client

Es wird davon ausgegangen, dass Sie bereits ein rechenbares ++SYSTEMS Projekt erstellt haben. Dieses soll nun auf mehreren Rechnern (Servern) parallel berechnet werden. Alle Einstellungen bezüglich der Hybdriden Berechnung und Remoteberechnung können Sie in der jeweiligen zu berechnenden Hydraulikvariante festlegen. Hierfür können Sie die Einstellungen in dem Menü der jeweiligen Hydraulikvariante festlegen und wie gewohnt die Berechnung starten.

V18 Hydraulikmenü Parameter 1.png

Mit Klick auf die Schaltfläche Berechnungskonfiguration öffnet sich der folgende Dialog mit den Einstellungsmöglichkeiten.

V18 Hydraulikmenü Berechnungskonfiguration.png
  • Speichern des Projekts auf einem Netzlaufwerk bzw. direkt unter einem Netzwerkpfad. Das verteilte Rechnen kann nur durchgeführt werden, wenn alle Server und der Client uneingeschränkten Zugang zum Projektverzeichnis haben. Zu bewerkstelligen ist dies, indem das Projekt vom Client auf einem zuvor verbundenen Netzlaufwerk abgespeichert wird (Achtung! Auch wenn das Netzlaufwerk lokal auf dem Client PC liegt, muss es auf dem Client PC explizit als Netzlaufwerk verbunden werden und das Projekt muss auf dem explizit verbundenen Netzlaufwerk abgelegt werden. Nur so kann das System die benötigten Pfadinstruktionen ermitteln). Eine weitere Möglichkeit besteht darin, das Projekt direkt in einem über die Netzwerkumgebung zugänglichen Ordner zu speichern. Gehen Sie dafür auf die Netzwerkumgebung → Gesamtes Netzwerk → Microsoft Windows-Netzwerk. Wählen Sie nun einen verfügbaren PC aus und speichern Sie das Projekt in einem von diesem freigegebenen Ordner. In diesem Fall sollte der Speicherpfad des ++SYSTEMS Projekts (in ++SYSTEMS in der obersten blauen Leiste zu ersehen) folgende Form aufweisen:\\Rechnername\Projektpfad\Projektname.kpp
  • Für die Aufteilung der einzelnen Regen auf die verschiedenen Rechner sorgt ++SYSTEMS selbst. Hauptkriterium hierbei ist die Regendauer und die vom Benutzer einzugebende relative Leistungsfähigkeit des jeweils beanspruchten Rechners. Die Regentrennzeit beim Einlesen der Regen aus den verschiedenen Formaten sollte größer als die maximale Netzentleerungszeit sein. Dadurch kann zu Beginn jeder Hydraulikvariante von einem komplett entleerten Netz (Regenwasserkanal) bzw. einem Netz im Trockenwetterzustand (Mischwassersystem) ausgegangen werden.

Als Faustregel für die Bestimmung der Trennzeit(weitere Informationen finden Sie unterZeitlicher Ablauf DYNA)gilt: Die 1,5- bis 2-fache Burn-In-Zeit bzw. Fließzeit ist in der Regel groß genug.


Je kürzer die Trennzeit eingestellt wird, desto effektiver gestalten sich die Laufzeiten! Sehr lange Regenereignisse wirken sich negativ auf die Rechenzeit aus!

  • Der Hydraulikvariante, die berechnet werden soll, kann nun eine Reihe von Servern zugeordnet werden, auf denen die Berechnung durchgeführt wird.
V18 Hydraulikmenü erwOpt Remote-Berechnungen.png


Diese Zuordnung erfolgt im Detaildialog "Berechnungskonfiguration" des Hydraulikvarianten-Menüs. Mit Auswahl der Cluster Berechnung und Klick auf die Schaltfläche "Cluster Berechnung (Nutzt mehrere Clients für schnellere Laufzeiten)" öffnet sich die Einstellungsauswahl. Es ist auch möglich eine Hydraulikvariante oder einen Teil der Varianten lokal auszuführen und gleichzeitig andere Varianten über Remote auf einem Server auszuführen. Als nächstes muss der Servername angegeben werden. Zur Identifizierung werden die Netzwerknamen benutzt. ++SYSTEMS analysiert beim Setzen des Remote Hakens automatisch Ihr Netzwerk und gibt Ihnen unter „Remote-Rechner“ eine Auswahl an allen zur Verfügung stehenden Servern. Dieses Feld muss belegt werden. Im letzten Feld ist anzugeben, unter welchem Pfad die Datei „dyna.exe“ auf einem der Server Systeme zu finden ist. (Hier sei zu beachten, dass der Pfad auf dem Server Gültigkeit besitzen muss, nicht auf dem Client.)

Es gibt zwei Möglichkeiten der (verteilten) Berechnung mit einem bzw. mehreren Prozessen je Computer. Letztere Möglichkeit trägt der Tatsache Rechnung, dass bei neueren Rechnerarchitekturen „Processing“ präferiert wird gegenüber „Threading“. Hier wurde den neueren Virtualisierungsmöglichkeiten moderner Rechnerarchitekturen Tribut gezollt. Das bedeutet beispielsweise, dass hier ein DYNA Aufruf mit n-1 Threads einen schnelleren Ablauf zur Folge hat als mit n Threads, wenn n sich der Maximalzahl der möglichen Kerne eines Rechners nähert. Hier wurde die Anzahl der Threads n = 8 gewählt, da nach unserer Erfahrung der Schritt von n=7 nach n=8 immer einen Performancegewinn zur Folge hat. Im Taskmanager können Sie sehen, über wie viele Prozessorkerne ein (virtueller) Server oder Workstation verfügt.

Testen der Konfiguration

Vor der Berechnung kann ein Test der Konfiguration durch einen Klick auf die Schaltfläche "Konfigurationstest" durchgeführt werden.

V18 Hydraulikmenü Berechnungskonfiguration.png
Hybrid 08.png

In diesem Fall gibt es insgesamt m = 24 Kerne. So entstehen 3 = m/8 Prozesse mit je 8 Kernen. Bei älteren Rechnerarchitekturen sorgt ++SYSTEMS dafür, dass nicht mehr als 2 Prozesse entstehen. Dies begründet sich damit, dass zumeist 2 physikalische Prozessoren mit jeweils eigenem zugeordnetem Speicher vorhanden sind. Es gibt noch einen Prozentsatz-Parameter, mit dem auch eine Überbelegung der CPU-Kerne stattfinden kann, so dass die schnellsten Prozesse zwar etwas langsamer laufen, aber die langsamsten dafür etwas schneller. Folglich spielt auch die Bewertung der Leistungsfähigkeit eine große Rolle. In diesem Beispiel gibt es zwei der moderneren Architekturen (XEON E5...), dann mit 5 bzw. 8 bewertet wurden, während die herkömmlichen Rechnerarchitekturen (Xeon X55xx,X56xx) mit 2 bzw. 1 bewertet sind. Ein weiterer wichtiger Konfigurationsparameter für Fall 1 (nur 1 Prozess pro Rechner) ist die „Anzahl Threads für DYNA“. Hier geben Sie an, wie viele (virtuelle) Prozessoren Sie auf dem Serversystem haben bzw. voll ausnutzen wollen. Falls in den Feldern „Anzahl Threads für DYNA“ und „DYNA Pfad:“ nichts angegeben wurde, so werden automatisch die allgemeinen Einstellungen im Konfigurationsmenü für die DYNA-Berechnung verwendet.

Allgemeine Berechnungseinstellungen für die DYNA-Berechnung:
Die Auswahl für „Dateien kommentieren“ und „DNSCREEN verwenden“ ist wie bei lokalen Berechnungen anzuwenden. Der „Programmpfad für DYNA“ ist nur für die Hydraulikvarianten relevant, die keinen „DYNA Pfad“ angegeben haben. Hiermit haben Sie die Möglichkeit, die Datei „dyna.exe“ genauso wie die ++SYSTEMS Projektdatei auf einem Netzlaufwerk abzulegen und somit allen Netzwerkressourcen zugänglich zu machen. Für den Parameter „Anzahl Threads für DYNA“ gilt, wenn die Hydraulikvariante unter „Anzahl Threads für DYNA“ keinen Eintrag hat, so wird dieser hier verwendet. Ist auch hier kein Eintrag vorhanden (zu empfehlen), so wird vor der Ausführung von DYNA automatisch die Anzahl der Prozessoren auf dem jeweiligen System ermittelt und eine 100%-ige Auslastung angestrebt, was allerdings aufgrund des oben geschilderten Paradigmenwechsels für neuere Rechnerarchitekturen zu keinen Performancegewinnen mehr führt.

Berechnung starten: Klicken Sie mit der rechten Maustaste auf „Hydraulikvarianten“ und wählen Sie den Menüpunkt „Varianten berechnen…“ aus. Der untenstehende Dialog wird angezeigt. Im linken Auswahlfenster sehen Sie alle im Projekt vorhandenen Hydraulikvarianten. Mit einem Doppelklick oder alternativ mit dem „>>“ Button können diese in das rechte Auswahlfeld übernommen werden. Die Varianten im rechten Auswahlfeld werden bei der Berechnung berücksichtigt. Wichtig ist auch, dass der Haken bei „parallel“ gesetzt ist, da die Varianten andernfalls sequentiell abgearbeitet werden. Sobald Sie die Auswahl mit „OK“ bestätigen, wird die Berechnung gestartet.

Bevor die eigentliche Berechnung mit DYNA erfolgen kann, müssen die DYNA Eingabedateien geschrieben werden. Dies erfolgt sequentiell für alle ausgewählten Hydraulikvarianten. Zudem wird der angegebene Speicherpfad der DYNA Arbeitsordner (falls nicht schon in dieser Form angegeben) in einen UNC-Pfad umgewandelt. Dies hat den Vorteil, dass der Projektordner nicht explizit auf den Servern verbunden sein muss. Über diesen UNC-Pfad kann jeder Rechner im Netzwerk (soweit die entsprechenden Rechte vorhanden sind) auf den DYNA Arbeitsordner zugreifen.

Nachdem die Eingabedateien geschrieben wurden, werden die DYNA-Berechnungen gleichzeitig auf allen angegebenen Servern gestartet. Für jede einzelne Hydraulikvariante wird ein DNScreen Fenster geöffnet, in dem der Berechnungsfortschritt nach verfolgt werden kann.

Ist die Berechnung einer Hydraulikvariante beendet, werden die Ergebnisdaten automatisch von ++SYSTEMS eingelesen. Signifikant für die erfolgreiche Ausführung der Berechnung ist die Zeile „Variantenname: Berechnung erfolgreich abgeschlossen“.

Die verteilte Berechnung ist abgeschlossen, wenn jede der gestarteten Hydraulikvarianten im Meldungsfenster als „erfolgreich abgeschlossen“ aufgelistet wird.

Fehlermeldungen & Problembehandlung

Falscher Name des Remote PC oder DynaCallServer nicht gestartet oder erreichbar
Folgende Fehlermeldung erscheint, wenn bei „Name des Remote PC“ ein ungültiger Netzwerkname eingegeben wurde oder auf dem angegebenen Server der RemoteDynaCallServer nicht gestartet wurde. „Exception at DYNA call. Calculation canceled! Überprüfen Sie bitte den in der Hydraulikvariante eingetragenen Namen für den Remote Rechner. Wählen Sie am besten einen der vorgegebenen Rechnernamen aus. Hierbei handelt es sich immer um gültige Netzwerknamen. Als nächstes sollten Sie überprüfen, ob der DynaCallServer auf dem Server gestartet ist (siehe „Vorgehensweise Server“). Falls auch dies nicht zum Erfolg führt, sollten Sie Ihre Firewall-Einstellungen überprüfen. Dort muss die Kommunikation via RPC (Remote Procedure Call) freigegeben sein. Überprüfen Sie ob Sie die nötigen Rechte auf dem Serverrechner haben.

Dyna konnte auf dem Serversystem nicht ausgeführt werden
Im Meldungsfenster wird angezeigt, dass die Ausgabedatei nicht geöffnet werden konnte. Überprüfen Sie im Fenster des DynaCallServers die übergebenen Parameter. Der DYNA-Pfad und der Variantenordner müssen auf dem Serversystem gültig sein, d.h. unter dem angegebenen Pfad muss DYNA gestartet werden können und der Variantenordner muss für den Server zugänglich (Schreib- und Leserechte) sein.