First you have to prepare all the cluster nodes:
- Install the MiddleVR package on all machines. Alternatively
you can share
MiddleVR/bin folder from the master
and add this shared folder to the PATH environement on all clients.
See "Creating a shared
- Run the VRDaemon on all machines including on the cluster server,
- Make sure your application is accessible from all the computers of the cluster, by either doing a local copy of the application (see section "Local Copy") or creating a shared folder accessible from all cluster nodes (see section "Creating a shared folder").
Note: Unity applications can't be run from a windows shared folder directly, you will have to mount the shared folder as a network drive. See section "Creating a shared folder".
- Check the Windows firewall options. It is recommended to add exceptions for the VRDaemon and all your cluster applications in your firewalls. MiddleVR communicates on TCP ports 9998 and 9999.
Once the MiddleVR package is installed, you can execute the
VRDaemon on all the nodes, including the master, standing in
The result is a DOS window that should always stay opened:
Locate the folder of your Unity application and share it so that it is visible by all the computers on the network. You can achieve this by right-clicking on your folder and select "Share with":
Once this is done, you have to mount this network path by right cliking on your computer in the file explorer and selecting "Map a network driver":
Make sure to mount the folder with the same drive on all computers, including the server:
In the Cluster tab, you need to create one server and as many clients (+Client) as needed.
This is the window to configure cluster options and cluster nodes.
Table 7.1. Cluster options
|NVidiaSwapLock||Hardware swaplock. See section "Concepts - Cluster Synchronisation".|
|Disable VSync On Server||If VSync is enabled in the Viewports configuration, disable VSync only on Server. This is useful if the master uses a different refresh rate than the rest of the cluster. Often the master only has a mono display at 60hz while the other nodes have 120hz displays. In this case, disabling the VSync on the master gives better performances.|
|Force OpenGL window (beta)||When not using active stereo, you can still force the display of the DirectX rendering in an OpenGL window.|
Using both SoftSwapLock and NVidiaSwapLock should give the best synchronization.
Here's the configuration for the cluster server:
Table 7.2. Cluster server options
|Address||Specify the hostname IP address of the cluster server. Should be reachable by all cluster clients. Note: If you specify "localhost" or "127.0.0.1", the clients will not be able to find the server, unless they all run on the same machine.|
|Viewport||Specify the viewport used by the server.|
Here's the configuration for all cluster clients:
Table 7.3. Cluster client options
|Address||Specify the hostname or IP address of the cluster client.|
|ClusterID||You can specify a specific cluster identification name for readability or better debugging.|
|Viewport||Specify the viewport used by the client.|
The easiest way to run your cluster application is to use the Simulations window.
If you are using a network drive, make sure to add the application from this network drive. MiddleVR will tell all nodes to use the exact same command line, so if you're adding your application from a local folder that does not exist on the cluster nodes, the VRDaemon will not be able to start it.
Simply choose your application from the network driver and cluster configuration and hit Run. Make sure you have the VRDaemon running on all machines, including the master.
The easiest way to stop an application is by pressing the Escape key on the server's keyboard.
If the application is frozen, you can also use the "Kill All Clients" option in the cluster window:
Pressing this button will send a message to all VRDaemons to kill the last application that they started.
You can also manually start the application without the graphical tool. On the server, you can execute the application by double-clicking on it or create a .bat file that contains the right command line.
MiddleVR will then tell the VRDaemons of all the configured cluster clients to run the same application with the exact same path and command line arguments.
You can override the configuration file to be used by specifying
on the command line :