HPC Novice: Instructor Notes

Topic related

Because different compute resources have different features, this lesson, by necessity, should be thought of as completely modular.
We have here the basic topics that might be required, in a recommended order, but additions and deletions are encouraged, based on the needs of the audience and the compute resource that is being used. It could also be expanded or contracted to fill a certain amount of time – the default time period should be about day, but for a complete novice audience (has never used the command line), it should be more like a day and a half, or two days.

Cluster roleplay instructions (from 04-scheduler)

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

  1. 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).
  2. 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.

  3. 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.

  4. 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.

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

  6. 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.

General

The instructor notes should provide additional discussion useful to instructors, but not appropriate for inclusion in the main lessons. The following structure provides a consistent way for instructors to both prepare for a workshop and quickly find necessary information during a workshop.

Please remember not to overload on details, and to keep the comments here positive!

Lesson motivation and learning objectives

These concepts should be highlighted in the main lesson material, but ideas for explaining these concepts further can be placed here.

Lesson design

Most lessons contain more material than can be taught in a single workshop. Describe a general narrative (with time estimates) for teaching either a half day or full day with this lesson material. You may also choose to include multiple options for lesson design, or what material can be skipped while teaching. This section may also include recommendations for how this lesson fits into the overall workshop.

Technical tips and tricks

Provide information on setting up your environment for learners to view your live coding (increasing text size, changing text color, etc), as well as general recommendations for working with coding tools to best suit the learning environment.

Common problems

This can include answers to common learner questions, as well as links to resources (blog posts, stack overflow answers, etc) that may solve problems that may occur during a workshop.