performing tasks on multiple nodes with centralized management and visualization
- launch master.js on main node
- copy 'client' folder on multiple nodes and launch launcher.js on them
- now master and launcher begin to chat by socket.io. Launcher are designed only to run Controllers from controller.js
- master have a shared folder, which can using for update files on nodes. Master request update folder manifest and if it changed - tells to nodes it. Getting an update signal, Launcher and Controllers compare it with own trusted dirs and if it need, sync dirs and restart each other.
- now the Master can send arbitrary commands and requests (for example, disk space, gpu info) to the Controller and get responses to them.
- Also launch /visualiser/index.html for pleasing visualisation
