To do this exercise, you will need about 50-100 pieces of paper or sticky notes.

Divide the room into groups, with specific roles.

Pick three-four people to be the “scheduler”

Have the remaining one-third of the room be “users”, given several slips of
paper (or post-it notes) and pens

Have the remaining two thirds of the room be “compute nodes”
Make sure everyone knows what their roles are. Have the “users”
go to the front of the room (or the back, wherever there’s space
for them to stand) and the “schedulers” stand between the users
and “compute nodes” (who should remain at their seats).

Divide the pieces of paper / sticky notes among the “users” and have them
fill out all the pages with simple math problems and their name. Tell everyone that these
are the jobs that need to be done and correspond to their computing research problems.

Point out that we now have jobs and we have “compute nodes” (the people still sitting
down) that can solve these problems. How are the jobs going to get to the nodes?
The answer is the scheduling program that will take the jobs from the users and deliver
them to open compute nodes.

Have all the “compute nodes” raise their hands. Have the users “submit” their
jobs by handing them to the schedulers. Schedulers
should then deliver them to “open” (hands-raised) compute nodes and collect
finished problems and return them to the appropriate user.

Wait until most of the problems are done and then re-seat everyone.

Follow-up discussion: what would happen if a node couldn’t solve the math problem? It
might be important to indicate the resources that your job needs to run. Add other
parallels that will be coming up in the next section of the lesson.