Publication: Toward fast and scalable key-value stores based on user space TCP/IP stack
Issued Date
2015-11-18
Resource Type
Other identifier(s)
2-s2.0-84964034414
Rights
Mahidol University
Rights Holder(s)
SCOPUS
Bibliographic Citation
Asian Internet Engineering Conference, AINTEC 2015. (2015), 40-47
Suggested Citation
Supachai Thongprasit, Vasaka Visoottiviseth, Ryousei Takano Toward fast and scalable key-value stores based on user space TCP/IP stack. Asian Internet Engineering Conference, AINTEC 2015. (2015), 40-47. doi:10.1145/2837030.2837036 Retrieved from: https://repository.li.mahidol.ac.th/handle/20.500.14594/35792
Research Projects
Organizational Units
Authors
Journal Issue
Thesis
Title
Toward fast and scalable key-value stores based on user space TCP/IP stack
Other Contributor(s)
Abstract
© 2015 ACM. 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.