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

Use instruction-parallel crc32c implementation

    • Type: Icon: Improvement Improvement
    • Resolution: Won't Fix
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None

      WiredTiger currently uses a linear implementation of hardware-accelerated crc32c. Intel CPUs have 3 execution units capable of executing crc32c instructions at the same time so they recommend having 3 in flight to get the most throughput. Intel's benchmarks show a 2.6x speedup from this.

      Linux includes a BSD-licensed implementation of this algorithm written by Intel employees that we should consider using: https://github.com/torvalds/linux/blob/master/arch/x86/crypto/crc32c-pcl-intel-asm_64.S

            Assignee:
            brian.lane@mongodb.com Brian Lane
            Reporter:
            mathias@mongodb.com Mathias Stearn
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: