Assignments

Sort by:

Homework 3: a slow and buggy tree

Due date: Oct. 9, 2018 start of class

You’re given a binary tree implementation, but there’s a few things wrong with it. Most of all, it is much slower than you’d expect…

Homework 4: some concurrent lists

Due date: Oct. 30, 2018 start of class

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.

Homework 5: less locky lists

Due date: Nov. 13, 2018

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.