Remoting

vorhergehende Artikel in: Java dWb+ Komponenten
11.11.2013

Die neueste Version der Anwendung dWb+ ist um eine neue Kategorie von Modulen erweitert worden: War der Focus der letzten Erweiterung noch die bessere Unterstützung für Rapid Prototyping, geht es diesmal um verteiltes Rechnen.

Dataflow Workbench dWb+ Bisher war es bereits möglich, die Abarbeitung größerer Workspaces auf mehrere Rechner zu verteilen. Allerdings mussten dafür spezielle Module zur Kopplung geschrieben werden. Außerdem musste auf jedem beteiligten Rechner eine Instanz von dWb+ ausgeführt werden. Die Tatsache, daß die Workspaces in besonderen Fällen in einer bestimmten Reihenfolge in die einzelnen dWb+ Instanzen geladen werden mussten, machte das Ganze noch komplizierter.

Die neueste Version von dWb+ adressiert dieses Problem: Bei der Remoting genannten Verteilung von Aufgaben an unterschiedliche Rechner wird nur noch eine dWb+ Instanz benötigt. Es gibt auch nur noch einen Workspace, der auf dieser dWb+ Instanz ausgeführt wird.

dWb+ benutzt Remote Method Invocation oder kurz RMI um eine noch nie erreichte Flexibilität beim verteilten Rechnen mit einer enorm vereinfachten Bedienung zu vereinen. Der Workspace wird so aufgebaut wie bisher. Möchte man die Berechnung des Algorithmus auf mehrere Rechner verteilen, startet man auf diesen Rechenknoten je eine kleine Anwendung.

Im laufenden Betrieb kann man dann im Workspace auf der Steuerinstanz durch simple Auswahl eines Menüpunktes die Funktionalität eines Modules verlagern - von Rechner zu Rechner ohne den Workspace anhalten zu müssen oder sonst irgendeine besondere Aktion durchführen zu müssen. Lediglich der Entwickler muß einige simple Randbedingungen einhalten, damit sein neues Modul mit dieser Fähigkeit ausgestattet werden kann.

Die Rechenknoten müssen nicht aufwändig aktualisiert werden, wenn neue Module in den Werkzeugkasten einziehen. Sie erhalten die Informationen über die Funktionalität, die sie bereitstellen sollen, zur Laufzeit von der Steuerinstanz. Zur Zeit funktioniert das System so, daß ein Modul in der Steuerinstanz zunächst ganz normal lokal ausgeführt wird. Soll es auf einen Rechenknoten verlagert werden, sendet es zunächst den dafür nötigen Code auf diesen Rechenknoten. Anschließend signalisiert dWb+ dem Rechenknoten, daß dieser die Berechnung ausführen soll. Nach Abschluß der Berechnung sendet der Rechenknoten das Ergebnis zurück an das initiierende Modul, das es an die nachfolgenden Verarbeitungseinheiten weiterleitet.

Zur Zeit wird daran gearbeitet, ein Plugin zur Arbeit mit Remote Modulen zu erstellen, das es erlaubt, zur Laufzeit neue Remoting Server hinzuzufügen oder welche zu entfernen. Weitere projektierte Fähigkeiten sind das zum Beispiel das gesammelte Verlagern aller Module von einem Server auf einen anderen.

Aktualisierung vom 11. November 2013

Remoting Server können nun über das Kontextmenü des Workspace verwaltet werden: es ist möglich, neue Remoting Server zur Laufzeit hinzuzufügen und auch nicht mehr benötigte zu entfernen.

Eine andere Erweiterung, die die Arbeit mit Remote Modulen vereinfachen soll, ist die Möglichkeit, alle Remote Module in einem Workspace hervorzuheben, die auf demselben Remoting Server liegen.

Artikel, die hierher verlinken

Verschiedene Interaktionsmetaphern in dWb+

18.09.2016

Nach Fertigstellung einiger Module, die die Kommunikation zwischen Komponenten auf Dateiebene unterstützen, werde ich versuchen, verschiedene Interaktionsmetaphern bzw. Kommunikationsstrategien aus anderen datenflussgetriebenen Systemen in dWb+ nachzuvollziehen, um die Effizienz der Implementierung und die Vor- und Nachteile ihrer Anwendung diskutieren zu können.

Neue Versionen dWb+, sQLshell

28.01.2014

Neue Versionen der Anwendungen sQlshell und dWb+ sind verfügbar

Scripted Remote Module

19.12.2013

Nach den letzten beiden Funktionserweiterungen für dWb+ wurde versucht, den eingeschlagenen Weg weiter zu vereinfachen: Skripted Module sollten das Remoting weiter vereinfachen. Dabei trat ein interessantes Problem auf, das gleich seine eigene Lösung mitbrachte...

Aktualisierung dWb+

13.12.2013

Es war wieder einmal an der Zeit, der Benutzeroberfläche von dWb+ eine Frischzellenkur zu verpassen.

Alle Artikel rss Wochenübersicht Monatsübersicht Github Repositories Gitlab Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • AtomicInteger vs. Integer

    24.03.2019

    Ich habe am Wochenende wieder einmal mit Java-Benchmarks experimentiert

    Weiterlesen...

Neueste Artikel

  • Konstruktive Geometrie mit dem Computer

    Ich habe in einem vorhergehenden Artikel beschrieben, dass ich eine weitere neue Graphik-Primitive erstellt habe. Dabei musste ich mir meine verschütteten Trigonometrie-Kenntnisse wieder vor Augen führen - mit Bleistift und Papier. Das müsste doch auch anders gehen dachte ich mir und begann...

    Weiterlesen...
  • GitHub-Projekte

    Mal abgesehen von den anderen Links, die ich in unregelmäßigen Intervallen hier poste kommt heute ein Schwung (aus meiner Sicht) interessanter/skurriler Projekte auf GitHub:

    Weiterlesen...
  • Mehrere Datenbanken und Postgis-Erweiterung in Docker

    Ich hatte ja schon beschrieben, dass ich mich in diesem Jahr wieder intensiver um mein Geoinformationssystem EBMap4D kümmern möchte. Dazu habe ich jetzt einige infrastrukturelle Vorbereitungen getroffen...

    Weiterlesen...

Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.

Wer daran teilhaben und eventuell sogar davon profitieren möchte, muß damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.

Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...

PS: Meine öffentlichen GitHub-Repositories findet man hier - meine öffentlichen GitLab-Repositories finden sich dagegen hier.