Assignment 3 (June 6)

In this assignment we would like to ask you to fix the memory issue with the Treiber stack implementation discussed in the lecture and for which the code has been published. There are two alternatives to do this (of course feel free to try both):

  1. run your own memory allocator for Treiber stack elements
  2. implement hazard pointers (might also need some sort of memory allocator)
It is unclear whether you still need tagging in doing so.  Please elaborate. There is no need to have a full correct solution, but of course you should be able to show that you have put enough effort in trying and in particular explain your experience.