It will be presented at APLOS'06 Oct 21-25 San Jose
It seems like there would be some overhead wrt keeping the "home page"
synchronized with its "shadow page". I am not too sure how well this would
scale with large linked data-structures:
My main problem with TM is that reader threads have to call into the
transaction api before they traverse a data-structure. In most cases every
read has to be tracked; validating at the page-level is too coarse. If they
end up traversing tens-of-thousands of nodes, that's a lot of
checking/validating. If the application is under load, and writer threads
modify the page of memory that a reader thread happens to be reading from
seems to raise a red-flag in the presented algorithm. Then the validation
process has to drill down on the page, to enhance transaction granularity.
If alls that it takes is a simple store into the page to abort a
transaction, then live-lock can and should occur... So they have to get more
fine grain than a page...
Cache-coherency protocol deals with transaction that fit into cache line...
Humm, this may make the protocol too complex/strong. I am to a big fan of
extremely strong cache.
I need to look at this some more...
> Cache-coherency protocol deals with transaction that fit into cache
> line... Humm, this may make the protocol too complex/strong.
>I am to a big fan of extremely strong cache.
^^^^^^^^^^^^^
I am NOT a big fan of "extremely" strong cache.