Design and Implementation of Efficient and Transparent Zero Copy Read - Jiwoong Park; Cheolgi Min; Heonyoung Yeom; Yongseok Son (IEEE Access)
In server consolidation environments, co-locating I/O-intensive and other workloads on a single physical machine often leads to significant performance degradation for memory-intensive workloads due to the memory copies required during copy-based I/O (buffered I/O) operations. Zero-copy I/O has been proposed as a solution to this problem by eliminating unnecessary memory copying between user space and kernel space, thereby improving performance. However, existing zero-copy I/O schemes fail to provide both transparent copy avoidance via standard read/write system calls and the benefits of kernel-level caching, which limits their general applicability. We introduce the z-READ framework, a solution that enables transparent zero-copy read I/O operations while leveraging kernel-level caching. It addresses two primary practical challenges: minimizing page remapping overhead by reducing the number of TLB shootdowns, and ensuring robust I/O performance under high copy-on-write fault conditions using adaptive hybrid I/O mode switching based on a performance loss model and historical I/O patterns. We implement a z-READ prototype on Linux Kernel 4.12.9 and conduct extensive evaluations. Our results demonstrate that, while traditional copy-based I/O configurations in co-located environments lead to an average performance slowdown of 84% for memory-intensive workloads, z-READ restricts this impact to only an 11% average slowdown.