++systems
kanal++
kontakt
impressum
deutsche version

Verteiltes Rechnen

Motivation

Eine nachhaltige Sicherung der Funktionalität und ökologischen Verträglichkeit eines mittleren bis großen Kanalnetzes erfordert eine umfassende und detaillierte Modellierung in Raum und Zeit. Um den in den Richtlinien geforderten statistischen Anforderungen gerecht zu werden, die jährlichen Häufigkeiten, Mengen und Zeiträume der Belastungen erwartungstreu abschätzen zu können, ist es zielführend und notwendig, lange Zeiträume und gesamte Einzugsgebiete möglichst detailliert zu betrachten.

Aus Gründen der Rechenzeit werden derzeit dabei oft große Vereinfachungen vorgenommen und mit verschiedenen nicht vergleichbaren Berechnungsmethoden gearbeitet. In den meisten Fällen soll die hydraulische Funktionalität und Sicherheit dabei durch Betrachtung von Modellregen, allenfalls Regenserien sichergestellt werden. Diese Betrachtungen und Abschätzungen erfolgen meist mit zeitsymmetrischen Verfahren. Mit zeitasymmetrischen Verfahren arbeiten dagegen zumeist diejenigen Verfahren, deren Aufgabe es ist, immissionsorientiert die jährlich zu erwartenden Emissionen in unsere natürlichen Gewässer mit ihren Mengen, Frequenzen und Dauern abzuschätzen. Dies wird zumeist in Form von Langzeitsimulationen natürlicher Regenreihen über möglichst große Zeiträume bewerkstelligt. Darüber hinaus werden hierbei die betrachteten Kanalnetze zumeist in Grobnetze überführt, um die Rechenzeiten erträglicher zu machen.

Wünschenswert wäre jedoch eine allen diesen Anforderungen gerecht werdende zeitsymmetrische und damit verlässliche und wirklichkeitsnahe Modellierung und Simulation des gesamten Kanalnetzes in all seinen Details, Vermaschungen und Wechselwirkungen. Durch die Ausnutzung der heute schon als Standard geltenden Mehrprozessorsysteme (dies betrifft auch die Intel Core 2 und Athlon X2) und die Nutzung freier Ressourcen im Netzwerk wird die Berechnungszeit um den Faktor „1/Anzahl der Prozessoren“ verkürzt. D.h. bei 2 verfügbaren Prozessoren (z. B. Intel Core 2 und Athlon X2) wird die Rechenzeit halbiert, bei 4 verfügbaren Prozessoren beträgt die Rechenzeit nur noch ein Viertel der Rechenzeit, die mit nur einem Prozessor benötigt worden wäre.

Mehrprozessorsysteme in KANAL++ und DYNA

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 „Threads“ oder der Anwender bestimmt die Anzahl um sich Prozessorleistung für andere Anwendungen frei zu halten.

Überflutungsnachweis, Überstaunachweis, Kanalnetzberechnung

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 ausgenutzt. Sie unterliegt allerdings den Beschränkungen der Hardware. Die gängigen Mehrprozessorsysteme sind auf 4 bis 8 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.

Nutzen der freien Netzwerkressourcen

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 KANAL++ Arbeitsplatz aus gesteuert, in die Berechnung eingebunden werden.

Überflutungsnachweis, Überstaunachweis, Kanalnetzberechnung

So kann die Anzahl der Nutzbaren Recheneinheiten (CPUs) beliebig erhöht werden.

Voraussetzungen für das Verteilte Rechnen mit KANAL++ und DYNA

Im weiteren Verlauf des Dokuments soll der Rechner auf dem KANAL++ 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.

Vorraussetzungen für den Client und das KANAL++ Projekt

Auf dem Client System muss eine ordnungsgemäße Installation von KANAL++ 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.

Vorraussetzungen für Server

