Lecture preparation

Before lecture, read the paper assigned below, and submit two items to the submission website:

Also keep in mind that you will need to write a paper summary for your choice of papers throughout the semester.

Assignment

Read the paper x86-TSO: A Rigorous and Usable Programmer's Model for x86 Multiprocessors by Sewell et al.

Why are we reading this paper?

What to learn from this paper?

Answer this question

The x86-TSO model described in the paper provides a memory model for hardware threads (i.e., code running directly on physical CPUs). Applications (user-level software) typically run on top of an OS kernel in threads managed by the OS kernel ("kernel threads"), which are multiplexed by the kernel across the available CPUs (and, in particular, the same kernel thread might run on different hardware threads/CPUs over time).

To what extent does the x86-TSO memory model apply to applicaton software running that uses kernel threads (if at all)?