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

Convert the os_posix layer to use mmap for I/O instead of system calls

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Minor - P4 Minor - P4
    • WT10.0.0, 4.4.0-rc0, 4.7.0
    • Affects Version/s: None
    • Component/s: None
    • Labels:

      Using system calls for I/O has substantial overhead compared to using mmap. If the file is cached in the OS buffer cache layer (or can be effectively pre-fetched during the test), mmap gives us roughly 2-4x greater throughput for sequential reads than system calls. These numbers were measured on babur. Different hardware might give us different performance differences.

      This project will create an experimental branch where the os_posix layer uses mmap for I/O instead of system calls.

      This may have two benefits:

      1. Existing I/O bound workloads may run faster.
      2. If we adopt fast storage devices, such as NVRAM, eliminating the overhead of system calls will be essential to realizing the performance potential of those devices.

            sasha.fedorova@mongodb.com Sasha Fedorova
            sasha.fedorova@mongodb.com Sasha Fedorova
            0 Vote for this issue
            6 Start watching this issue