Reflection 2023-12-11¶
- Intro to Bianca
- Richel
- Lesson plan
Monday 11th Dec 2023 was the first time we ran the 'Intro to Bianca' course with the idea of that day being suitable for complete beginners, as we moved more complex topics to the so-called 'Intermediate course' or 'Hackathon'.
I would teach mostly the earlier parts of the day, except for an intermezzo by Lars.
When | Who | What |
---|---|---|
9.00 | R | Introduction |
9.15 | L | NAISS-Sens |
9.35 | R | Login using Thinlinc |
9.55 | . | coffee break |
10.10 | R | Command line intro specific to Bianca |
10.55 | . | break |
11.10 | R | Module system |
12.00 | . | Lunch |
13.00 | P | Intro to transferring files to and from Bianca |
13.55 | . | break |
14.10 | B | Compute nodes and SLURM |
14.55 | . | Coffee break |
15.10 | B | Summary |
15.15 | B | Q/A |
15.55 | . | Closing words |
16.00 | . | END |
My goals were:
- Text as simple and clear as possible
- Ample time for exercises
- Teaching goals, text and exercises must go together well
I reached those goals, yet I have ideas how to improve:
- Put in groups
- Need more time to check results
- Non-solution: split into levels
I had (15+20+45+50-5=
) two hours and 5 minutes
and the distribution of time was uneven.
To give ample time for exercises, in practice all
of my topics took 30 minutes:
Lecture | Scheduled | Actual (minutes) |
---|---|---|
Introduction | 15 | 35 |
(NAISS-Sens) | 20 | 25 |
Login | 20 | 30 |
Command line intro | 45 | 30 |
Module system | 50 | 30 |
I think changing the time to this was way better then just me talking.
The form of the exercises can be improved: what I did is (1) introduce the page and exercises, (2) let the learners do the exercise, with a shared document for 'unsure answers' (i.e. an answer a learner wants me to check) and questions. I think the learners understood the exercise and actually worked on it. This way of doing exercises felt empty, i.e. there was not much for me to do, except talk, which was suboptimal as the learners need silence to think.
Next time, put the learners in groups of 3 or 4 in breakout rooms.
I did check the progress of the students as intended: by using the shared document. However, after the first exercise, no content was ever added to the shared document. This could by either due to link-fatigue, material being clear, the learners discovering that the answers can be dropped-down from the questions, the learners learning that I did not check progress by asking random learners, and/or me not discussing the results.
I think I should discuss the results, by asking random students for answers or demonstrations. This would take more time, yet I feel there is plenty of time over the day.
Next time, discuss the learners' results.
The group had different backgrounds and I think I should have used that more, by putting them in groups. Also, I gave the quicker learners the next exercises too, which they could complete without help and I encouraged them for an early lunch.
A non-solution would be to have this intro split by levels. Instead, put the learners in groups and let them profit of each other.
The pace in my part was focused on the absolute beginners, as I sometimes waited for all learners to have finished an exercise and sometimes let helpers and/or other learners help these with a 1-on-1 session in a breakout room. I predict/hope that some learners will state in the evaluation stated that my part went too slow: this would mean I indeed do so. If some learners would state in the evaluation that my part went too fast, I would be surprised and attribute it to not using smaller groups (i.e. that learner expected/wanted/needed a 1-on-1).
This would be my dream schedule:
From | To | What |
---|---|---|
9:00 | 10:00 | Logging in |
10:00 | 10:15 | Break |
10:15 | 11:00 | Command-line |
11:00 | 11:15 | Break |
11:15 | 12:00 | Modules |
12:00 | 13:00 | Lunch |
13:00 | 13:45 | File transfer |
13:45 | 14:00 | Break |
14:00 | 14:45 | Interactive nodes, scheduling jobs |
14:45 | 15:00 | Break |
15:00 | 15:30 | Legal aspects of sensitive data |
15:30 | 16:00 | Optional Q&A |
Changes I suggest:
- I feel we should dive in immediately and all log in Bianca first!
- I feel the Overview page is nice, but needs not be discussed. Instead, let other pages refer back to it (like I already do)
- I feel the legal aspects of sensitive data would be a nice relaxing lecture at the end of many exercises
- The Q&A should be optional: learners should be encouraged to leave!
The shared document¶
The shared document that was used (I did remove a name), starting from here:
[General info at the top]
About the learners¶
Exercise goals: (1) ensure learners can use this shared document, (2) adapt teaching to the learners' existing knowledge, (3) manage expectations
-
Q: What is your background subject field? PhD student, researcher, other?
-
A: Resercher Nutrition
- A: Master student in computer science
- A: associate professor (docent)
- A: PhD student
- A: PhD student
- A: Researcher (Bioinformatics)
- A: PhD student
- A: Bioinformatician
- A: PhD student, digital health
- Data Science student
- A: Research Engineer in System Development
- A: Researcher
-
What is your earlier experience with Bianca?
-
A: None
- A: None
- A: None
- A: can run batch job
- A: data stored there, had a look though analysed by
- A: None
- A: None
- A: Logged in, basic data checks, some data transfer
- A: none
- A: none
-
A: None
-
Q: What are you expectations?
-
A: get the sense of how Bianca works
- A: be able to use Bianca
- A: to see what the difference is with sensitive data processing
- A:to understand the meaning of command lines bett
- To learn how to transfer data from Bianca to end point repositories - A: er * A: get an overview of Bianca, a first insight A: learn how Bianca is working, differences with C3SE's (Chalmers) cluster (Alvis/vera) * A: Module system, SLURM, *A: how the sensitive data is processed in Bianca * A: How to transfer data and getting started with Slurm
Overview¶
These are the questions at [the now dead link]
https://uppmax.github.io/bianca_workshops/overview/#questions
. You may answer these questions for feedback or ask questions back :-)
1. Your want to request access to general-purpose HPC. At which website does your journey start?"¶
- A: Starts at SCB
- A: NAISS
- A: SUPR
2. Your colleague visits https://bianca.uppmax.uu.se/ and sees nothing appear. What is likely the problem?¶
- A: I guess that they do not have access?
- A: They are outside the university network
- A: They are not using an affiliated VPN
- https://bianca.uppmax.uu.se/ Need to add an s?
[Richel: assume the 's' is there. Well spotted, will fix now!]
3. You want to use a piece of software that came out this morning (!) on Bianca. Will you be able to? Why?¶
- A: I do not know - I guess not due to security
- A: Probably not as the system is "closed". I guess there are ways to do it yourself though
- No.
4. You want to use an online tool to do a calculation on Bianca. Will this work? Why?¶
- A: No probably not, since nothing online should be allowed into Bianca
- A: No
- No, there is no internet connection.
- Q: What does (close to) no internet access mean in this case
5. Your colleague finds out that one can run scripts with calculations directly on the login node. This saves him/her much time waiting for a calculation to start. Is this OK and why?¶
- A: As in most HPC environment we are nto allowed to run on the login nodes.
- A: No, the login node is only for job managements.
6a. You are developing code on Bianca. You write the code line-by-line and schedule a test run after each addition. However, after each new line, it takes a couple of minutes before you know your code worked yes/no. How could you develop your code quicker?"¶
- A: I guess to run things in parallel - but that would take time as well to create...
- A: Would like to learn this.
7. Your script downloads a human reference genome from a secure website. Will this work on Bianca? Why?"¶
- A: Probably not, as you need to use its own file upload
- A: Dont think so
- A: I guess not since Bianca should not be connected to anything outside?
8. You have a problem on Bianca that is too hard to solve. Where do you ask us for help?"¶
- A: I dont know. There should be a support place. Lets know about this today.
- A: No idea. I would ask support via the SUPR portal.
1. Your colleague visits https://bianca.uppmax.uu.se/ and sees nothing appear on the website. What is likely the problem?"¶
- A:
- A: If they are part of my project then I do not know.
2. Exercise: login into the Bianca remote desktop"¶
- [ ] - A:
- A:
3. Exercise: start a terminal in the Bianca remote desktop environment"¶
- A:
- A:
4. Exercise: login into the Bianca console environment"¶
- A:
- A:
5. Your colleague finds out that one can run scripts with calculations directly on the login node. This saves him/her much time waiting for a calculation to start. Is this OK and why?"¶
- A:
- A:
6b. You are developing code on Bianca. You write the code line-by-line and schedule a test run after each addition. However, after each new line, it takes a couple of minutes before you know your code worked yes/no. How could you develop your code quicker?"¶
- A:
- A:
Command-line¶
1. View the help of the command cd
"¶
- A:
- A:
2a. Navigate to the project folder, e.g. /proj/sens2023598
"¶
- A:
- A:
2b. Navigate to your home folder"¶
- A:
- A:
2c. Navigate to the wharf, e.g. /proj/sens2023598/nobackup/wharf
"¶
- A:
- A:
3a. Create a folder /proj/sens2023598/workshop/[your_login_name]
, for example, /proj/sens2023598/workshop/richel
"¶
- A:
- A:
4a. Create a file, e.g. richel.txt
"¶
- A:
- A:
4b. Copy the file (e.g. to richel_again.txt
). "¶
- A:
- A:
4c. Move the copied file (e.g. move it one folder up to ../richel_again.txt
)"¶
- A:
- A:
4d. Delete the copied file"¶
- A:
- A:
5. Create an executable script called /proj/sens2023598/workshop/[your_login_name]/do_it.sh
, which, upon running, displays a welcome message in text (e.g. Hello!
) and does something (e.g. show the files in reverse order)"¶
- A:
- A:
Module system¶
1a. Verify that the tool cowsay
is not available by default"¶
- A:
- A:
1b. Search for the module providing cowsay
"¶
- A:
- A:
1c. Load a specific version of that module"¶
- A:
- A:
1d. Verify that the tool cowsay
now works"¶
- A:
- A:
1e. Unload that module"¶
- A:
- A:
1f. Verify that the tool cowsay
is not available anymore"¶
- A:
- A:
2a. Create an executable script called cow_says_hello.sh
. It should load a specific version of the cowsay
module, after which it uses cowsay
to do something"¶
- A:
- A:
2b. Find out: if the cowsay
module is not loaded, after running the script, is it loaded yes/no?"¶
- A:
- A:
3. module load samtools/1.17
gives the error These module(s) or extension(s) exist but cannot be loaded as requested: "samtools/1.17
. How to fix this?"¶
- A:
- A:
Overview 2¶
- Q:
-
A:
-
Q:
- A:
Logging in¶
- Q:
-
A:
-
Q:
- A:
Command-line intro¶
- Q:
-
A:
-
Q:
Modules and workflows¶
- Q:
-
A:
-
Q:
- A: