End-to-End Desktops

Introduction

End-to-End Desktops create a seamless HPC experience on Rescale. End-to-End Desktops is a batch compute cluster with desktop visualization on the head node of your cluster. It provides a user interface (UI) for users to interact with the job setup directly from the analysis software.

Features of End-to-End Desktops

  • Work with your batch job submission interactively, such as monitoring jobs on the fly
  • Distribute your batch job submission across the entire cluster using an automated process
  • Pause the analysis at any time in order to edit the inputs or parameters of the job, and then restart or resume the analysis
  • Job results can be viewed during and after completion of the simulation without any delays

Key Notes

  • The Desktop session is CentOS Linux
  • The files are synced to the work directory of the desktop session
  • Users need to explicitly terminate the job to shutdown the cluster, a completed job will not stop the cluster. If a user does not terminate the cluster manually, then the cluster will be shutdown when the walltime has been reached
  • Session files should to be saved to the work folder, after which they will be uploaded to the job files under Results on the platform
  • There are no additional charges for the visualization

Software

End-to-End Desktops is available for most of our interactive software, and some the most popular software available is:

  • ANSYS Fluent
  • ANSYS CFX
  • ANSYS Mechanical
  • ANSYS Electronics
  • Simcenter STAR-CCM+
  • VS Code
  • COMSOL Multiphysics
  • MATLAB

Tutorials

Connecting to End-to-End Desktop Using NICE DCV (recommended)

The instructions below are for connecting your end-to-end desktop to NICE DCV.

Once your End-to-End Desktops job is launched, you will be able to connect to the NICE DCV Web Client. In order to launch the web client:

  • Go to the Status Tab to view the progress of the job submittion
  • Click on Connect on the top right of the screen. This will open an in-browser desktop session for End-to-End Desktops

nice-dcv-web-client-connect.png

Note: To reduce latency, connect to the NICE DCV local client rather than the web client.

In order to launch the NICE DCV local client:

  • Download and install the NiceDCV client
  • Go to the Status Tab to view the progress of the job submittion
  • Hover over the dropdown arrow next to Connect on the top right of the screen and click Connect using local client

nice-dcv-local-client-connect.png

  • Download and open the connection file
  • Log in with the prompted password

Connecting to End-to-End Desktop Using VNC Client

The instructions below are for connecting a local Windows machine to your end-to-end desktop. See here for how to ssh in from a local Linux or MacOS workstation, and skip to Setting a VNC password.

You can use PuTTYgen to generate your public/private keypair. PuTTY is a free open-source terminal emulator that functions much like the Terminal application in Mac OSX. You can download PuTTY from here. The PuTTYgen utility also comes with the PuTTY client installation.

To generate an SSH key with PuTTYgen, follow these steps:

  • Launch the PuTTYgen program
  • For Type of key to generate, select SSH-2 RSA under Key in the menu bar
  • Click the Generate button
  • Move your mouse in the area below the progress bar to provide randomness for the key generation algorithm. When the progress bar is full, PuTTYgen has generated your key pair

putty-generate-key.png

  • Click the Save private key button to save the private key. Please save it in an accessible location.

  • It is recommended that you use Pageant to save your SSH key for easy access and use within your command prompt

putty-copy-key.png

  • Right-click in the text field labeled Public key for pasting into OpenSSH authorized_keys file and choose Select All
  • Right-click again in the same text field and choose Copy
  • On your Rescale platform account page, click on the <user>@rescale.com button at the top right corner
  • Select Account in the drop-down menu
  • Click on Job Settings option on the left side of the page

AccessJobSettings.png

  • Once you have copied the contents of your public key, paste the contents of the public key into the SSH Public Key field. Click Save and you are able to SSH into all your future clusters

  • The Access Restriction (CIDR range) field allows you to select which IP addresses can access your cluster. The options Everywhere or My Current IP Address can be set automatically from the pull-down menu. You can also specify your own custom Classless Inter-Domain Routing (CIDR) rule by editing the Access Restriction (CIDR) range text field directly

  • In Windows, you can use PuTTY as an SSH client to connect to your cluster on Rescale

  • When you provision a cluster, the Job Logs window on the Status tab will display a message showing the job's username on the system and the public IP address of the head node of the cluster. The message will look like this:

job-logs.png

  • In this example, the job username is uprod_qpWia and the public IP address is 107.23.132.81. You will need this information when using PuTTY. To log in to your machine, follow these instructions:

  • Launch the PuTTY program

  • Type the public IP address of your Rescale cluster in the Host Name (or IP address) field

  • In the Category panel on the left, expand the SSH section to expose the authentication (Auth) settings

putty-config-connect.png

  • Click Auth to display settings controlling SSH authentication.
  • Click Browse under Private key file for authentication and select the private key file you created previously

putty-config-auth.png

  • Click Tunnels to display port forwarding settings.
  • Type the Source port and Destination in the fields provided. The source port must be either 5900 or 5901
    • Source port: 5900 or 5901
    • Destination: localhost:5900 or localhost:5901
  • Click Add to forward this port to your ssh tunnel configuration
  • Click Open to start a Putty terminal session

ssh-tunnel-for-vnc.png

When you connect to your cluster for the first time, you may see a PuTTY Security Alert warning you that the host's key is not cached in the registry. Do not be alarmed; this is a normal warning. Click yes to continue.

Follow these steps to log in:

  • At the login as: prompt, type the username, for instance uprod_qpWia and press Enter
login as: uprod_qpWia
  Authenticating with public key "rsa-key-1234"
  Passphrase for key "rsa-key-1234":
  • You should now be logged into your machine

Once you are logged in, you should be able to set you user password using the vncpasswd command. You will prompted to enter a password and to confirmation. Additionally you will be asked to set a view-only password. You can answer "no" for this step.

-bash-4.2$ vncpasswd
Password:
Verify:
Would you like to enter a view-only password (y/n)? n

In this example, we are going to be using VNC Viewer which can be found here: https://www.realvnc.com/en/connect/download/viewer/. Alternatively, you can use a VNC client of your choice.

  • Open VNC Viewer

  • Connect to localhost:5900/5091

    connect-to-localhost.png

  • Enter password that you set using vncpasswd

    enter-vnc-password.png

  • You should now see a Linux desktop session in your VNC client window like below

  • Note: Your SSH session must remain open in order for your VNC session to remain open.

    vnc-session.png