16:30
-
17:00
-
17:00
Day 1
The Invisible Payload: A Generic Zero-Copy Architecture
<p>For high-performance proxy services, moving data is the primary bottleneck. Whether it is an NFS-Ganesha server or a FUSE-based Ceph client, the application burns CPU cycles copying payloads between kernel and user space just to route traffic. While <code>splice()</code> exists, it imposes a rigid pipe-based architecture that is difficult to integrate into modern asynchronous event loops.</p>
<p>We propose a pure software zero-copy design that works with standard network stacks. In this model, a specialized kernel socket aggregates incoming network packets into a scatter-gather list. Instead of copying this data to the application, the kernel notifies userspace—potentially via <code>io_uring</code>—that a new data segment is ready and provides an opaque handle.</p>
<p>The application sees the headers to make logic decisions but acts only as a traffic controller for the payload. It uses the handle to forward the data to an egress socket or a driver like FUSE without ever touching the actual bytes. This talk will outline the design of this buffer-handling mechanism and demonstrate how it allows complex proxies like Ganesha and storage clients like Ceph to achieve true zero-copy throughput on standard hardware.</p>