After 3 months of coding weekends, my attempt to create a relocating nonblocking garbage collector in C++ has failed. It works in theory, but in practice the read barrier is pervasive and costly, and the threading invariants are incredibly tricky to maintain.
I think of modern CPU architectures like SkyLake as offering hardware support for everything, since they can issue 4-6 instructions per clock and often do. Only problem is the high-cost unspeculated atomics.
-
-
The authors of the paper I linked claim that their approach allows for speculation, and that marking and relocation are a bad fit for general purpose cores. My understanding of the area is very shallow though, and sadly the paper is not very detailed :)
Thanks. Twitter will use this to make your timeline better. UndoUndo
-
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.