#

VDI Apps

Please remember that to access the portal you will need to be logged to the FASRC VPN and have cluster access, which you can request via Portal.

The Interactive Apps currently supported on the  VDI portal ( https://vdi.rc.fas.harvard.edu )  are :

  • Remote Desktop 
    This app allows the user to schedule a Remote Desktop slurm job on one of the nodes in the remotedesktop partition and opens a browser based viewer to connect to it

  • Jupyter notebook
    The app schedules a notebook session on one of the compute nodes and opens a connection to it in a new tab.

  • RStudio Server 
    The app schedules a rstudio server session on one of the compute nodes and opens a connection to it in a new tab.

Odyssey Remote Desktop 

The Remote Desktop app will schedule a job on one of the nodes in the dedicated remote desktop partition, will start a vnc server (TurboVNC) and provide a link to connect to in via the browser based app noVNC.
No client is needed to connect to it, but if instead of using the web based client you prefer to use a traditional VNC client to connect to your session, please follow instructions at "this page" (link provided shortly).

To launch the session, please select the "Odyssey Remote Desktop" entry from the "Interactive Apps" menu, and fill in the following form. 
In the form you will be able to select :
- the memory allocated for the job (Max 16GB)
- number of cores (Max 8)
- allocated time (Max 7days).

In addition, for your convenience, you can chose to create icons on the desktop to launch Matlab and RStudio, selecting the versions you prefer. Please note that you don't need to do that.
Once the remote desktop starts, you can always open a terminal, load the modules you need and start the software from the command line. 

Selecting the checkbox "Custom Desktop Folder" will create a job specific desktop, which might be useful in case in different jobs you want launcher icons with different versions of Matlab or RStudio.

If you want to be notified by email when the job starts, please select the checkbox and include a valid email address in the form.

Once you have completed your sections,  press the "Launch" button.  
Allow a few seconds for the portal to process your submission form, and you will be redirected to the "My Interactive Sessions" page.

You will be able to click on "Launch noVNC in new Tab" to open the connection to the Remote Desktop directly in your browser. 

The Remote Desktop  runs the lightweight "Xfce" desktop.  Please see here (link to doc provided shortly) a few tips and tricks on how to customize some aspect of the looks of your session.

Here some notes related to performance and usability:

Note: The noVNC client does not support sharing clipboard and direct "Copy and paste" between your computer and the remote session in noVNC. noVNC provides a "staging clipboard" that you can use to copy to and from the remote session.
Copy things to that clipboard first, and then you can copy to your remote session.
 

 

Note: The default  resolution of the remote session is 1024x768 and by default the resolution will not adjust to client display size. That is to avoid to resize the remote server to very large resolution in case you are connected to a large screen external display, and avoid performance degradation. If you chose to, you can rescale the remote clicking on the setting "wheel" and select "scaling mode = remote resizing"

 

Note: The noVNC web client is very convenient as it does not require you to install a client to connect, but it does not support all features in terms of compression and performance optimization that TurboVNC client or another client would. If instead of using the web based client you prefer to use a traditional VNC client to connect to your session, please follow instructions at "this page".

Note: If you close the noVNC tab or the connection times out due to long inactivity, you will be always able to reconnect to your session clicking again on the "Launch noVNC in new Tab" in the "My Interactive Sessions" page . Your job is controlled by Slurm and will keep running until the allocated time, or until you cancel the job.

Note: If you want to terminate your job and your Remote Desktop session, you can simply click the "Delete" button on the "My Interactive Sessions"  tab in the section corresponding to that particular job.

 

Jupyter Notebook

This App allows you to submit a job which starts a Jupyter notebook on a compute node and provides a link to connect to it on a new browser tab. To launch the notebook, please select the "Jupyter notebook" entry from the "Interactive Apps" menu, and fill the form. 

In the form you will be able to select :

- partition
- memory allocated for the job (Max 120GB)
- number of cores (Max 32)
- number of GPUs. Use this only if selecting a GPU enabled partition.
- allocated time (Max allowed depends on partition).

If you want to be notified by email when the job starts, please select the checkbox and include a valid email address in the form.
The field "Slurm Account" can be use to specify which lab account you want to charge in terms of FairShare for tis particular job.  If you only are affiliated to one lab you please ignore that entry, as it will default to your primary group.

When you made your selection press the "Launch" button.  
Allow a few seconds for the portal to process your submission form, and you will be redirected to the "My Interactive Sessions" page.

You will be able to use the "Connect to Jupyter" button to open the notebook in a new tab on your browser.

How do I access the python and R kernels installed in my conda environments?

Jupyter will autodetect your available conda environments. When you access the notebook, in the dropdown menu "New" under the "Files" tab, you should already see all the conda environments that you have in your home folder which have the ipykernel module installed. 
For example in this use case it detects that the user has access, in addition to the central Python 3 environment, to two other conda environment, named python2.7 and tf1.10_cuda9 

Can I control my conda environment from the Jupyter notebook page?

An extension of Jupyter (nb_conda) allows you to manage your conda environment from the notebook.
Navigate to the tab "conda" and you will see the list of your environment.
You can click on the environment you want to inspect or modify, and easily install or remove packages. 
For example, remember that to see your conda environments in your "new" drop down menu in the file tab, the environments need to have the ipykernel package installed. If you don't have it installed, you can do it from this interface. 

In this example I am installing "pandas" in the environment named "python2.7"

How do I load additional modules that my kernels need?

If you need to load modules before starting your kernel - for example if you need to load cuda and cudnn before starting a kernel with tensorflow - you can do that directly from the notebook.
First navigate to the tab "Modules" and start entering the name of the module you need to load. The list of the available modules that match what you are typing will popup. Select the module you need (in this example I am loading a cuda 9.0)

Press "enter" and allow a few seconds for the load operation to complete (similarly to what happens in the interactive sessions loading modules can take a moment). Upon successful loading, the module will appear in the list of loaded modules.  If you need to unload that you can click on the "Unload" yellow button.

Repeat for all desired modules, and after you are all set, you can go back to the "File" tab and start your desired kernel.

Note: If you want to learn more about how to customize the execution kernels available in your Jupyter Notebook sessions, beyond what can be done within conda, please follow instructions "here" (documentation link will be provided shortly).

Note: When you are done running your computation you can delete the job using the "Delete" button in the section for that particular job in the  "My Interactive Sessions" page.

 

RStudio Server

This App allows you to submit a job which starts a Rstudio session  on a compute node and provides a link to connect to it on a new browser tab.

To launch the notebook, select the "Rstudio Server" entry from the "Interactive Apps" menu, and fill in the following form. 

- partition
- memory allocated for the job (Max 120GB)
- number of cores (Max 32)
- number of hours (Max 24).

You can then select the version of R you want to run in your Rsession in RStudio, chasing from the modules available on the Odyssey Cluster (for example R/3.5.1-fasrc01 Core).

You can also specify the location of the folder where your personally installed R packages will be installed. (for example ~/apps/R_3.5.1_Core ). The folder will be created if it does not already exist. Please refer to this page for more information about R and package management on Odyssey. 

If you want to be notified by email when the job starts select the checkbox and include a valid email address in the form.
The "Slurm Account" can be use to specify which lab account you want to charge in terms of FairShare for tis particular job.
If you only are affiliated to one lab you can ignore that entry as it will default to your primary group.

When you made your selection press the "Launch" button.  
Allow a few seconds for the portal to process your submission form, and you will be redirected to the "My Interactive Sessions" page.

You will be able to use the "Connect to RStudio Server" button to open the RStudio session in a new tab on your browser.

Note: When you are done running your computation you can delete the job using the "Delete" button in the section related to that particular job in the  "My Interactive Sessions" page.

CC BY-NC-SA 4.0 This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. Permissions beyond the scope of this license may be available at Attribution.