Optimize librbd for Lower CPU Cost and Higher Scalability
summary
Replaces single-buffer writes with rbd_aio_writev and implements zero copy in the librbd messenger, removing two memcpy hotspots so 1 MiB sequential writes show 48% less CPU, 46% lower latency and 85% higher IOPS in tests; adds multiple writeback threads and finer-grained rbd cache locking to improve scalability; introduces a client-side image cache (qcow2 file placed on compute nodes) to offload read pressure on the cluster; notes zero-copy cannot be used with read-back writeback cache and requires newer librbd APIs.
AI-written summary · about
