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.
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.
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.
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.
28.01.2014
Neue Versionen der Anwendungen sQlshell und dWb+ sind verfügbar
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...
13.12.2013
Es war wieder einmal an der Zeit, der Benutzeroberfläche von dWb+ eine Frischzellenkur zu verpassen.
Ticketsysteme sind lebende Wesen
29.03.2020
Hier zunächst wieder eine Triggerwarnung: Dieser Artikel wird meine Meinung abbilden. es kann sein, dass sie dem einen oder anderen nicht gefällt - das ist mir aber egal. Und wenn hier irgendwelche Schneeflocken mitlesen, dann sind die selber schuld.
Weiterlesen...Android Basteln C und C++ Chaos Datenbanken Docker dWb+ ESP Wifi Garten Geo Go GUI Gui Hardware Java Jupyter JupyterBinder Komponenten Links Linux Markdown Markup Music Numerik OpenSource PKI-X.509-CA Präsentationen Python QBrowser Rants Raspi Revisited Security Software-Test sQLshell TeleGrafana Verschiedenes Video Virtualisierung Windows Upcoming...
Ich berichtete hier bereits über Experimente mit dem Clifford-Attractor, allerdings war ich noch Experimente unter geringfügig geänderten Parametern schuldig...
WeiterlesenEs wurde wieder einmal Zeit für ein neues Feature in meinem Static Site Generator mittels dessen ich ja auch meine Heimatseite im Zwischennetz gestalte und verwalte...
WeiterlesenEs kamen mehrere Faktoren zusammen: die Tatsache, dass ich nicht mehr ganz so kürzlich die 50 überschritten habe hatte ebenso darauf Einfluss wie das heutige trübe Wetter und auch der Fakt, dass ich bereits beinahe alle Wochenendpflichten erledigt habe. Der letzte Stein des Anstoßes war dann aber, dass sich heute zum 125. Mal der Geburtstag von Erich Fromm jährt.
WeiterlesenManche 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, muss 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 Codeberg-Repositories findet man hier.