Lecture: scalable commutativity

The Scalable Commutativity Rule: Designing Scalable Software for Multicore Processors, TOCS 2015

Question

Consider the example in 4.5. Using the commutativity rule, briefly explain why the original counter isn’t scalable, but is scalable if we omit the return types.

Question

posix_spawn and fork+exec are two ways for creating a new process. Using the commutativity rule, briefly explain whether they can be scalable. Be specific.

Question

Compare the sv6 kernel with the patched Linux kernel from Wednesday. What conclusions can you draw about the scalability of the two kernels?

Question

Provide a list of questions you would like to discuss in class. Feel free to provide any comments on the paper and related topics (e.g., which parts you like and which parts you find confusing).