Skip to content

Clarify and document rounding for resource allocation list #3584

Open

Description

The list of resource allocations that end users can choose from on the VEDA hub looks like this:

image

Why are these numbers odd?

The reason these are a bit odd (1.9GB instead of 2GB, etc) is so we account for overhead of running various system and support components on each node, so not all the resources of the node are available for end users to use. The resources that are available, we split into chunks that fit together proportionally to minimize the amount of possible wasted space. #3030 is the PR that originally added this, and has a lot of rationale in the description about how they are calculated.

Why do we show these numbers?

Why do we show these odd numbers? It's because if I log in, and in the bottom of JupyterLab, I see the current memory limit:

image

When an end user hits this memory limit, they start seeing their kernels die. Kernels dying due to memory exhaustion is perhaps the number one confusing thing that end users experience on a JupyterHub that they don't on their local machine. If you exhaust memory on your local machine, everything freezes. Here, the kernel dies.

So when building the script to generate these choices (#3030), I made the display of memory match the actual memory limit, so it is easy for the user to understand where this number was coming from. It does mean that the numbers look 'odd', but I personally think it's better to have one number be in the server startup screen and in jupyterlab and that look odd, than to have two different numbers here simply so that they look more rounded out.

However, everyone always asks why this number looks odd, so we should at least document this someplace nice.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    DocumentationA change to our documentation.

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions