Abstract


Zero Copy


  • Zero copy means CPU does not perform the task of copying data from one memory area to another or in which unnecessary data copies are avoided
  • The above diagram shows data is copied directly from the OS buffer to the NIC Buffer via System Call (系统调用) like sendfile(2). This avoids copying data from the OS buffer to the Kafka buffer which is in the User Space, and avoids making another system call to copy the data from Kafka buffer to the socket buffer, then eventually the NIC buffer

CPU is free!

The direct copying of data is handled by Direct Memory Access (DMA), so the CPU isn’t involved and is free to work on other tasks!

References