NUVOLOS
Sign In
  • Getting Started
    • Introduction to Nuvolos
    • Documentation structure
    • Nuvolos basic concepts
      • Organisational hierarchy
      • Applications
      • Distribution
      • Data integration
      • Snapshots
      • Background tasks
    • Navigate in Nuvolos
    • Quickstart tutorials
      • Research
      • Education (instructor)
      • Education (student)
  • Features
    • Applications
      • Application resources
      • Sessions
        • Session Logs
      • Install a software package
      • Create a persistent .bashrc
      • Automatic code execution
      • Long-running applications
      • Troubleshooting applications
      • New applications or licenses
      • Configuring applications
      • Exporting applications
      • Add-ons
        • MariaDB add-on
        • PostgreSQL add-on
        • OpenSearch add-on
        • MongoDB add-on
        • Redis add-on
        • PostGIS add-on
        • Rclone mount add-on
        • Neo4j add-on
    • File system and storage
      • File navigator
      • Large File Storage
      • Preview files
      • Mount Dropbox
      • Access S3 buckets with RClone
      • Access remote files with SSHFS
      • Access files on SharePoint Online
    • Object distribution
      • Distribution strategies
      • The distributed instance
    • Snapshots
      • Create a snapshot
      • Restore a snapshot
      • Delete a snapshot
    • Database integration
      • Create datasets
      • View tables
      • Build queries
      • Upload data
      • Access data from applications
        • Set up ODBC drivers
        • Obtain tokens for data access
        • Find database and schema path
      • DBeaver integration
    • Environment variables and secrets
    • Searching
      • Page
      • Find an application
      • Find an organisation
      • Find a space
      • Find an instance
      • Find a state
    • Video library
    • Nuvolos CLI and Python API
      • Installing the CLI
      • Using the CLI
  • User Guides
    • Research guides
      • Inviting a reviewer
      • GPU computation
    • Education guides
      • Setting assignments
        • Programmatical assignment handling
      • Documenting your course
      • Setting up group projects
        • Collaborative application editing
      • Configuring student applications
      • Archiving your course
      • Student guides
        • Joining a course
        • Working on assignments
        • Leaving a course
    • Application-specific guides
      • JupyterLab
      • RStudio
      • VSCode
      • Stata
      • MATLAB
      • Terminal
      • Terminal [tmux]
      • Apache Airflow
      • Apache Superset
      • D-Wave Inspector
      • MLFlow
      • Databricks Connect
      • Dynare.jl
      • CloudBeaver
      • InveLab
      • Overleaf
      • Metabase
      • DNDCv.CAN
      • OpenMetaData
      • Uploading data to the Large File Storage
    • Data guides
      • Setting up a dataset on Nuvolos
      • Importing data on Nuvolos
      • A complete database research workflow (Matlab & RStudio)
      • Accessing data as data.frames in R
      • Working with CRSP and Compustat
      • Working with the S&P 500®
  • Pricing and Billing
    • Pricing structure
    • Resource pools and budgets
    • Nuvolos Compute Units (NCUs)
  • Administration
    • Roles
      • Requesting roles
    • Organisation management
    • Space management
      • Invite to a space
      • Revoke a space user
      • HPC spaces
      • Resting spaces
    • Instance management
      • Invite to an instance
    • Enabling extra services
    • Monitoring resource usage
  • Reference
    • Application reference
      • InveLab
        • Dataset selection
        • Modules
          • Time-series visualisation
          • Moment estimation
          • Mean-variance frontiers
          • Frontiers
          • Dynamic strategy
          • Portfolio analysis
          • Performance analysis
          • Benchmarking
          • Carry trade strategies
          • Risk measures
          • Conditional volatility
          • Replication
          • Factor factory
          • Factor tilting
          • Valuation
    • Glossary
  • FAQs
    • FAQs
    • Troubleshooting
      • Login troubleshooting
        • I forgot my email address
        • I forgot my identity provider
        • I can't log in to Nuvolos
        • I forgot my password
        • I haven't received the password reset email
        • I haven't received the invitation email
      • Application troubleshooting
        • I can't see an application
        • I can't start an application
        • I can't create an application
        • I can't delete an application
        • I can't stop a running application
        • JupyterLab 3 troubleshooting
        • Spyder 3.7 troubleshooting
      • Administration troubleshooting
        • I can't see a space
        • I can't create a space
        • I can't delete a space
        • I can't invite admins to my space
        • I can't see an instance
        • I can't create an instance
        • I can't delete an instance
        • I can't invite users to an instance
        • I can't see distributed content in my instance
        • I can't see a snapshot
        • I can't create a snapshot
        • I can't delete a snapshot
        • I can't revoke a user role
        • I can't upload a file
        • I can't delete a file
        • I can't invite students to my course
      • Content troubleshooting
        • I can't find my files in my Linux home
        • I can't find my files among the Workspace files
        • I restored a snapshot by mistake
Powered by GitBook
On this page
  • Pre-starting student applications
  • Scheduled startup of student applications
  • Scheduled startup with GPU
  • Manual startup of student applications
  • Configuring applications
  • Performance sensitive code

Was this helpful?

  1. User Guides
  2. Education guides

Configuring student applications

PreviousCollaborative application editingNextArchiving your course

Last updated 5 months ago

Was this helpful?

