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

Share CPU overhead of checkpoints

    • Type: Icon: Task Task
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None

      In some workloads the bottleneck for creating a checkpoint can be in reconciliation and compression. Since the amount of time a checkpoint takes after it enters the write-leaves phase can affect application thread latencies, it would be nice if the CPU overhead could be shared.

      Perhaps if there are multiple eviction threads configured, we could create a queue of pages that need to be written when first starting the checkpoint. That queue is consumed by checkpoint/eviction threads (possibly application threads, if they would otherwise have been helping with eviction?).

      Then the CPU overhead of a checkpoint could be spread across multiple CPUs.

      This is wild speculation, I haven't through through the complexities of implementing such a scheme.

            Assignee:
            backlog-server-execution [DO NOT USE] Backlog - Storage Execution Team
            Reporter:
            alexander.gorrod@mongodb.com Alexander Gorrod
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: