An Alternative Fast Packet I/O with Native System Calls
An Alternative Fast Packet I/O with Native System Calls
复制标题
具有本机系统调用的替代快速数据包 I/O
DOI:
10.1145/3341188.3341193
复制
发表时间:
2019
期刊:
影响因子:
--
通讯作者:
Sekiya Yuji
中科院分区:
文献类型:
--
作者:
Nakamura Ryo;Kuga Yohei;Sekiya Yuji
This paper proposes an alternative high-speed packet I/O that enables user-space applications to receive and transmit packets at high speeds using the read() and write() system call families. Recent high-speed packet I/O frameworks have opened up new application designs optimized for network performance. However, they have two obstacles to implementing applications: restraints on programming models and limitations on NICs. These frameworks provide applications with APIs to access packets in kernel space without memory copies instead of well-generalized APIs, such as the socket API. Thus, the applications would be tightly coupled with the framework-specific APIs, and would be forced to adopt the APIs' programming models. Moreover, typical frameworks require specific NICs, which the frameworks support for their optimization. In contrast, the proposed packet I/O, called hpio, adapts native system calls for the packet I/O API and works with native device drivers. These advantages offer developers an easy way to implement various high-speed applications. Our measurement results demonstrate that hpio achieved over 40 Mpps with 60-byte packets, although it involves memory copies on system calls and no optimization of packet buffers.