Running Many Students Simultaneously

Hoi there,

We’re running a rather large and elaborate custom LTI Jupyter setup in Canvas that dynamically spawns hubs. We spawn a new hub for every Canvas assignment requested by an instructor. The last couple of semesters we’ve run about 120 hubs/assignments per semester. Each assignments had anywhere from 10 to 20 students (online students, so they were rarely in each other’s way)

So far, the amount of simultaneous students has been low and most of the time they are distributed over a number of machines.

However, for the Spring we’re asked to run an in-person class of about 60 students. Those students will be running labs through one of our dynamically created hubs all in class at the same time. We have the option to run either in our own cloud or in AWS.

Basically, the question is: is there anyone who has experience running this many people simultaneously and if so, what kind of resources did you have to allocate for that? Also, did it work out?

Cheers,

Martin

is there anyone who has experience running this many people simultaneously

Our lovely friends at https://2i2c.org/ have being running JupyterHub for many people simultaneously.

At GESIS, we are also running a node of mybinder.org and we can host 100+ people simultaneously.

what kind of resources did you have to allocate for that?

This depends of what computation you are expecting people to do.

2 Likes

Hoi there,

Thanks for you reply. We’re running compute intensive code. Or rather, our students are. They are building, testing and running machine learning models and will be doing GenAI related work soon.

With the small amount of testing we’ve done it seems that we need to allocate 1 vCPU per student and about 8Gb of RAM each. Essentially giving them each their own virtual laptop.

Does that sound about right?

1 Like

A ratio of 1:8 cpu:memory seems cost effective at least, because high memory machines like the r series on AWS oe the highmem series on GCP provides that.