Using the holidays for a 2-week coding session. Writing a new transactional memory manager that’s O(1) for all operations, completely non-blocking and progress-guaranteeing, and uses atomics only for writes.
I mean transaction read, write, and commit operations are O(1) and don’t rely on trees or hash tables. Garbage collection is non blocking, lock free, and not dependent on metadata or user hooks...but terrible expensive.
-
-
It’s just Dijkstra’s concurrent garbage collection scheme layered on top of C++ with smart pointers and a side channel to track the location of all pointers in memory.
-
It can be nonblocking and support relocation because all smart pointers into managed memory are const, however futures and transactional variables can be mutated in-place in managed memory because they support atomic forwarding.
- 1 more reply
New conversation -
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.