OnDemand: Difference between revisions

From Research Computing Center Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 14: Line 14:
{| class="wikitable"
{| class="wikitable"
|+Open OnDemand Integration with GACRC Clusters
|+Open OnDemand Integration with GACRC Clusters
!Availability
!Cluster
!Cluster
!Phase
!URL
!URL
|-
|-
|Production
|Sapelo2
|https://ondemand.gacrc.uga.edu
|-
|Development Testing
|Sapelo2
|Sapelo2
|Beta Testing
|https://oodev.gacrc.uga.edu
|https://oodev.gacrc.uga.edu
|-
|-
|Future
|Teach
|Teach
|Future
|N/A
|N/A
|}
|}
Line 127: Line 131:
== Interactive Apps ==
== Interactive Apps ==


One of the best features of Open OnDemand is the ability to directly launch interactive graphical applications.  They can be accessed from the Open OnDemand home page or from the "Interactive Apps" in the top menu bar.
One of the best features of Open OnDemand is the ability to directly launch interactive graphical applications.  "Interactive Applications" or "Apps" are wrappers that will schedule a Slurm job with a particular application, and give you direct web based access into the interface.
 
These apps can be accessed near the bottom of the Open OnDemand main page called "Pinned Apps" or from the "Interactive Apps" in the top menu bar.  ''Note that the image below is only an example, as the list of interactive applications will grow over time.'' 
 
 
[[File:Ood-interactive-apps-3.png|600px]]
 
===Launching an application===
Clicking the icon of the interactive application that you would like to use will take you to a new page in which you define the resources allocated to interactive application.
 
If the GUI application you want to use has its own interactive app in Open OnDemand, you should use that launcher. If the GUI application you want to use does not have a launcher yet you have two options; You an open a ticket with GACRC and request the application be added to OnDemand (Link TBD), or you can use the "[[#X_Desktop |X Desktop Session]]". 
 
====Configuring the resources====
Resources must be defined like this because an Open OnDemand interactive app is happening within the context of a Slurm job. Each application may allow for the customization of different resources, while some may have static defined resources that cannot be changed.  Almost all of the resources available to be configured should be familiar to a user who has submitted a job before.
 
'''Please note''' that the <code>Number of hours</code> option is equivalent to "wall time".  If you do not terminate the job before this limit is reached, Slurm will terminate the job for you.
 
