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.
-
-
The “trick” is to store a 10-bit transaction id inside variables and use that to resolve conflicts. Any transaction can undo any earlier one, and can be undone by any later one, at any time, with detection at read and write points.
Show this thread -
I view this algorithm as the last hope for performant software transactional implementations since the .NET team’s efforts failed and all experiments show hash table indirection adds too much overhead.
Show this thread
End of conversation
New conversation -
-
-
An O(1) garbage collector?
-
Not sure if O(1), but "pauseless" garbage collectors have been done - like - https://www.azul.com/products/zing/pgc/ … - I don't know much about it, and haven't used it -
@giltene is one of the authors (AFAIK). - 4 more replies
New conversation -
-
-
There's a problem similar to this in GPU acceleration optimization. Solutions are presented in algebraic form, but have duals modulo conflicts. A more clever solution optimizes in a higher dimensional space and projects down to the registers. This sort of stuff amazes me.
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.