Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-2737

Scrub dirty pages rather than evicting them

    • Type: Icon: Improvement Improvement
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • WT2.9.0, 3.2.10, 3.3.11
    • Affects Version/s: None
    • Component/s: None
    • None

      Various workloads do fast appends where reads trail behind by some amount.

      This is particularly true for oplog workloads where recent data is completely evicted from cache and has to be read by secondaries for replication (cf WT-2647).

      Instead, when eviction is operating in "dirty" mode (to meet the eviction_dirty_target), or when evicting a page than needs "urgent" eviction, we should "scrub" pages. That means clean page images should be written to disk, and the original in-memory pages should be replace with the clean page images, without the need to read them back in. Ordinary eviction can take care of paging out the clean pages if there is cache pressure and they are not needed again.

      This mode would also be helpful for keeping small allocations bounded in the cache, though we might want different page selection criteria.

            Assignee:
            keith.bostic@mongodb.com Keith Bostic (Inactive)
            Reporter:
            michael.cahill@mongodb.com Michael Cahill (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: