协议栈并行化技术的研究与实现
发布时间:2018-11-17 13:56
【摘要】:近年来,随着互联网技术的迅猛发展和互联网用户数量的大幅增加,网络数据量呈指数型增长,对网络协议处理能力提出更高的要求。在应对高速大规模网络流量时,诞生于单核处理器时代的传统内核协议栈,已经不能满足需求。利用多核处理器并行编程技术,对协议栈进行并行化改进是解决这一问题的有效途径,能够有效提升协议处理性能。本文首先分析了制约传统内核协议栈性能的主要因素,明确其性能开销主要集中于中断处理、内存拷贝、协议处理和系统调用等方面。在对当前存在的协议栈加速方案进行分析之后,提出了连接级用户态并行协议栈加速方案。在用户态实现协议栈可以从根本上消除系统调用等协议处理开销;以连接为基本的并行单位,能够有效降低CPU核之间的数据同步开销,提高多连接吞吐量。连接级用户态并行协议栈主要包括底层包处理模块、数据包分发器和协议处理模块三部分。底层包处理模块主要负责打通网卡到用户空间的直接数据通路,旁路内核协议栈,利用零拷贝技术降低了内存拷贝与中断处理开销;数据包分发器通过对数据包连接四元组进行哈希散列运算,将同一连接的数据包分发到相同协议处理线程中进行处理,消除了线程间对连接状态的同步开销;协议处理模块负责高效地完成协议处理任务,通过优先级队列、事件批处理等技术优化协议处理性能,并向上层应用程序提供访问接口。通过实验证明本文设计的连接级用户态并行协议栈能够有效提升协议处理性能。
[Abstract]:In recent years, with the rapid development of Internet technology and the large increase in the number of Internet users, the amount of network data increases exponentially, which puts forward higher requirements for the ability of network protocol processing. When dealing with high speed and large scale network traffic, the traditional kernel protocol stack born in the era of single core processor can no longer meet the demand. Using parallel programming technology of multi-core processors to improve the protocol stack parallelization is an effective way to solve this problem and can effectively improve the performance of protocol processing. This paper first analyzes the main factors that restrict the performance of the traditional kernel protocol stack, and clarifies that the performance overhead is mainly focused on interrupt processing, memory copy, protocol processing and system call. After analyzing the existing protocol stack acceleration scheme, a connection level user state parallel protocol stack acceleration scheme is proposed. The implementation of the protocol stack in the user state can fundamentally eliminate the processing overhead of the protocols such as system call, and taking the connection as the basic parallel unit can effectively reduce the data synchronization overhead between the CPU cores and improve the throughput of multiple connections. The connection level user state parallel protocol stack consists of three parts: the underlying packet processing module, the packet distributor and the protocol processing module. The underlying packet processing module is mainly responsible for opening the direct data path from the network card to the user space, bypassing the kernel protocol stack, and using zero-copy technology to reduce the memory copy and interrupt processing overhead. The packet distributor distributes the same connection data packet to the same protocol processing thread by hash operation on the packet connection quaternion, which eliminates the synchronization overhead of the connection state between the threads. Protocol processing module is responsible for efficiently completing protocol processing tasks, optimizing protocol processing performance through priority queue and event batch, and providing access interface to upper application programs. The experiments show that the parallel protocol stack designed in this paper can effectively improve the performance of the protocol.
【学位授予单位】:西安电子科技大学
【学位级别】:硕士
【学位授予年份】:2014
【分类号】:TP393.04
[Abstract]:In recent years, with the rapid development of Internet technology and the large increase in the number of Internet users, the amount of network data increases exponentially, which puts forward higher requirements for the ability of network protocol processing. When dealing with high speed and large scale network traffic, the traditional kernel protocol stack born in the era of single core processor can no longer meet the demand. Using parallel programming technology of multi-core processors to improve the protocol stack parallelization is an effective way to solve this problem and can effectively improve the performance of protocol processing. This paper first analyzes the main factors that restrict the performance of the traditional kernel protocol stack, and clarifies that the performance overhead is mainly focused on interrupt processing, memory copy, protocol processing and system call. After analyzing the existing protocol stack acceleration scheme, a connection level user state parallel protocol stack acceleration scheme is proposed. The implementation of the protocol stack in the user state can fundamentally eliminate the processing overhead of the protocols such as system call, and taking the connection as the basic parallel unit can effectively reduce the data synchronization overhead between the CPU cores and improve the throughput of multiple connections. The connection level user state parallel protocol stack consists of three parts: the underlying packet processing module, the packet distributor and the protocol processing module. The underlying packet processing module is mainly responsible for opening the direct data path from the network card to the user space, bypassing the kernel protocol stack, and using zero-copy technology to reduce the memory copy and interrupt processing overhead. The packet distributor distributes the same connection data packet to the same protocol processing thread by hash operation on the packet connection quaternion, which eliminates the synchronization overhead of the connection state between the threads. Protocol processing module is responsible for efficiently completing protocol processing tasks, optimizing protocol processing performance through priority queue and event batch, and providing access interface to upper application programs. The experiments show that the parallel protocol stack designed in this paper can effectively improve the performance of the protocol.
【学位授予单位】:西安电子科技大学
【学位级别】:硕士
【学位授予年份】:2014
【分类号】:TP393.04
【相似文献】
相关期刊论文 前10条
1 李威;殷志坚;;ZLIP TCP/IP协议栈在嵌入式系统中的应用[J];单片机与嵌入式系统应用;2013年12期
2 谢雪松,胡长阳;基于驱动程序的协议栈设计[J];电子工程师;2000年04期
3 郝京宇,黄建华,贾风根;协议栈的实现方法[J];计算机工程;2004年14期
4 何友鸣,郭凯红;协议栈内部非阻塞通信的一种实现策略[J];计算机系统应用;2005年08期
5 李伟;;基于协议栈的移动性技术对比分析[J];江苏通信技术;2006年06期
6 王海花;杨斌;;Linux TCP/IP协议栈的设计及实现特点[J];云南民族大学学报(自然科学版);2007年01期
7 宋丽华;张晓彤;王沁;郭艳飞;;嵌入式协议栈可重构性分析与设计实现[J];计算机科学;2007年09期
8 李庆江;;基于LwIP协议栈的嵌入式Web服务器的设计及实现[J];山东轻工业学院学报(自然科学版);2008年04期
9 孟浩;;一种通用嵌入式Web服务器精简协议栈的设计与实现[J];科技资讯;2008年34期
10 徐宏U,
本文编号:2338038
本文链接:https://www.wllwen.com/guanlilunwen/ydhl/2338038.html