Software Blog
Verteiltes Rechnen im SceneInspector
von Markus Lauterbacher
Der SceneInspector bietet nun die Möglichkeit Simulationsaufgaben im lokalen Netzwerk zu verteilen. Mit Hilfe von Java-TCP-Sockets wurde eine Client/Server-Lösung hierfür implementiert. Sowohl Server als auch Clients werden direkt über einen SceneInspector-Menüpunkt gestartet.
Die Server-Komponente verwaltet die selektierten Situationen als "Jobs" in einer Warteschlange. Der Gesamt-Simulationsfortschritt kann beim Server eingesehen werden. Eine Tabelle liefert Informationen z.B. über Client-Zuordnung, Laufzeit und Status der einzelnen Jobs.
Clients benötigen bei der Initialisierung lediglich die IP-Adresse des Servers. Anschließend holen sich die Clients einen Job nach dem anderen und arbeiten diesen ab. Die Zahl der Clients ist nicht limitiert. Es werden alle Simulations-Einstellungen inklusive Projekt-Pfad aus dem Server-SceneInspector-Projekt an die Clients verteilt.
Vorteile durch die neue, automatisierte Job-Verteilung:
- Gerade bei umfangreichen Projekten mit vielen zu simulierenden Situationen ergibt sich nun ein reduzierter Verwaltungsaufwand zur Verteilung auf verschiedene PCs.
- Eine gerechte Verteilung der Jobs war bisher nicht möglich, da der Simulationsaufwand der verschiedenen Szenen im Vorhinein nur geschätzt werden konnte. Während der eine PC noch viele Stunden zu rechnen hatte, war ein weiterer eventuell bereits fertig und im Leerlauf. Mit dem Server als Job-Verteiler arbeiten alle Maschinen bis zum Ende unter Volllast.
- Der Simulationsfortschritt und eventuelle Fehler können zentral überwacht werden.
Diese Lösung ist ab Revision 993 im SceneInspector verfügbar.
Kommentare
Einen Kommentar schreiben