Scouting the Path to a Million-Client Server
Scouting the Path to a Million-Client Server
复制标题
DOI:
10.1007/978-3-030-72582-2_20
复制
发表时间:
2021-04
期刊:
影响因子:
--
通讯作者:
Yimeng Zhao;Ahmed Saeed;M. Ammar;E. Zegura
中科院分区:
文献类型:
--
作者:
Yimeng Zhao;Ahmed Saeed;M. Ammar;E. Zegura
To keep up with demand, servers will scale up to handle hundreds of thousands of clients simultaneously. Much of the focus of the community has been on scaling servers in terms of aggregate traffic intensity (packets transmitted per second). However, bottlenecks caused by the increasing number of concurrent clients, resulting in a large number of concurrent flows, have received little attention. In this work, we focus on identifying such bottlenecks. In particular, we define two broad categories of problems; namely, admitting more packets into the network stack than can be handled efficiently, and increasing per-packet overhead within the stack. We show that these problems contribute to high CPU usage and network performance degradation in terms of aggregate throughput and RTT. Our measurement and analysis are performed in the context of the Linux networking stack, the most widely used publicly available networking stack. Further, we discuss the relevance of our findings to other network stacks. The goal of our work is to highlight considerations required in the design of future networking stacks to enable efficient handling of large numbers of clients and flows.