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

Buffering

Rhino stores database contents in memory-mapped files; in other words, the database is buffered on pages that are mapped directly onto an application's address space. Memory-mapped files thus avoid the double paging problem even if there is memory competition.

Efficient buffering must comply with the write ahead logging (WAL) rule, which dictates that whenever a page is to be evicted, its log records (undo records) must be flushed to the log device [gray, mcnamee], Rhino ensures WAL by implementing its own pageout procedure. Whenever the kernel chooses a page for purging, the Rhino pageout module is called to flush the log into the log device.



Yasushi Saito
1998-04-27