Once you have defined the resources for your job, click "Launch" to be taken to a new page ([[#Inter |My Interactive Sessions]]).  After a small delay, the page will refresh showing the status of the job that your app has scheduled.  See [[#Inter |My Interactive Sessions]] section of the wiki for more information.


===<span id="X_Desktop"></span>X Desktop Session (A.K.A. The Interactive X login app)===
The "X Desktop Session on Sapelo2"  is an interactive app that will start an X Desktop GUI session as a job.  Launching the VNC session will connect you to an actual X desktop running on a Sapelo2 compute node, in your browser. This desktop is currently configured to run the XFCE lightweight graphical manager. 


[[File:Ood-interactive-apps-3.png|600px]]
The Sapelo2 X desktop can be used for graphical applications that do not have a dedicated Open OnDemand interactive app. Please be aware that while it is possible within a Sapelo2 Desktop session to open a terminal, load a module, and run a graphical application, for example grace or gnuplot, some of the computing resources requested for this job would be used by the desktop itself.  If you find that you have an application that you do this with regularly, please consider opening a ticket with GACRC requesting an interactive app.


====Copy/Paste in VNC====
If launching an interactive session in the portal, there are a few extra steps that need to be taken. Please reference the media below, or the summary of steps below that for more information.


The list of interactive applications will grow over time.  Click the icon of the interactive application that you would like to use to be taken to a new page in which you define the resources allocated to interactive application . Resources must be defined like this because an Open OnDemand interactive app is happening within the context of a Slurm job. Once you have defined the resources for your job, click "Launch" to be taken to a new page ([[#Inter |My Interactive Sessions]]). After a small delay, the page will refresh showing that your job has started and you can click "Launch ''InteractiveAppName''" to open a new browser tab with the application running in it.
#Open the toolbar on the left of the screen and select "Clipboard".
#If you want to paste text from your host computer to the remote session, paste the text in the clipboard box. You can then use the middle-mouse button (MMB) to paste it in your terminal.
#If you want to copy text from the remote session to your host computer's clipboard, simply highlight the text in the terminal. It will appear in the Clipboard toolbar pop-out where you can copy it to your host clipboard.


The Sapelo2 Desktop interactive app will open an actual desktop running on a Sapelo2 compute node, in your browser.  The applications listed under "GUIs" will also be running on a Sapelo2 compute node, displayed in your browser.  If the GUI application you want to use has its own interactive app in Open OnDemand, you should use that.  While it is possible within a Sapelo2 Desktop session to open a terminal, load a module, and run a graphical application, for example grace or gnuplot, some of the computing resources you request for your job would be used by the desktop itself.  The Sapelo2 desktop can be used for graphical applications that do not have a dedicated Open OnDemand interactive app.




[[#top|Back to Top]]
[[#top|Back to Top]]


== <span id ="Inter"></span>My Interactive Sessions ==
==<span id="Inter"></span>My Interactive Sessions==




Line 151: Line 177:
'''Notable items:'''
'''Notable items:'''


* '''Host''': Click the name of the host to open a shell to the compute node that is running this job.
*'''Host''': Click the name of the host to open a shell to the compute node that is running this job.
* '''Time Remaining''': This is how long the job will remain running before terminating.  (Can be thought of as remaining wall time.)
*'''Time Remaining''': This is how long the job will remain running before terminating.  (Can be thought of as remaining wall time.)
* '''Session ID''': The unique ID of this session.  Clicking the link will open a file app window to this Ondemand sessions working directory. (Useful for troubleshooting issues with application launch)
*'''Session ID''': The unique ID of this session.  Clicking the link will open a file app window to this Ondemand sessions working directory. (Useful for troubleshooting issues with application launch)
* '''Compression/Image Quality''': These sliders allow you to change the amount of graphical compression and quality of the VNC session.  If you are on a particularly slow connection, or find that the 'redraw' time is slow, try lowering the Image Quality, increasing the Compression, or both, and relaunch the VNC window.
*'''Compression/Image Quality''': These sliders allow you to change the amount of graphical compression and quality of the VNC session.  If you are on a particularly slow connection, or find that the 'redraw' time is slow, try lowering the Image Quality, increasing the Compression, or both, and relaunch the VNC window.
* '''Launch Button''': This button will open a new tab with the web based VNC viewer application.  Closing the VNC window will NOT terminate the job, only the VNC connection to it.  You may return at any time (as long as the job has time remaining) and click the Launch button to reconnect to your session.
*'''Launch Button''': This button will open a new tab with the web based VNC viewer application.  Closing the VNC window will NOT terminate the job, only the VNC connection to it.  You may return at any time (as long as the job has time remaining) and click the Launch button to reconnect to your session.
* '''View Only''': This will open a new web based VNC viewer application just like the Launch button, with the caveat that no user input is allowed. You can then copy the URL for this window and send it to others, who will be able to view the VNC session, but not interact with it. (e.g. move the mouse, etc)  (This is a great function if you want to show multiple people something in a controlled session!)
*'''View Only''': This will open a new web based VNC viewer application just like the Launch button, with the caveat that no user input is allowed. You can then copy the URL for this window and send it to others, who will be able to view the VNC session, but not interact with it. (e.g. move the mouse, etc)  (This is a great function if you want to show multiple people something in a controlled session!)
* '''Delete''': This button will terminate the job, and delete the session.
*'''Delete''': This button will terminate the job, and delete the session.




[[#top|Back to Top]]
[[#top|Back to Top]]


= Additional Notes =
=Additional Notes=


== Interactive applications and GPUs (Hardware accelerated rendering) ==
==Interactive applications and GPUs (Hardware accelerated rendering)==
Sapelo2 is currently not configured for applications to use hardware GPU based accelerated rendering.   
Sapelo2 is currently not configured for applications to use hardware GPU for accelerated graphical rendering.  This is currently on our "To Do" list.   


Requesting a GPU for an interactive application will assign a GPU to the job just as it would requesting one from a normal submit script.  The X session will not use this GPU for graphical acceleration.
Requesting a GPU for an interactive application will assign a GPU to the job just as it would requesting one from a normal command line submit script, but the Xserver will not use this GPU for graphical acceleration. (e.g. you can still use the GPU for computation, but it will not accelerate your frame rate.)


== Per-User Experience ==
==Per-User Experience==
OnDemand will spawn a Per User Nginx session upon successful login.  This means that each connection on the OOD server is running as that particular user.  Each session is completely separated from other users sessions.
OnDemand will spawn a Per User Nginx session upon successful login.  This means that each connection on the OOD server is running as that particular user.  Each session is completely separated from other users sessions.


== Troubleshooting ==
==Troubleshooting==


For any assistance with Open OnDemand, please reach out to us in via the "General Support" form of the "For Users" section at help.gacrc.uga.edu.
For any assistance with Open OnDemand, please reach out to us in via the "General Support" form of the "For Users" section at help.gacrc.uga.edu.


[[#top|Back to Top]]
[[#top|Back to Top]]

Revision as of 12:54, 11 October 2021

Open OnDemand (OOD)

Open OnDemand ("OOD") is a web-based service provided by GACRC which provides users an alternative and/or complimentary method to access the HPC clusters. It helps computational researchers and students efficiently utilize remote computing resources by making them easy to access from any device, via a convenient web interface. Through Open OnDemand, graphical applications can be utilized on the cluster far more easily and smoothly than using X11 forwarding. It also helps computer center staff support a wide range of clients by simplifying the user interface and experience.

OOD Features:

  • Job submission and monitoring
  • File transfer and management
  • File editing
  • Shell access
  • Graphical Desktop on the cluster
  • Interactive Applications
Open OnDemand Integration with GACRC Clusters
Availability Cluster URL
Production Sapelo2 https://ondemand.gacrc.uga.edu
Development Testing Sapelo2 https://oodev.gacrc.uga.edu
Future Teach N/A



Back to Top

How to access Open OnDemand

In order to access the GACRC OOD login page, You must be connected to the UGA Network, either directly or by VPN.

Logging in requires a GACRC Cluster Account.

GACRC OOD uses UGA Single Sign-On Service (SSO) for authentication.

  1. Open a web browser to the cluster's Open OnDemand URL: https://oodev.gacrc.uga.edu
  2. Login with your UGA MyID credentials

Browser Requirements/Notes

To have the best experience using OnDemand, GACRC recommends using the latest version of Google Chrome, Mozilla Firefox, or Microsoft Edge. Any modern browser that supports ECMAScript 2016 should work, but GACRC will not support it.

Individual browser notes

  • Google Chrome is currently the only web browser that natively supports the copy and paste functionality in noVNC. Other browsers can do copy and pasting manually through the noVNC tool drawer.
  • Safari users may have issues when using the Shell App or noVNC. If you have issues, make sure your application is up-to-date.
  • Internet Explorer 11 is NOT supported.



Back to Top

Using Open OnDemand

Upon logging into Open OnDemand, all of its tools can be accessed via the links in the top menu bar.


OOD Menu Bar


Files

Clicking "Files" in the top menu bar will open a drop menu that displays yours and your lab's directories on the cluster. Clicking any of those displayed directories will take you to a new page that allows you to manage the directories contents, as well as navigate to other directories on the cluster to which you have access. In this file browsing interface, there is a menu above the file browsing area that allows you to:

  • Open an interactive shell in the current directory
  • Create a new file
  • Create a new directory
  • Upload files
  • Download files
  • Copy/move files
  • Delete files


Oodfiles2.png


Clicking on a directory will navigate the OOD file browser to that directory. Clicking on a text file will open a new read-only window, displaying the file. If you would like to edit a file from within OOD, click the three-vertical-dots button to the right of a file name, and then click "Edit". This will open a new tab that allows you to edit and save changes to a file. The OOD file editor has a plethora of different syntax highlighting options. If the file you're editing has a file extension in its name for which OOD has syntax highlighting, it will pre-select that option, however you can change the syntax highlighting by selecting a different option from the "Mode" drop down menu at the top. Additionally in the top menu of the OOD file editor, you can change the font size, as well as select a different display theme.

File Transfer Limitations

Copy and Moving files When it comes to copying and moving files within the cluster, it is recommended that you only use OOD for smaller files. For anything else, please use the transfer nodes. This is due to the OOD server acting as a "man-in-the-middle" for transferring files between the different file systems. For example, if you move something from /home to /scratch, in the background the file first has to be transferred to a temporary storage on the OOD server, before it is then transferred to the destination.

Uploading files GACRC highly recommends using the transfer nodes or Globus for larger file transfers. If you must use OOD for large file transfers, please be aware there is a hard-limit in place of ~10.0 Gib. GACRC reserves the right to lower this limit in the future.


Back to Top

Jobs

Clicking "Jobs" will open a drop down menu allowing you to navigate to "Active Jobs" or "Job Composer".

Active Jobs

In the Active Jobs interface, you're able to view information about your currently running jobs. Clicking the arrow on the left will expand this interface displaying further information about the job, as seen below.


Oodjobs2.png Oodjobs.png


Back to Top

Clusters

Clicking "Clusters" will open a drop down menu giving you an option to open a shell for the cluster in your browser, on one of the login nodes. This functions just as if you had connected to a Sapelo2 login node via PuTTY (Windows) or Terminal (Mac/Linux). In the top right of this interface you are able to select a different theme for your shell. Please see Browser Requirements/Notes for possible limitations.


Oodcli1.png


Back to Top

Interactive Apps

One of the best features of Open OnDemand is the ability to directly launch interactive graphical applications. "Interactive Applications" or "Apps" are wrappers that will schedule a Slurm job with a particular application, and give you direct web based access into the interface.

These apps can be accessed near the bottom of the Open OnDemand main page called "Pinned Apps" or from the "Interactive Apps" in the top menu bar. Note that the image below is only an example, as the list of interactive applications will grow over time.


Ood-interactive-apps-3.png

Launching an application

Clicking the icon of the interactive application that you would like to use will take you to a new page in which you define the resources allocated to interactive application.

If the GUI application you want to use has its own interactive app in Open OnDemand, you should use that launcher. If the GUI application you want to use does not have a launcher yet you have two options; You an open a ticket with GACRC and request the application be added to OnDemand (Link TBD), or you can use the "X Desktop Session".

Configuring the resources

Resources must be defined like this because an Open OnDemand interactive app is happening within the context of a Slurm job. Each application may allow for the customization of different resources, while some may have static defined resources that cannot be changed. Almost all of the resources available to be configured should be familiar to a user who has submitted a job before.

Please note that the Number of hours option is equivalent to "wall time". If you do not terminate the job before this limit is reached, Slurm will terminate the job for you.

Once you have defined the resources for your job, click "Launch" to be taken to a new page (My Interactive Sessions). After a small delay, the page will refresh showing the status of the job that your app has scheduled. See My Interactive Sessions section of the wiki for more information.

X Desktop Session (A.K.A. The Interactive X login app)

The "X Desktop Session on Sapelo2" is an interactive app that will start an X Desktop GUI session as a job. Launching the VNC session will connect you to an actual X desktop running on a Sapelo2 compute node, in your browser. This desktop is currently configured to run the XFCE lightweight graphical manager.

The Sapelo2 X desktop can be used for graphical applications that do not have a dedicated Open OnDemand interactive app. Please be aware that while it is possible within a Sapelo2 Desktop session to open a terminal, load a module, and run a graphical application, for example grace or gnuplot, some of the computing resources requested for this job would be used by the desktop itself. If you find that you have an application that you do this with regularly, please consider opening a ticket with GACRC requesting an interactive app.

Copy/Paste in VNC

If launching an interactive session in the portal, there are a few extra steps that need to be taken. Please reference the media below, or the summary of steps below that for more information.

  1. Open the toolbar on the left of the screen and select "Clipboard".
  2. If you want to paste text from your host computer to the remote session, paste the text in the clipboard box. You can then use the middle-mouse button (MMB) to paste it in your terminal.
  3. If you want to copy text from the remote session to your host computer's clipboard, simply highlight the text in the terminal. It will appear in the Clipboard toolbar pop-out where you can copy it to your host clipboard.


Back to Top

My Interactive Sessions

The last item in Open OnDemand top menu bar is "My Interactive Sessions". This interface will list your current and recent interactive app sessions.


Interactive Session Example.png


Notable items:

  • Host: Click the name of the host to open a shell to the compute node that is running this job.
  • Time Remaining: This is how long the job will remain running before terminating. (Can be thought of as remaining wall time.)
  • Session ID: The unique ID of this session. Clicking the link will open a file app window to this Ondemand sessions working directory. (Useful for troubleshooting issues with application launch)
  • Compression/Image Quality: These sliders allow you to change the amount of graphical compression and quality of the VNC session. If you are on a particularly slow connection, or find that the 'redraw' time is slow, try lowering the Image Quality, increasing the Compression, or both, and relaunch the VNC window.
  • Launch Button: This button will open a new tab with the web based VNC viewer application. Closing the VNC window will NOT terminate the job, only the VNC connection to it. You may return at any time (as long as the job has time remaining) and click the Launch button to reconnect to your session.
  • View Only: This will open a new web based VNC viewer application just like the Launch button, with the caveat that no user input is allowed. You can then copy the URL for this window and send it to others, who will be able to view the VNC session, but not interact with it. (e.g. move the mouse, etc) (This is a great function if you want to show multiple people something in a controlled session!)
  • Delete: This button will terminate the job, and delete the session.


Back to Top

Additional Notes

Interactive applications and GPUs (Hardware accelerated rendering)

Sapelo2 is currently not configured for applications to use hardware GPU for accelerated graphical rendering. This is currently on our "To Do" list.

Requesting a GPU for an interactive application will assign a GPU to the job just as it would requesting one from a normal command line submit script, but the Xserver will not use this GPU for graphical acceleration. (e.g. you can still use the GPU for computation, but it will not accelerate your frame rate.)

Per-User Experience

OnDemand will spawn a Per User Nginx session upon successful login. This means that each connection on the OOD server is running as that particular user. Each session is completely separated from other users sessions.

Troubleshooting

For any assistance with Open OnDemand, please reach out to us in via the "General Support" form of the "For Users" section at help.gacrc.uga.edu.

Back to Top