Janus:可处理40千万并发连接的用户态TCP协议栈

郑超  汤琦  陆秋文  李杰  周舟  刘庆云 



C10M is an Internet scalability problem

regarding how to handle 10 million simultaneous TCP

connections on a web server. Although kernel- and user-

level approaches have been proposed to increase TCP

stack scalability on multicore systems, C10M is still an

open problem.

In this paper we present Janus, a high-performance

user-level TCP stack that focuses on serving massive

TCP connections. In addition to adopting well-known

techniques, our design (1) separates packet I/O cores

from TCP processing cores to achieve high scalability

and flexibility on a multicore system and (2) lets each

application run as a per-connection coroutine together

with a packet processing loop, which greatly improves

cache affinity and saves memory. We demonstrate that

Janus can accept 1.86 million new connections per

second while maintaining 40 million concurrent connec-

tions and significantly outperforms Linux and state-of-

the-art user-space network stacks in both throughput

and connection concurrency.




首页
团队介绍
发展历史
组织结构
MESA大事记
新闻中心
通知
组内动态
科研成果
专利
论文
项目
获奖
软著
人才培养
MESA毕业生
MESA在读生
MESA员工
招贤纳士
走进MESA
学长分享
招聘通知
招生宣传
知识库
文章
地址:北京市朝阳区华严北里甲22号楼五层 | 邮编:100029
邮箱:nelist@iie.ac.cn
京ICP备15019404号-1