Check out the new USENIX Web site. next up previous
Next: Setrange Up: Implementation Issues Previous: Locking

Write Detection

Transactional memory service must detect and log all writes to the persistent region, permitting changes to the database to be undone or redone atomically [gray]. We implemented three versions of write detection in Rhino to study their performance trade-offs under various workloads. They are setrange, page grain logging, and page diffing. Setrange requires applications to issue a trans_setrange system call before modifying the database. The other two versions rely on the MMU to detect writes and differ in detection precision. Page grain logging treats the whole page as modified when at least one byte on the page changes. Page diffing tries to compute the exact set of modifications by comparing old and new page contents.



 

Yasushi Saito
1998-04-27