{"title":"Receive CPU Selection Framework: Cross-Layer Optimization In Network Stack to Improve Server Scalability","authors":"Jiaquan He, Yu Chen, Yong Zhang, Chunxiao Xing","doi":"10.1109/WISA.2015.71","DOIUrl":null,"url":null,"abstract":"This paper explores what normal web requests look like in the Linux kernel network stack's perspective, summarizes the available hardware and software optimization techniques, and then presents a method of improving web server applications' performance and scalability by introducing the Receive CPU Selection framework. This framework bridges the information gap between network stack layers and makes it possible to process a web request always within one CPU core from the NIC (network interface card) to the application process, which avoid cache misses and CPU core switches. Experiments show that with this optimization, server applications perform and scale better. Unlike previous optimization, server applications can gain noticeable performance improvement while their source codes remain unmodified, which is a significant requirement in the production environment.","PeriodicalId":198938,"journal":{"name":"2015 12th Web Information System and Application Conference (WISA)","volume":"29 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2015-09-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2015 12th Web Information System and Application Conference (WISA)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/WISA.2015.71","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
This paper explores what normal web requests look like in the Linux kernel network stack's perspective, summarizes the available hardware and software optimization techniques, and then presents a method of improving web server applications' performance and scalability by introducing the Receive CPU Selection framework. This framework bridges the information gap between network stack layers and makes it possible to process a web request always within one CPU core from the NIC (network interface card) to the application process, which avoid cache misses and CPU core switches. Experiments show that with this optimization, server applications perform and scale better. Unlike previous optimization, server applications can gain noticeable performance improvement while their source codes remain unmodified, which is a significant requirement in the production environment.
本文从Linux内核网络栈的角度探讨了正常的web请求是什么样子的,总结了现有的硬件和软件优化技术,然后提出了一种通过引入Receive CPU Selection框架来提高web服务器应用程序性能和可扩展性的方法。该框架弥合了网络堆栈层之间的信息鸿沟,使得从网卡(网络接口卡)到应用程序进程始终在一个CPU核心内处理web请求成为可能,从而避免了缓存丢失和CPU核心切换。实验表明,通过这种优化,服务器应用程序的性能和可伸缩性更好。与之前的优化不同,服务器应用程序可以在源代码保持不变的情况下获得显著的性能改进,这在生产环境中是一个重要的需求。