In this homework, we prepare a working environment that we’ll be using throughout the semester, and use several common tools to find and fix some major performance bugs in a real program.
In this homework, we turn a single-threaded (not thread-safe) linked list into a thread-safe list, using a few different approaches. We also practice generating performance plots.
We continue our adventure with linked lists, this time reducing the “lockiness” of the list in three steps: BFL with RCU, fine-grained locking with RCU, and completely lock-free.