Der Server muss in der Lage sein DYNA ordnungsgemäß auszuführen. Dafür ist ein separater Dongle oder ein Netzwerkdongle nötig, sowie Zugriff auf die zur Ausführung benötigten DYNA-Programmdateien. Zusätzlich muss auf jedem Serversystem das Zusatzprogramm RemoteDynaCallServer.exe (befindet sich nach der KANAL++ Installation im Ordner winkanal/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 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 KANAL++ Projekt gespeichert wurde.

Vorgehensweise zum Starten einer verteilten Berechnung

Die exakte Vorgehensweise wird separat für die Server und das Client System (KANAL++ Projekt) in einer Punkteliste angegeben.

Vorgehensweise 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 geschehen oder muss bei einem Windows 2000/XP System über einen lokalen Zugriff geschehen.
  • Stellen Sie sicher, dass Sie die nötigen Berechtigungen haben um auf das verwendete Netzlaufwerk lesend bzw. schreibend zuzugreifen.
  • DAYA muss ausführbar sein. Braucht aber nicht gestartet werden.
  • Der RemoteDynaCallServer muss gestartet werden. Falls die Datei RemoteDynaCallServer 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.

Überflutungsnachweis, Überstaunachweis, Kanalnetzberechnung

Diese Schritte müssen nur einmalig nach dem Neustart des Serversystems durchgeführt werden. Der Start des RemoteDynaCallServers 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 berechenbares KANAL++ Projekt erstellt haben. Dieses soll nun auf mehreren Rechnern (Servern) parallel berechnet werden.

Überflutungsnachweis, Überstaunachweis, Kanalnetzberechnung

1. 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 weiter Möglichkeit besteht darin, dass 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 KANAL++ Projekts (in KANAL++ in der obersten blauen Leiste zu ersehen) folgende Form aufweisen:

\\Rechnername\Projektpfad\Projektname.kpp

Überflutungsnachweis, Überstaunachweis, Kanalnetzberechnung

2. Aufteilen der Hydraulikvariante. Wie bereits beschrieben benötigen Sie für das verteilte Rechnen mindestens so viele Hydraulikvarianten wie verwendete Netzwerkressourcen. Falls diese bereits vorhanden sind, so können Sie bei Punkt 3 weiterlesen. Wir gehen nun davon aus, dass Sie nur eine Hydraulikvariante haben, die Sie berechnen möchten. Die einzig sinnvolle Aufteilung einer Hydraulikvariante geschieht über die Regen (Hydraulikvarianten mit nur einem Regen können somit nicht aufgeteilt werden). Legen Sie nun so viele Kopien der Hydraulikvariante an, wie Sie an Netzwerkressourcen zur Verfügung haben. Klicken Sie hierfür mit der rechten Maustaste auf die Hydraulikvariante und wählen Sie den Menüpunkt „Kopie erzeugen“ aus. Dadurch wird eine exakte Kopie der bereits vorhandenen Hydraulikvariante erzeugt.

Nun müssen noch die zu berechnenden Regen für jede der neu erstellten Hydraulikvarianten angegeben werden. Dieser Vorgang muss für jede der kopierten Hydraulikvarianten durchgeführt werden:

Doppelklick auf die kopierte Hydraulikvariante und danach den Reiter „Regen“ auswählen. Tragen Sie bei „Erster zu berechnender Regen“ und „Letzter zu berechnender Regen“ die jeweiligen Grenzen ein.

Überflutungsnachweis, Überstaunachweis, Kanalnetzberechnung

Für die Aufteilung der Regenintervalle auf die einzelnen Kopien der Hydraulikvariante gilt, dass jeder Regen genau einmal in einer der Varianten vorkommen muss und die Trockenperioden zwischen den Aufteilungen sollten größer der Netzentleerungszeit sein. Dadurch kann zu beginn jeder Hydraulikvariante von einem komplett entleerten Netz ausgegangen werden. (z. B. bei 16 Regen und 4 Ressourcen könnten die Intervalle so gelegt werden: 1-4, 5-8, 9-12, 13-16 – Dabei müssen die Trockenperioden zwischen Regen 4 und 5, 8 und 9, 12 und 13 ausreichend groß sein. Ansonsten muss eine andere evtl. nicht optimale Aufteilung gefunden werden).

3. Hydraulikvarianten den Netzwerkressourcen zuweisen.Jeder Hydraulikvariante die in der Berechnung berücksichtigt werden soll muss nun eine Server zugewiesen werden, auf dem die Berechnung durchgeführt wird. Diese Zuordnung erfolgt im Hydraulikvariantendialog im Reiter Allgemeines. Am unteren Ende des Dialogfensters sind die Remoteparameter anzugeben. Um die Variante auf einen anderen Rechner (Server) auszuführen, muss der Haken bei „Nutze Remote Berechnung:“ gesetzt werden. Ist der Haken nicht gesetzt, so wird die Variante auf dem lokalen System (Client) ausgeführt. Es ist auch möglich einen 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 Netzwerkname benutzt. KANAL++ analysiert beim setzen des Remote Haken automatisch Ihr Netzwerk und gibt Ihnen unter „Name des Remote PC:“ 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 dem Server System zu finden ist. Hier sei zu beachten, dass der Pfad auf dem Server Gültigkeit besitzen muss, nicht auf dem Client.

Überflutungsnachweis, Überstaunachweis, Kanalnetzberechnung

Ein weiterer wichtiger Konfigurationsparamter ist die „Anzahl Threads für DYNA“. Hier geben Sie an wie viele Prozessoren Sie auf dem Serversystem haben bzw. voll ausnützen wollen.

Falls in den Feldern „Anzahl Threads für DYNA“ und „DYNA Pfad“ nichts angegeben wurde, so werden die automatisch die allgemeinen Einstellungen für die DYNA-Berechnung verwendet.

4. Allgemeine Berechnungseinstellungen für die DYNA-Berechnung. Die Auswahlen für „Dateien kommentieren“ und „DNSCREEN verwenden“ sind wie bei lokalen Berechnungen anzuwenden. Der „Programmpfad für DYNA“ ist nur für die Hydraulikvarianten relevante, die keinen „DYNA Pfad“ angegeben haben. Hiermit haben Sie die Möglichkeit die Datei Dyna.exe genauso wie die KANAL++ 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.

Überflutungsnachweis, Überstaunachweis, Kanalnetzberechnung

5. 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.

Überflutungsnachweis, Überstaunachweis, Kanalnetzberechnung

Im linken Auswahlfenster sehen Sie alle im Projekt vorhandenen Hydraulikvarianten. Mit einem Doppelklick können diese in das rechte Auswahlfeld übernommen werden. Die Varianten in 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. Wenn Sie die Auswahl mit OK bestätigen, so wird die Berechnung gestartet.

Bevor die eigentliche Berechnung mit DYNA erflogen 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.

Überflutungsnachweis, Überstaunachweis, Kanalnetzberechnung

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.

Überflutungsnachweis, Überstaunachweis, Kanalnetzberechnung

Ist die Berechung einer Hydraulikvariante beendet, so werden die Ergebnisdaten automatisch von KANAL++ eingelesen. Im Meldungsfenster erscheint für jede beendete Variante der umrandete Schriftzug. Signifikant für die erfolgreiche Ausführung der Berechnung ist die Zeile „Variantenname: Berechnung erfolgreich abgeschlossen“.

Überflutungsnachweis, Überstaunachweis, Kanalnetzberechnung

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

Fehlermeldungen und deren Ursachen

1. Falscher Name des Remote PC oder RemoteDynaCallServer 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.

Überflutungsnachweis, Überstaunachweis, Kanalnetzberechnung

Überflutungsnachweis, Überstaunachweis, Kanalnetzberechnung

Überprüfen Sie bitte den in der Hydraulikvariante eingetragenen Namen für den Remote PC. 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 RemoteDynaCallServer 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.

2. 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 RemoteDynaCallServers die übergebenen Parameter.

Der Dynapfad 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ängliche (Schreiben u. Lesen) sein.

Überflutungsnachweis, Überstaunachweis, Kanalnetzberechnung