Scalable Kernel TCP Design and Implementation for Short-Lived Connections

被引:32
|
作者
Lin, Xiaofeng [1 ]
Chen, Yu [2 ]
Li, Xiaodong [3 ]
Mao, Junjie [2 ]
He, Jiaquan [2 ]
Xu, Wei [2 ]
Shi, Yuanchun [2 ]
机构
[1] Sina Corp, ZHIHU Corp, Beijing, Peoples R China
[2] Tsinghua Univ, Dept Comp Sci & Technol, Beijing, Peoples R China
[3] Sina Corp, Beijing, Peoples R China
基金
国家高技术研究发展计划(863计划);
关键词
TCP/IP; multicore system; operating system;
D O I
10.1145/2954679.2872391
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
With the rapid growth of network bandwidth, increases in CPU cores on a single machine, and application API models demanding more short-lived connections, a scalable TCP stack is performance-critical. Although many clean-state designs have been proposed, production environments still call for a bottom-up parallel TCP stack design that is backward-compatible with existing applications. We present Fastsocket, a BSD Socket-compatible and scalable kernel socket design, which achieves table-level connection partition in TCP stack and guarantees connection locality for both passive and active connections. Fastsocket architecture is a ground up partition design, from NIC interrupts all the way up to applications, which naturally eliminates various lock contentions in the entire stack. Moreover, Fastsocket maintains the full functionality of the kernel TCP stack and BSD-socket-compatible API, and thus applications need no modifications. Our evaluations show that Fastsocket achieves a speedup of 20.4x on a 24-core machine under a workload of short-lived connections, outperforming the state-of-the-art Linux kernel TCP implementations. When scaling up to 24 CPU cores, Fastsocket increases the throughput of Nginx and HAProxy by 267% and 621% respectively compared with the base Linux kernel. We also demonstrate that Fastsocket can achieve scalability and preserve BSD socket API at the same time. Fastsocket is already deployed in the production environment of Sina WeiBo, serving 50 million daily active users and billions of requests per day.
引用
收藏
页码:339 / 352
页数:14
相关论文
共 50 条
  • [21] Passive Mobile Bandwidth Classification Using Short Lived TCP Connections
    Michelinakis, Foivos
    Kreitz, Gunnar
    Petrocco, Riccardo
    Zhang, Boxun
    Widmer, Joerg
    2015 8TH IFIP WIRELESS AND MOBILE NETWORKING CONFERENCE (WMNC), 2015, : 104 - 111
  • [22] Enhancing fairness for short-lived TCP flows in 802.11b WLANs
    Bottigliengo, Marco
    Casetti, Claudio
    Chiasserini, Carla-Fabiana
    Meo, Michela
    IEEE TRANSACTIONS ON VEHICULAR TECHNOLOGY, 2007, 56 (01) : 206 - 217
  • [23] Simulation studies on router buffer sizing for short-lived and pacing TCP flows
    Hasegawa, Go
    Tomioka, Takeshi
    Tada, Kentarou
    Murata, Masayuki
    COMPUTER COMMUNICATIONS, 2008, 31 (16) : 3789 - 3798
  • [24] SHORT-LIVED SUCCESS
    GRAHAM, D
    NEW SOCIETY, 1986, 77 (1236): : 5 - 6
  • [25] Short-lived benefits
    R. Kirschen
    British Dental Journal, 2013, 214 : 325 - 325
  • [26] Short-lived excitement
    Michael Eisenstein
    Nature Methods, 2015, 12 : 289 - 289
  • [27] Short-lived mosquitoes
    不详
    LANCET INFECTIOUS DISEASES, 2009, 9 (02): : 86 - 86
  • [28] Short-lived uncertainty?
    Joyce E. Penner
    Michael J. Prather
    Ivar S. A. Isaksen
    Jan S. Fuglestvedt
    Zbigniew Klimont
    David S. Stevenson
    Nature Geoscience, 2010, 3 : 587 - 588
  • [29] Short-lived uncertainty?
    Penner, Joyce E.
    Prather, Michael J.
    Isaksen, Ivar S. A.
    Fuglestvedt, Jan S.
    Klimont, Zbigniew
    Stevenson, David S.
    NATURE GEOSCIENCE, 2010, 3 (09) : 587 - 588
  • [30] Short-lived mysteries
    Schilling, G
    SCIENCE, 2001, 294 (5548) : 1817 - 1817