Homework: Lock-free coordination

Hand-In Procedure

You are to turn in this homework during lecture. Please write up your answers to the exercises below and hand them in to a 6.828 staff member at the beginning of lecture.

Linux scalability

This paper describes several parallel programming techniques used in the Linux kernel to allow the kernel to scale with increasing number of cores.

Submit: Section 4.4 describes one technique, namely lock-free comparisons in the dentry cache. Why does this protocol allow for better scalability than the original implementation that uses a spinlock per dentry? Would using a scalable lock instead of a spinlock allow for better scalability too?