bwVisu

bwVisu backend configuration

bwVisu interacts with an HPC cluster that serves as backend. This is done via a special middleware web application, that provides a REST API for the web frontend, and manages the HPC cluster via ssh. In order to use a given HPC cluster for bwVisu, it must therefore be configured for the middleware and the bwVisu application images must be available on the cluster.

bwVisu middleware backend requirements

The bwVisu middleware distinguished between 3 different types of nodes:

These node types refer to feature sets, not to physically distinct machines - for example, a machine could be compute, command and gateway node at the same time.

The machine on which the bwVisu middleware is running must be reachable from the bwVisu webfrontend and the compute nodes. It does not necessarily have to run on compute, command or gateway nodes.

Command nodes

These nodes are used to manage jobs. They need to satisfy the following requirements:

Compute nodes

These are nodes on which the Slurm from the command nodes executes jobs.

Gateway nodes

These are nodes through which the user connections will be forwarded to the jobs.

Gateway nodes will typically be login nodes or VMs running on login nodes.

Configuring the middleware for an HPC cluster

The middleware is configured using a config file that is searched in the following locations (sorted by decreasing priority):

  1. $INSTALL_DIR/config.json
  2. $INSTALL_DIR/../etc/config.json
  3. /etc/runner/config.json"
  4. /opt/runner/etc/config.json

Example configuration file content, assuming Assume internal network 10.0.0.0/24, external ips 1.2.3.0/24, and the middleware VM running on 2.2.2.2.

{
    "bwvisu-home-prefix" : "/shared/home",
    "gateway-nodes" : [
        {
            "internal-ip" : "10.0.0.1",
            "external-ip" : "1.2.3.1",
            "user" : "bwvisurunner",
            "port" : 22
        },
        {
            "internal-ip" : "10.0.0.2",
            "external-ip" : "1.2.3.2",
            "user" : "bwvisurunner",
            "port" : 22
        }

    ],
    "command-nodes" : [
        {
            "ip" : "1.2.3.1",
            "user" : "bwvisurunner",
            "port" : 22                                                                                                                                        
        },
        {
            "ip" : "1.2.3.2",
            "user" : "bwvisurunner",
            "port" : 22
        }
    ],
    "keyholed-servers" : [ { "ip": "2.2.2.2", "port" : 80} ],
    "keyholed-port-range" : { "min" : 50000, "max" : 60000 },
    "keyholed-max-forwarders-per-job" : 100,
    "etcd-servers" : [ { "ip": "127.0.0.1", "port" : 2379} ],
    "debug" : {
        "keyholed-static-forwarding" : "False"
    },
    "forwarding-hostname-suffix" : "-ib0"
}

Explanation of the fields:

bwVisu applications on the backend

In order to start the bwVisu application images on the backend, you need to have installed