高性能用户态TCP协议栈关键技术研究

来源 :中国科学院大学 | 被引量 : 0次 | 上传用户:neoo
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
传输控制协议(TCP,Transport Control Protocol)是最重要的传输层协议之一,它提供端到端可靠的字节传输服务,被广泛的应用于互联网的各类服务中。然而,近年来,随着网络带宽和用户数量的不断增加,互联网访问量爆炸性增长。基于TCP的各类服务在面对大规模的并发用户访问时,服务器TCP协议栈的性能面临严峻的考验。  本文深入分析了操作系统内核TCP协议栈存在的性能瓶颈。包括内核TCP协议栈由于频繁的系统调用、网卡中断引入的大量上下文切换的开销;内核协议栈没有充分利用多核的并行性,多核扩展性较差;内核TCP协议栈的实现存在多次内存拷贝,影响协议栈的性能。  针对内核TCP协议栈存在的上述问题,本文设计并实现了高性能用户态TCP协议栈Janus。首先,本文在用户态实现TCP协议栈来避免系统调用的开销,并利用Intel DPDK轮询的方式与网卡通信,避免网卡中断带来的上下文切换开销。其次,为了提高协议栈的多核扩展性,本文采用线程的核绑定方式避免线程在不同CPU上调度,同时利用Run to Completion(RTC)并发架构设计了全程无锁的无共享模型,协议栈每个工作线程享有独立的数据,执行同样的任务,线程之间不需要通信。最后,本文设计了一种具有最少拷贝次数的缓存,将内存拷贝次数减少到一次,进一步提高了协议栈的性能。  本文最后对所实现的高性能用户态TCP协议栈Janus进行了性能测试。实验结果表明,Janus协议栈吞吐量比Linux协议栈高411%~857%,最大并发连接数与每秒新建连接数分别是Linux协议栈的40倍和65倍,并且Janus协议栈具有较高的多核扩展性。
其他文献
本文依据傅里光学理论,从全息存储最为常见的物理系统结构出发,借助描述信号的分析方法,建立了全息存储通道中输入输出信号的数学模型。其次根据通道的信号模型,设计与分析了二维
该论文首先对SCORM规范做了详细的研究,并重点分析、和探索规范中关于学习管理系统与学习内容之间的通信机制这一部分.在此基础上,对SCORM通信机制提出合理的改进设想并在实
Android提权漏洞能够帮助恶意程序非法提升权限,进而实施其它恶意行为,严重威胁了Android设备上的应用与数据安全。Android系统的开源特性导致基于Android定制的第三方操作系统
该文以辽宁省科技厅支持的项目"掌上电脑GY-901研制"和沈阳市科技局支持的项目"具有蓝牙功能的掌上电脑GY-901-B的研制"课题的设计与实现为背景,论述了GY-901-B系统结构和系
公安领域的信息系统建设经过了十余年的发展已经初具规模。随着信息化建设的不断深入,对信息系统发挥的作用提出了更高的要求,于是决策支持提上了议事日程,而传统的事务型处理系
本文主要介绍了在Windows环境下,利用Microsoft最新集成开发工具Visual C++.NET研制开发了应用于三维编织工艺设计的CAD系统。 首先在分析三维编织复合材料内部细观组织特性
随着多媒体技术、网络技术的迅速发展,图像信息的应用日益广泛,对规模越来越大的图像数据库、可视信息进行有效的管理成为迫切需要解决的问题,基于内容的图像检索是解决这一问题
计算机信息设备在工作时,会伴随产生电流传导以及辐射电磁波等,通过捕捉泄漏的能量,可以获取其中包含的内在信息。因此信息设备的能量泄漏除了对环境构成污染、产生电磁干扰外,还
计费帐务系统贮存着用户使用电信业务的各种费用和帐务信息,记录着电信企业主要收入信息,关系到电信企业的经营效果,因此计费帐务系统对电信企业而言其地位十分重要.今后的竞
随着多媒体技术和通信技术的蓬勃发展,音频视频数据在网络传输和交互日益广泛,特别是MPEG系列标准提出来以后,基于MPEG的应用更是一日千里,深入人心。本文将研究基于MPEG-4的4路