Check out the new USENIX Web site. next up previous
Next: Page Grain Logging Up: Write Detection Previous: Write Detection

Setrange

The setrange approach creates a memory object for each open database file. It is mapped to the application's address space when trans_mmap is called. Before modifying a region in the database, the application must issue the trans_setrange system call to notify the Rhino extension about the region. In response to the call, Rhino pins down all buffer pages in the region so they will not be paged out until the transaction ends. It then records the region in a per-transaction record. Upon commit, Rhino scans the per-transaction record and logs the contents of each region as redo records. Thus, it implements a no-steal, no-force policy [effelsberg84]. Update detection using setrange was first implemented in RVM [rvm].



Yasushi Saito
1998-04-27