Introducción #
Este servicio permite el uso de aplicaciones gráficas de manera interactiva a través de un navegador web. Emplea para ello la plataforma Open OnDemand y está disponible en la URL https://gloton.ugr.es/ood
Entre las aplicaciones/servicios disponibles se encuentran:
- Escritorio Remoto
- Jupyter notebooks
- RStudio
- VS Code
- Explorador de ficheros
- Lista de trabajos de Slurm
- Accesso a una terminal/shell
Este servicio es relativamente nuevo. Por favor, póngase en contacto con el administrador si tiene alguna incidencia o sugerencia.
Acceso #
Las apliciones se acceden mediante navegador en la dirección https://gloton.ugr.es/ood. Las credenciales que hay que usar son las mismas que para entrar a PROTEUS.
Cómo funciona #
Internamente, Open OnDemand despliegan las aplicaciones como trabajos del gestor de colas Slurm. Open OnDemand se refiere a estos trabajos como “interactive sessions”. Al ser trabajos de Slurm, estos son tratados de igual forma en cuanto a colas y prioridades.
Una vez que se ha iniciado el trabajo, que puede demorarse hasta que haya un nodo disponible, el sistema avisa de que es posible conectarse a él y podemos empezar a interaccionar a través del navegador.
El tiempo de ejecución del trabajo para las sesiones interactivas empieza a contar tan pronto como el nodo es reservado y empieza a correr el trabajo, independientemente si se ha accedido a él o no, es decir, la sesión interactiva está en ejecución aunque no se esté conectado a ella. Se pueden comprobar las sesiones interactivas en ejecución en la pestaña “My Interactive Sessions”. Se pueden detener pulsando en el botón “Delete” en la sesión.
Al tratarse de un nodo interactivo y compartido con otros, hay que pensar en los demás usuarios y usarlo según nuestras necesidades, tanto de recursos como de tiempo, y recordar terminar el trabajo cuando deje de ser necesario.
Existen diferentes maneras de monitorizar su uso:
- Dado que se tratan de trabajos de Slurm, de igual manera que se haría con cualquier otro trabajo
- Listar las sesiones actuales (y recientes) creadas por Open OnDemand en la pestaña “My Interactive Sessions”.
- Listar todos los trabajos en ejecución actuales bajo “Jobs > Active Jobs”.
Uso #
A continuación se muestran los servicios que Open OnDemand proporciona:
Navegador de archivos #
El navegador de archivos (ubicado en la barra superior, bajo Files > Home Directory) permite realizar las tareas típicas de un explorador de archivos sobre el sistema de archivos principal de PROTEUS, como:
- Crear, editar, visualizar, renombrar y borrar archivos
- Crear, renombrar y borrar directorios
- Subir y descargar ficheros desde/a tu ordenador

Comprobar los Trabajos Activos #
Se puede visualizar y cancelar los trabajos de Slurm (Jobs > Active Jobs), tanto los trabajos creados por slanzar, sbatch y srun, como los trabajos creados implícitamente por Open OnDemand (se verá más abajo)


Acceso a la Shell #
Open OnDemand también permite acceder a una shell del nodo de login de PROTEUS

Aplicaciones interactivas #
La principal característica de Open OnDemand son las aplicaciones interactivas. Se pueden lanzar aplicaciones interactivas desde el menú “Interactive Apps”. Se incluyen las siguientes aplicaciones:
- Escritorio Remoto (para trabajar en un entorno de ventanas)
- Jupyter Server (Jupyter notebooks)
- RStudio Server (RStudio sessions)
- Code Server (VS Code) (para programar usando Visual Studio Code)

Escritorio Remoto #
La aplicación de Escritorio Remoto permite ejecutar programas que necesitan interfaz gráfica (GUIs).
Así, por ejemplo se puede usar para la visualización y manipulación de datos de manera ágil directamente en el cluster, sin necesidad de tener que descargarlos al PC.
La aplicación de Escritorio Remoto tiene una duración máxima de 12 horas. Pasado ese tiempo, el trabajo finalizará (cerrándose el escritorio) y será necesario crear una nueva sesión si se quiere volver a conectar.
Iniciando la aplicación de Escritorio Remoto #
- Acceder a https://gloton.ugr.es/ood
- Hacer click en el desplegable “Interactive Apps” y elegir “Remote Desktop”
- Rellenar el formulario y presionar “Launch”. Se pueden elegir parámetros como el número de CPUs y memoria, aunque este tipo de servicio está pensado para la visualización y no para correr aplicaciones pesadas. El trabajo se pone en cola y cuando entre en ejecución, se podrá conectar a la sesión (se permite elegir la calidad de imagen y grado de compresión de la misma)
Interaccionando con tus archivos #
La sesión de Escritorio Remoto se ejecuta en un nodo de PROTEUS y puede acceder directamente a tus archivos, bien desde el administrador de archivos, bien desde una terminal.

Para abrir un terminal, haz click derecho sobre cualquier sitio vacío del escritorio y selecciona “Open Terminal Here”.

