Interactive Desktop
Opening Interactive Desktop Form
-
The first step is to select the
Interactive apps
and then click theDesktop(XFCE)
in the Open OnDemand dashboard. -
Then you will see a form which needs to be filled to launch the interactive desktop on the compute nodes.
Partition
-
Partitions are work queues that has computational nodes in it to run the jobs. The partitions available in Discovery are
cblab
,cfdlab
,iiplab
,interactive
, andnormal
. -
However, you will see only the list of authorized partitions available for your Discovery account and hence, you won’t see the partitions which you don’t have authorization in the select dropdown.
-
Select one of the partitions where you want to submit your job. Refer to the page → Partitions in Discovery to select the ideal partition for your job.
-
By Default, partition is set to
interactive
. -
Backfill partition is also enabled to launch MATLAB GUI through the interactive session. However, jobs on Backfill are subject to being stopped and requeued. Hence, you need to fill the last form field with the MATLAB command if you want to launch MATLAB in Backfill.
For NMSU OnDemand interactive apps, Backfill partition is only available in MATLAB (Xfce). |
Walltime(Hours)
-
Sets the Walltime for your job. The job gets killed if the Walltime you set gets elapsed.
Partition Max Hours backfill
336
cblab
168
cfdlab
168
iiplab
168
interactive
24
normal
168
CPUs(Threads)
-
Sets the Number of CPUs(Threads) for the job. The below table shows the maximum limit for CPU threads for each partition. The default and minimum value is 1 CPU thread.
Partition Max Limit backfill
60
cblab
60
cfdlab
52
iiplab
52
interactive
16
normal
124
Memory (GB/Gigabytes)
-
Sets the memory for the job in terms of GB. The memory you select is available to all assigned threads for the job. The below table shows the maximum memory limit for each partition which can be requested for the job. The default and minimum value is 1 GB.
Partition | Max Memory Limit(GB) |
---|---|
backfill |
490 |
cblab |
364 |
cfdlab |
175 |
iiplab |
175 |
interactive |
64 |
normal |
3000 |
GPUs
-
To enable the GPU selection, you need to choose one of the following partitions:
cfdlab
,iiplab
,interactive
,normal
. Only these partitions have GPUs and if you select any of the partitions, you can see theGPUs
dropdown enabled.Parameter #GPU Min Limit
0
Max Limit
2
Node Selection
This is an optional node selection feature for submissions to Slurm. It allows users to specify a particular node or any node with specific feature flags.
Selection Options
There are four available options for node selection:
-
Disabled: This is the default setting. When "Disabled" is selected, the application will not send any specific node preferences to Slurm during job submission.
-
Node List: With this option, users can specify a particular node (one single node) where the job should run.
-
Node Features (--constraint): Users can select this option if they want to run their job on any node that meets a specific feature.
-
Node Features (--prefer): This option is similar to the "--constraint" option, but it only indicates a preference. If it’s not available, it might be scheduled elsewhere.
Email Address
-
If you want to get notified via email when the job starts/fails/ends, enter the email address associated with the Discovery account.
-
You can leave the text field
blank
if you don’t want job notifications.
Submission Environment
You can select your desired submission environment from the drop down list. For example, to use an Apptainer image, select the Container option.
Containerized Desktop: Required Packages
To build your desktop container, there are some required packages.
-
TurboVNC
andWebsockify
:-
TurboVNC
andWebsockify
need to be installed inside the container. This is important as all processes will run inside the container and not on the host. -
Websockify
needs to be installed in the default location.-
Websockify
: "/usr/bin/websockify"
-
-
-
Apptainer
:-
In order to use other containers within the containerized desktop (nested container), such as MATLAB, Apptainer needs to be installed.
-
If you don’t need to use other containers on your interactive desktop, just make sure that TurboVNC
and Websockify
are installed.
We use my_desktop.def as an example. The full my_desktop.def file can be found at the end of this page, and you can modify it to suit your needs.
To learn more about Apptainer container, please visit Apptainer.
Launching the Interactive Session
-
Once all the form fields are set, you can click the
Launch
button. The interactive session will be launched and the below output is shown.
-
The above output shows that the interactive Desktop session has been launched successfully. You will see the Launch Desktop(Xfce) only if the resources you have requested becomes available. Else, you might need to wait for some more minutes for the resources allocation and then the Launch Desktop(Xfce) button appears.
-
You can also set the
Compression
andImage Quality
for Interactive Desktop by using the slider. After setting the values, click the Launch Desktop(Xfce) button.
The interactive session won’t be launched if you try to submit your job to the partition that you don’t have access to. You will get the following error message → Batch job submission failed: User’s group not permitted to use this partition. Also, the page gets reloaded and you need to select the value for the form fields again since the form gets reset. |
Opening Interactive Desktop
-
On clicking the Interactive Desktop(Xfce) button, the interactive desktop opens in a new tab through a VNC session.
-
You are provided with
four different workspaces
which is displayed in the top right corner of the window and you can use it.
-
At the bottom of the screen, you will see different options like
Terminal Emulator, File Manager, Application Finder, Web Browser, Minimize windows
which you can make use of it.
Opening applications
-
Click the
Applications
tab in the top left of the screen and you will see the list of available applications.
Output:
Killing the interactive session
-
Click the
Applications
tab and then select theLogout
option. -
Then, you will get a pop-up to confirm.
-
On confirmation, you will be disconnected and the interactive session gets deleted. You will see a similar output like below:
Alternate way
-
Another way to delete the session is to go to the
My Interactive sessions
tab and select theDelete
button of the current interactive session.
Whenever you are done with the work, it’s always recommended to kill/delete the interactive session running on the compute nodes and free the resources. |
Definition File "my_desktop.def"
Bootstrap: docker
From: docker.io/rockylinux/rockylinux:8
%environment
PATH=/opt/TurboVNC/bin:$PATH
LANGUAGE="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
LANG="en_US.UTF-8"
%post
# Install EPEL repository for additional packages
dnf install -y epel-release
dnf groupinstall -y xfce
dnf install -y python3-pip xorg-x11-xauth
pip3 install ts
# Install Websockify
dnf install -y https://yum.osc.edu/ondemand/latest/compute/el8Server/x86_64/python3-websockify-0.10.0-1.el8.noarch.rpm
# Install TurboVNC
dnf install -y https://yum.osc.edu/ondemand/latest/compute/el8Server/x86_64/turbovnc-2.2.5-1.el8.x86_64.rpm
# Install Apptainer
dnf install -y https://github.com/apptainer/apptainer/releases/download/v1.3.1/apptainer-1.3.1-1.x86_64.rpm
# dnf install -y apptainer
dnf clean all
chown root:root /opt/TurboVNC/etc/turbovncserver-security.conf
rm -rf /var/cache/dnf/*
%environment
export PATH=$PATH:/usr/local/bin