OpenZFS Merges Support For Using Multiple Task Queues To Increase Performance
The OpenZFS file-system has merged support for using multiple task queues (TaskQs) to enhance performance for multi-core systems.
Up to now OpenZFS has used a single task queue (taskq) that could lead to throughput bottlenecks under heavy loads due to locking contention. By switching to using multiple task queues, they avoid the locking contention overhead. The number of task queues will scale dynamically based on the available CPUs in the system. This is currently wired up for OpenZFS on Linux systems and aims to have six threads per task queue.
The code is merged this week ahead of the next big update for this open-source ZFS file-system.
More details and the motivation for this multiple task queues work for OpenZFS can be found via this pull request that outlines the performance benefits and more. Kudos to iXsystems for working on this nice performance enhancement for OpenZFS.
Up to now OpenZFS has used a single task queue (taskq) that could lead to throughput bottlenecks under heavy loads due to locking contention. By switching to using multiple task queues, they avoid the locking contention overhead. The number of task queues will scale dynamically based on the available CPUs in the system. This is currently wired up for OpenZFS on Linux systems and aims to have six threads per task queue.
The code is merged this week ahead of the next big update for this open-source ZFS file-system.
More details and the motivation for this multiple task queues work for OpenZFS can be found via this pull request that outlines the performance benefits and more. Kudos to iXsystems for working on this nice performance enhancement for OpenZFS.
7 Comments