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

Share CPU overhead of checkpoints

    XMLWordPrintableJSON

Details

    • Task
    • Status: Closed
    • Major - P3
    • Resolution: Done
    • None
    • None
    • None

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

              backlog-server-execution Backlog - Storage Execution Team
              alexander.gorrod@mongodb.com Alexander Gorrod
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: