BLK-MQ Support For OpenZFS Pending As Latest Performance Optimization
A new pull request is pending for implementing multi-queue block (blk-mq) support within OpenZFS' Zvol code, which can lead to sizable performance benefits.
Tony Hutter opened up the pull request at the end of last week for blk-mq support. Utilizing blk-mq allows for queuing and submitting I/O requests to block devices simultaneously. With modern multi-core CPUs and speedy storage devices, BLK-MQ can lead to very real benefits.
This change for the Zvol block driver allows for multiple queues on different processor cores rather than having a single request queue, which in turn can provide dramatic improvements in multi-threaded I/O workloads. The benchmarks range from a 6% to 252% improvement. Some of the non-O_DIRECT tests show a rather large improvement but in general many of the tests show a 14~24% improvement in throughput.
More details for those interested in blk-mq support for the OpenZFS Zvol code can see the pull request for all of the details on this pending improvement.
Tony Hutter opened up the pull request at the end of last week for blk-mq support. Utilizing blk-mq allows for queuing and submitting I/O requests to block devices simultaneously. With modern multi-core CPUs and speedy storage devices, BLK-MQ can lead to very real benefits.
This change for the Zvol block driver allows for multiple queues on different processor cores rather than having a single request queue, which in turn can provide dramatic improvements in multi-threaded I/O workloads. The benchmarks range from a 6% to 252% improvement. Some of the non-O_DIRECT tests show a rather large improvement but in general many of the tests show a 14~24% improvement in throughput.
More details for those interested in blk-mq support for the OpenZFS Zvol code can see the pull request for all of the details on this pending improvement.
6 Comments