Zero-copy and zero-mapping asynchronous TCP send
Gil, Romer Andres
Cox, Alan L.
Master of Science thesis
Attempts to build zero-copy systems have generally fallen in one of two categories: those supporting zero-copy transparently, using existing (UNIX) interfaces, and those introducing new interfaces. Neither approach has seen widespread acceptance. This thesis explores two ideas. First, it considers an optimization to the operating system that allows it to omit data mappings while performing zero-copy sends through checksum offloading network interfaces. Second, it proposes the design of a zero-copy and zero-mapping TCP send within the framework of an existing asynchronous I/O API. The zero-copy send eliminates all copies of data presented to the kernel for output and takes advantage of zero-mapping to further improve performance. Results on uniprocessor systems show that the proposed asynchronous send outperforms its copying counterpart by up to 40%. Zero-mapping showed to improve performance by up to 3% in the best case.