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

Use instruction-parallel crc32c implementation

    XMLWordPrintable

    Details

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

      Description

      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

        Attachments

          Activity

            People

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

              Dates

              Created:
              Updated:
              Resolved: