Hopper Cluster Open OnDemand Server User Guide
Open OnDemand on Hopper
The Open OnDemand (OOD) Server on Hopper is a web portal that allows users to access the cluster resources with a graphical user interface (GUI). Users will be able to view, edit, upload, and download files, create, edit, "submit" and check jobs, run GUI applications (currently MATLAB, Mathematica, and Jupyter Lab with more to come), and has command line shell access, all through a web-browser. These interactive sessions can be used for up to 12 hours.
Accessing the OOD Server
To access the OOD web server, point your browser to https://ondemand.orc.gmu.edu. You currently need to be on the GMU VPN for the connection to work, we expect to make the system publicly available pending approval by the ITS security office. You will have to authenticate; the credentials are your GMU NetID and Password.
This Authentication method is not permanent, and it will soon be replaced by Shibboleth SSO. Once authenticated you will be directed to the dashboard. The Dashboard has a menu bar across the top with the following options: "Files", "Jobs", "Clusters", "Interactive Apps", "My Interactive Sessions", "Help", and "Logout". Each option will be discussed in its own section.
The "Files" option allow the user to navigate their file system, download or upload files, copy files, rename files or directories, delete files, create new directories or files, or even open a terminal session. Starting from the left, the Files tab has a "Home Directory" choice. Selecting this will open a new tab that will show you your /home directory contents on Hopper. You can view, edit, upload, and download files directly to/from your workstation.
You can change directories via the "Go To..." menu. Selecting the "Open in Terminal" choice will open a new tab with the terminal prompt for the directory you are currently in. In the terminal tab, you can navigate and work as you normally would on the CLI.
The **Jobs**; has two options: **Active Jobs**, and **Job Composer**. The **Active Jobs** page permists the user ot see information on any jobs they have
submitted which are either running, or pending. The **Job Composer** page provides an interface to create and submit new jobs. You can create a SLURM
submission script from a template or from existing file accessible in your directory. Scripts can be editied using the provided **Editor** option, or by
using **Open Terminal** to open a terminal and directky create or modify the script as you would on the head node.
Once your script is set, you can "submit" the job by using the green button with the arrow on it. Jobs can also be stopped in an analogous manner using the button with the yellow square or removed by using the red button with the trashcan icon. The status of the job will change depending. You can also use the Templates option to use already available job submission scripts for new jobs.
The Clusters tab will open a new tab connecting you to Hopper from the command line. This is just what you would see if you were to connect using ssh from your local computer. You can work here as you normally would in your shell.
This tab gives you access to a desktop environment on the cluster or allows you to launch Jupyter Lab, or one of the GUI applications that have been configured. !(../img/OOD/ood_interactive_apps.jpg)
Before any application is launched, the user must complete a form were the number of hours, number of cores, and the amount of memory may be selected. The form has information about the default options, so if the user is happy with the defaults the user can simply click "Launch."
The sessions run directly on compute node or nodes in the cluster with the requested resources assigned. Once you launch a session, it may be used as a private workstation, and it persists for the duration set or until you "delete" it.
Mathematica and MATLAB Etcetera
Hopper Desktop, Mathematica and Matlab sessions are all GUI based applications that use a proxied VNC (noVNC) connection to attach to the resource in the Hopper cluster. In normal activity the function just like a normal remote display inside a browser window. The main issue with this form of connection is when a user wants to cut and paste between application on the local host system and applications running in the noVNC window. There is a facility available to allow this but it not obvious.
Copying into the Session
Assuming the user has an application in a session that has text to be copied, in this example some text in a terminal. First select the text using your mouse as normal in a Linux GUI application and find the small tab on the left-hand side of the browser, this hides/displays the noVNC controls. Click on this tab.
Click on the clipboard icon to reveal the noVNC clipboard. Select the text in the revealed clipboard, right-click and select "Copy."
Navigate to the local application into which you want to past the text, right-click and select "Paste."
Copying from the Session
First select and copy the text from the local application.
The text is now pasted into your application in the noVNC session.
To completely log out of the OOD session, you need to close the browser after logging out of your session. Alternatively, access the server while using 'private browsing mode' so that the session information is removed by simply closing the browser.