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
期刊:
ArXiv
影响因子:
--
通讯作者:
Yimeng Zhao;Ahmed Saeed;M. Ammar;E. Zegura
Yimeng Zhao;Ahmed Saeed;M. Ammar;E. Zegura
中科院分区:
其他
文献类型:
--
作者:
Yimeng Zhao;Ahmed Saeed;M. Ammar;E. Zegura

文献摘要

相似文献

为了满足需求,服务器将扩展到同时处理数十万个客户端。社区的大部分焦点都集中在根据总流量强度(每秒传输的数据包)扩展服务器上。然而,由于并发客户端数量的不断增加,导致大量并发流而产生的瓶颈却很少受到关注。在这项工作中,我们专注于识别这些瓶颈。特别是,我们定义了两大类的问题,即,承认更多的数据包进入网络堆栈比可以有效地处理,并增加每个数据包的开销在堆栈内。我们发现,这些问题有助于高CPU使用率和网络性能下降方面的总吞吐量和RTT。我们的测量和分析是在Linux网络堆栈的上下文中进行的,这是最广泛使用的公开可用的网络堆栈。此外,我们还讨论了我们的研究结果与其他网络堆栈的相关性。我们工作的目标是强调未来网络堆栈设计中需要考虑的因素,以有效处理大量客户端和流。
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.