Skip to main content

Jupyter on a compute node

CS Jupyter is JupyterLab in your browser, with its files, kernels and terminals on a Slurm compute node. To start using it, follow Getting started.

Available Version 0.1.1 · Try it out · Self-hosting

How it works​

CS Jupyter keeps the JupyterLab interface in your browser and puts Jupyter Server, which reads and writes files and runs kernels, the processes that execute notebook code, on a compute node.

You sign in through CILogon, which accepts your institution's credentials, and add the clusters you have accounts on. When you start a session, Airavata, Cybershuttle's hosted service, logs in to the cluster over SSH as you and submits a Slurm job. The job runs Linkspan, the Cybershuttle agent, which starts Jupyter Server and opens an outbound connection back to Airavata; your browser reaches Jupyter Server through it. The cluster opens no inbound port, but the compute node must reach the internet. How it works shows the sequence.

A session is an ordinary Slurm job. It holds the resources you requested, and your allocation is charged, until you press Stop or the walltime ends. Closing the tab or signing out does not stop it.

Suitable uses​

Suited toNot suited to
Notebooks that need the cluster's GPUs, memory or dataLong unattended runs; submit a batch job
Working from a machine where you cannot install softwareClusters whose compute nodes have no outbound internet
One JupyterLab layout per project, kept across sessionsCluster modules in a kernel without setup

Requirements​

RequirementNotes
A current browserNothing to install
An identity CILogon acceptsMost university and national-lab logins; ORCID, GitHub, Google, Microsoft
An account on a Slurm cluster you reach with sshPlus a Slurm account (allocation) where the site requires one
A way to log in to that clusterAn uploaded SSH key, a password, or MFA answered in the browser
Outbound HTTPS from the clusterLogin node: to download Linkspan. Compute nodes: to reach Airavata and install Python packages. Hosts

Airavata, not your computer, opens the SSH connection, so it cannot use a local key file or ssh-agent. Upload the key, or type the password or MFA code into a terminal in the browser.

Credentials and data​

Unlike CS Bridge, which uses your own SSH login, CS Jupyter has Airavata log in for you, so Airavata holds more. Read the table before uploading a key or working with restricted data:

ItemHeld byConsequence
Uploaded SSH private keyAiravata, in a file only its service account readsNever returned to a browser; Delete under SSH Keys removes it. A passphrase is asked for at each login, not stored
Password or MFA codeNobodyPassed to ssh as you type it
Cluster loginAiravata, as an open SSH connectionWhile open, Airavata can run commands on the cluster as you. A login answered in the browser stays open until it drops or Airavata restarts; a key without a passphrase logs in again when needed
Notebook, file and terminal trafficPasses through AiravataEncrypted in transit; Airavata can read it
Jupyter tokenAiravata; your browser while connectedNew for every job; grants code execution in your session
Dev Tunnels account, if connectedAiravata, encrypted at restNever sent to the browser
Sign-in tokensThe browser tabDropped on sign-out or when the tab closes

On the node, Linkspan and everything it starts run as you and write only under ~/.cybershuttle. The job is not exclusive, and Linkspan's control API on 127.0.0.1 has no password, so another user whose job shares the node could reach it. Cluster security lists the full set of limitations.

Pages in this section​

PageKindCovers
Getting startedTutorialSign in, add a cluster, run a first notebook, stop
Sessions and runsHow-toSession states, walltime, switching, run history, Dev Tunnels
Environment and kernelsHow-toThe default kernel, your own kernels, modules, files
TroubleshootingReferenceLogs, symptoms and fixes, network requirements, reporting a problem

The pages from User interface on document the browser client itself for contributors and operators.