Jupyter Server¶ #
See the Jupyter documentation page for instructions on using Jupyter notebooks via Open OnDemand.
This service replaces the JupyterHub service that we formerly provided.
When using the “Jupyter Server – compute via Slurm in Slurm partitions” service units are charged based on job run time. The job may still be running if you close the window or log out. When you are done, shut down your Jupyter session by clicking “Delete” on the session under My Interactive Sessions
. You can confirm that the interactive session has stopped by checking My Interactive Sessions
.


RStudio Server¶ #
The RStudio server allows you to use RStudio on Savio, either run as part of a Slurm batch job (“compute via Slurm using Slurm partitions”) or (for non-intensive computations) on our standalone Open OnDemand server (“compute on shared OOD node”). Use of the standalone Open OnDemand server doesn’t use any FCA service units or tie up a condo node, but you are limited to 8 GB memory and should only use a few cores.
- Select the relevant
RStudio Server
underInteractive Apps
- Provide the job specification you want for the RStudio server (for the non-Slurm option, you’ll just have to provide a time limit).
- Once RStudio is ready, click
Connect to RStudio Server
to access RStudio.
For the Slurm-based option, service units are charged based on job run time. The job may still be running if you close the window or log out. When you are done, shut down RStudio by clicking “Delete” on the session under My Interactive Sessions
. You can confirm that the interactive session has stopped by checking My Interactive Sessions
.
Installing R packages
For certain R packages that involve more than simple R code, installing packages from within RStudio will fail because certain environment variables do not get passed into the RStudio instance running within OOD. Instead, please start a command-line based R session in a terminal and install R packages there. Once installed, these R packages will be usable from RStudio.
Accessing environment variables
Various environment variables, in particular Slurm-related variables such as SLURM_CPUS_ON_NODE
, are not available from within RStudio, either via Sys.getenv()
or via system()
.
Code Server (VS Code)¶ #
Code Server allows you to use Visual Studio Code from your web browser to edit files. The Code Server runs on shared nodes (.testbed0
), so you are not charged any service units for using this app.
- Select Code Server from the
Interactive Apps
menu. - Specify the amount of time you would like the Code Server to run.
- Once the Code Server is ready, click
Connect to VS Code
to access VS Code.
GitHub Copilot in VS Code¶ #
If you wish to use GitHub Copilot, you can do so by installing the extension using a VSIX file. You can not install it in VS Code on OOD at this time.
We recommend downloading the version of GitHub Copilot which was first released following the release of the version of VS Code you are using. The latest version will likely not be compatible. For example, for version 4.11 of VS Code on OOD we recommend installing version 1.78.9758 of GitHub Copilot. This version of GitHub Copilot can be downloaded here by navigating to the version history tab and then clicking download next to the correct version. This will download the VSIX file to your computer.
To install, you then need to upload the VSIX file to Savio. Next, start an VS Code session using OOD. Once you have opened the VS Code session, navigate to the extension sidebar and click on the three dots towards the top right of the sidebar (Views and More Actions...
). Then select the Install from VSIX...
option. You should use the prompt to select the VSIX file you uploaded. You should be prompted with a message that says Sign in to use GitHub Copilot.
and a button which says Sign in to GitHub
. Click on the button and follow the instructions to sign in to GitHub. If you are note immediately prompted with Sign in to use GitHub Copilot.
in the bottom right please terminate and start a new VS Code session in OOD. At this point you should have successfully installed and set up GitHub Copilot in VS Code on OOD. Please note that you will have to sign in to GitHub Copilot each time you start a new VS Code session on OOD.
Troubleshooting Open OnDemand¶ #
Common problems¶ #
Problem: the OOD login pop-up box keeps reappearing¶ Problem: when I login to OOD, I immediately get the error: “can’t find user for YOUR-USERNAME. Run ‘nginx_stage –help’ to see a full list of available command line options”¶ Problem: my OOD apps on shared nodes (VS Code, Jupyter shared node app, RStudio shared node app) never start¶ Problem: my OOD apps on shared nodes (VS Code, Jupyter shared node app, RStudio shared node app) report “permission denied (gssapi-keyex,gssapi-with-mic,keyboard-interactive)”¶ Problem: my OOD apps report an SSH or connection error¶ Problem: my OOD Jupyter kernel or my RStudio’s R session keeps dying¶ Problem: Slurm-based OOD sessions never start¶ Problem: OOD sessions on the shared node never start and report being in a “bad state”¶
General information for troubleshooting¶ #
Logs and scripts for each interactive session with Open OnDemand are stored in:
~/ondemand/data/sys/dashboard/batch_connect/sys
There are directories for each interactive app type within this directory. For example, to see the scripts and logs for an RStudio session, you might look at the files under:
~/ondemand/data/sys/dashboard/batch_connect/sys/brc_rstudio-compute/output/b5733507-a750-4bb9-8d4b-710618ce0de1
where b5733507-a750-4bb9-8d4b-710618ce0de1
corresponds to a specific session of an OOD app (the RStudio app in this case).
The BRC Open OnDemand interactive apps configuration is on GitHub. Additional information about Open OnDemand configuration is available on the Open OnDemand documentation.