TY - GEN
T1 - Toward fast and scalable key-value stores based on user space TCP/IP stack
AU - Thongprasit, Supachai
AU - Visoottiviseth, Vasaka
AU - Takano, Ryousei
N1 - Publisher Copyright:
© 2015 ACM.
PY - 2015/11/18
Y1 - 2015/11/18
N2 - Key-Value Stores (KVS) are wildly prevalent in Web systems and services, and it is well-known that KVS systems exchange huge amount of small messages. Such workload unveils a new performance issue for TCP/IP processing. Userspace networking such as Intel DPDK is a promising technology that addresses this issue by leveraging multi-core architecture and application specific processing without the intervention of the kernel. This paper shows the effects of user-space TCP/IP stack that works on top of Intel DPDK for high performance KVS systems. We have compared the performance of short message processing on an HTTP server and two KVS servers, Redis and memcached, between the Linux kernel TCP/IP stack and a user-space TCP stack over 10 Gigabit Ethernet link. We have used mTCP with Intel DPDK as a user-space TCP/IP stack. Our experimental results show that an mTCP-based KVS server with a single thread improves the performance by up to 35 %; the performance of an mTCP-based server increases as the number of threads increases and an mTCP server finally outperforms up to 5.5 times faster than a standard TCP server. Our observation leads to optimistic conclusions on the feasibility of a fast and scalable KVS server utilizing a user-space TCP/IP stack.
AB - Key-Value Stores (KVS) are wildly prevalent in Web systems and services, and it is well-known that KVS systems exchange huge amount of small messages. Such workload unveils a new performance issue for TCP/IP processing. Userspace networking such as Intel DPDK is a promising technology that addresses this issue by leveraging multi-core architecture and application specific processing without the intervention of the kernel. This paper shows the effects of user-space TCP/IP stack that works on top of Intel DPDK for high performance KVS systems. We have compared the performance of short message processing on an HTTP server and two KVS servers, Redis and memcached, between the Linux kernel TCP/IP stack and a user-space TCP stack over 10 Gigabit Ethernet link. We have used mTCP with Intel DPDK as a user-space TCP/IP stack. Our experimental results show that an mTCP-based KVS server with a single thread improves the performance by up to 35 %; the performance of an mTCP-based server increases as the number of threads increases and an mTCP server finally outperforms up to 5.5 times faster than a standard TCP server. Our observation leads to optimistic conclusions on the feasibility of a fast and scalable KVS server utilizing a user-space TCP/IP stack.
KW - Key-value stores
KW - Multi-core systems
KW - User-space TCP/IP stack
UR - https://www.scopus.com/pages/publications/84964034414
U2 - 10.1145/2837030.2837036
DO - 10.1145/2837030.2837036
M3 - Conference contribution
AN - SCOPUS:84964034414
T3 - Asian Internet Engineering Conference, AINTEC 2015
SP - 40
EP - 47
BT - Asian Internet Engineering Conference, AINTEC 2015
PB - Association for Computing Machinery, Inc
T2 - 11th Asian Internet Engineering Conference, AINTEC 2015
Y2 - 18 November 2015 through 20 November 2015
ER -