JupyterHub

From Alliance Doc
Revision as of 16:41, 25 November 2021 by Plstonge (talk | contribs) (Moving the table closer to the top of the page)
Jump to navigation Jump to search
Other languages:

"JupyterHub, a multi-user Hub, spawns, manages, and proxies multiple instances of the single-user Jupyter notebook server. JupyterHub can be used to serve notebooks to a class of students, a corporate data science group, or a scientific research group."[1]

JupyterHub eliminates the requirement for users to install their own version of Jupyter Notebook; they can connect to the application using only a recent web browser.

Compute Canada initiatives

Some regional initiatives offer access to computing resources through JupyterHub.

JupyterHub on clusters

On the following clusters, use your Compute Canada username and password to connect to JupyterHub:

JupyterHub Comments
Béluga Provides access to JupyterLab servers spawned through jobs on the cluster Béluga
Cedar Provides access to JupyterLab servers spawned through jobs on the cluster Cedar. The authentication is done on idpmfa.mit.c3.ca
Hélios Provides access to Jupyter Notebook servers spawned through jobs on the GPU cluster Hélios
Narval Provides access to JupyterLab servers spawned through jobs on the cluster Narval
Niagara This is a node which has been designated as a Jupyter Hub and it can run Jupyter Notebook sessions. To learn more, see the SciNet JupyterHub wiki page

Note that the compute nodes running the Jupyter kernels do not have internet access. This means that you can only transfer files from/to your own computer; you cannot download code or data from the internet (e.g. cannot do "git clone", cannot do "pip install" if the wheel is absent from our wheelhouse). You may also have problems if your code performs downloads or uploads (e.g. in machine learning where downloading data from the code is often seen).

JupyterHub for universities and schools

Server Options

Server Options form on Béluga's JupyterHub

Once logged in, depending on the configuration of JupyterHub, a user can set different options for their Jupyter server before pressing the Start button. It is similar to requesting resources for an interactive job.

Compute resources

For example, Server Options available on Béluga's JupyterHub are:

  • Account to be used: any def-*, rrg-*, rpp-* or ctb-* account a user has access to
  • Time (hours) required for the session
  • Number of (CPU) cores that will be reserved on a single node
  • Memory (MB) limit for the entire session
  • (Optional) GPU configuration: at least one GPU
  • User interface (see below)

User Interface

While JupyterHub allows each user to use one Jupyter server at a time on each hub, there can be multiple options under User interface:

  • Jupyter Notebook (classic interface) - Even though it offers many functionalities, the community is moving towards JupyterLab, which is a better platform that offers many more features
  • JupyterLab (recommended, modern interface)
  • Terminal (for a single terminal only) - It gives access to a terminal connected to a remote account, which is comparable to connecting to a server through an SSH connection

Note: JupyterHub could have also been configured to force a specific user interface. This is usually done for special events.

References