When working with student applications on Nuvolos, it is important to consider the following performance characteristics:

Pre-starting student applications

If a class size is large (e.g. above ~50 users / or if individual applications have been customized to request higher resources) and students are expected to launch their applications at the same time, it can happen that resource allocation becomes slower (e.g. application launch time can be around 5 minutes instead of the usual 30-60 seconds).

For a good user experience, we recommend that instructors pre-launch the required application(s) for all users before students are expected to start work with it. Nuvolos supports both automatic and manual application prestart.

In both automatic and manual mode the progress and outcome of a pre-launch is visible in the task view.

For optimal resource allocation, only the very first prestart triggers the start of a given application for all users in the space. Subsequent prestart events first check which users actually used the applications around the last prestart time, and the app will be started only for them automatically.

Scheduled startup of student applications

Using automatic application prestart instructors can create scheduled prestarts ahead of time. This can be performed from the 'Application' view in the sidebar, by clicking on the three dots beside the application name and selecting the 'Schedule for start' option, and setting the time and date by when all apps in the space should be up and running.

The following limitations apply: - The time of the schedule has to be in at least 30 minutes, as it takes time to start all applications. - In a space, up to twenty scheduled prestarts can exist at the same time - Setting a prestart date more than 6 months into the future is not allowed - Setting a prestart date for archived courses is not allowed

The scheduled prestarts can be viewed, edited, and deleted from under the list of applications. If you wish the create a new schedule for the same time a week away, you can do that by clicking on 'add to next week' under the Actions column.

The next scheduled startup can also be viewed from the space overview page.

Scheduled startup with GPU

Nuvolos supports courses with GPU access. This means, it's possible to schedule application startup for students on machines that have GPU, and thus have a virtual lab session on Nuvolos. In such a scenario, every student gets their individual GPU, so they don't need to compete for GPU runtime on shared machines. This makes it possible for students to e.g. write exams on Nuvolos, with everybody having access to the exact same hardware setup in a completely isolated way.

By default, only 1/6 A10 GPUs are available for scheduled startup for classes up to 60 attendants. For classes larger in size, please contact support first.

To configure startup on machines with GPU, turn on the Scale resources toggle and select the GPU size and configure the Stop after selected minutes field.

Since machines with GPU consume credits to run, scheduled startups with GPUs need to define the length of each session in minutes. After the set amount of minutes relative to the prestart schedule, every machine with GPU is automatically shut down in the space (including the machine(s) of the instructor(s)). Example: if the scheduled start is at 10:05 and stop after selected minutes is 120 minutes, all prestarted apps (including the instructors app) will be shut down at 12:05.

Limitations of scheduled startup with GPUs

  • Currently up to 60 concurrent students on 1/6 A10 GPUs are supported only. Please reach out to support to clear GPU sizes/attendant lists larger than this.

  • Stop after selected minutes can only be set between 30 and 360 minutes.

  • The total cost of a session with N students will be around N*[session length in hours]*[hourly price of GPU machine] + warmup premium, where the warmup premium means that applications are started 30-10 minutes ahead of time to allow for longer machine provisioning times due to higher machine checkout frequency around course start time.

  • Scheduled startups using GPU machines will not consider past user activity and will start up a GPU machine for every user in the course space.

  • Any running applications started by students will be restarted at the scheduled startup time and moved to GPU machines automatically.

Manual startup of student applications

Pre-launching can be performed from the 'Applications' view on the sidebar, by clicking the three dots beside the application name and selecting the 'Start for all users' option:

Student applications are stopped automatically after 1 hour of inactivity, so it does not make sense to perform the pre-launch more than an hour before the planned start time.

Pre-launching will start the application for all users in the space: for students, their respective applications will be started, for space administrators, the application in the master instance will be started. In case a space administrator is also an editor in a student instance, that application will also be started for the administrator.

Configuring applications

Space administrators can configure settings for student applications as well, in 2 ways:

  • Configure a specific application in a specific instance, via the Web UI

  • Distribute an application from the Master instance to all students. Configurations are also distributed to students.

When distributing applications in Teaching spaces, de careful that

  • inactivity limit

  • shared mode

  • resources settings

are also distributed to student applications!

Performance sensitive code

On Nuvolos each student runs the code with the same application configuration as the instructor.

Nevertheless, it is important to consider that when many students are concurrently executing a computationally intensive code, the application performance might be inferior to what the instructor experienced during material development when potentially the load from other users was lower.

Whilst usually this is within a reasonable factor, we recommend that during interactive sessions with a large number of students, either:

a) Code examples should be adjusted such that they execute within a minute or so maximum.

b) The space should be configured to have larger per-student resources to provide adequate compute performance. For the most performance sensitive cases, we suggest dedicated compute nodes for each application - please reach out to our support team to discuss such an option.

For out-of-class work when concurrency is lower, these considerations can be appropriately relaxed.

To use scheduled startup with GPU, you need to first in your space and have enough AC credits to cover the runtime costs for all students. As a space administrator, you can change the size of applications in the Master instance to the 1/6 A10 GPU machine size anytime to test your code. Since GPU machines consume credits, students are not allowed to request them on demand - rather you as the space administrator should configure a scheduled startup for them.

enable credit-based sizes
Teaching spaces with HPC feature enabled can prestart applications on machines with GPU