OSFMount RAMDrive - V3.3 - Speed improvements

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • David (PassMark)
    Administrator
    • Jan 2003
    • 11092

    #1

    OSFMount RAMDrive - V3.3 - Speed improvements

    OSFMount V3.3

    For the release of OSFMount V3.3 we did extensive work on the RAM Drive device driver (the physical disk emulation option).

    The changes have resulted in a significant improvement in RAM disk performance. 14% faster for random small reads and 100% for sequential writes (so up to double the performance).

    Changes included
    • Improvement to concurrency (threading) & device IO queue behavior.
    • A internal switch and additional code path was added to use either RtlCopyMemory or streaming stores (Non-Temporal memory copy), depending on the size of the transfer and if it is a read or write operation. Writes will now more often use streaming stores, which in theory use 30% less memory bandwidth as the Read For Ownership (RFO) step isn't required.
    • The maximum transfer size was increased in the driver to 2MB (previously large transfer were slit into many small transfers, increasing the latency)
    • Other minor changes to compiler settings and caching some internal variables between operations.
    Important note: These changes to NOT apply to the logical drive (volume) emulation option, which is a separate device driver. They only apply to the physical disk emulation option, which was always somewhat less performant than volume emulation. Physical disk emulation has more overhead compared to volume emulation, but is more flexible and works with more external tools.

    Benchmarks before change
    RAM drive settings: 4GB RAM Drive, GPT partition, NTFS file system, Physical disk emulation, Emulated drive type: Fixed HDD.
    Test hardware: Ryzen 5600X with old slow DDR4 3600MT/s, 32GB.
    Benchmarking app: PerformanceTest Advanced Disk test.
    OSFMount version: 3.2

    Note as well that the numbers below are MiB/second. To convert to MB/sec multiply by 1.049.

    Click image for larger version  Name:	image.png Views:	0 Size:	217.9 KB ID:	60664

    Benchmarks after changes
    All setting the same, except OSFMount V3.3 was now used.
    Click image for larger version  Name:	image.png Views:	0 Size:	214.4 KB ID:	60665
  • David (PassMark)
    Administrator
    • Jan 2003
    • 11092

    #2
    Comparison to a normal SSD

    Just for fun, we compared the RAM drive to a normal SSD.
    SSD: Western Digital Black SN850 500GB Gen4 (C: drive)
    (other hardware specs were as above)

    Depending on the test case, RAM drive (with slow DDR4) performance was between x2 to x20 faster than a mid range SSD (in 2026).

    Click image for larger version  Name:	image.png Views:	0 Size:	75.2 KB ID:	60667

    Comment

    • David (PassMark)
      Administrator
      • Jan 2003
      • 11092

      #3
      Comparison to volume emulation (with DDR4)

      With physical drive emulation the RAM drive appears as a physical storage device. In Windows you get a device like this, \\.\PhysicalDrive4. You can do things like partition it, read the low level blocks for backups, use custom file systems, use the drive with virtual machines, etc..

      With logical (volume) emulation your options are more limited. In the same way that a network or cloud drive might be. You get a drive letter, but not access to the low level interfaces.

      But logical emulation has less overhead, especially the reduced latency. The test below was on the same hardware as above, Ryzen 5600X with old slow DDR4 3600MT/s, 32GB. But logical emulation still outperforms a physical emulation significantly (but the gap has closed somewhat with the V3.3 changes).

      So use logical emulation in OSFMount, unless you need a physical storage device to be emulated.

      Click image for larger version  Name:	image.png Views:	0 Size:	75.2 KB ID:	60669

      Comment

      • David (PassMark)
        Administrator
        • Jan 2003
        • 11092

        #4
        Comparison with DDR5 RAM

        The results below are with DDR5 RAM.
        Peak speed was 24.6Gib/sec (or ~26GB/sec after conversion to MB/s)

        Click image for larger version

Name:	image.png
Views:	0
Size:	130.5 KB
ID:	60674

        Comment

        Working...