Font Size: a A A

Study And Implementation Of Protocol Stack Parallelization Technology

Posted on:2015-07-21Degree:MasterType:Thesis
Country:ChinaCandidate:J WangFull Text:PDF
GTID:2308330464468930Subject:Computer system architecture
Abstract/Summary:PDF Full Text Request
In recent years, with the rapid development of Internet technology and the substantial increase in the number of Internet users, the amount of Internet data increases exponentially, which raises higher requirement to network protocol processing. In response to the high-speed large-scale network traffic, the traditional network protocol stack has been unable to meet the demand. It is an effective way to solve this problem to make a parallel improvement of the network stack. With the use of multi-core parallel programming technology, parallel protocol stack can effectively enhance the protocol processing performance.This thesis first analyzes the main factors restricting the performance of traditional network stack. The main performance overheads include interrupt handling, memory copy, protocol processing, system calls and so on. After the analysis of the current accelerated method of network stack, the connection-level user-space parallel protocol stack accelerated method is put forward. Implementing the protocol stack in user-space can eliminate system protocol processing overheads fundamentally. Connection-level parallel protocol stack can effectively eliminate the data synchronization overheads of different CPU cores as well as improve the multi-connection throughput.The connection-level user-space protocol stack consists of three parts: the underlying packet processing module, packet distribution and protocol processing module. Underlying packet processing module is mainly responsible for direct data path between the NIC card and the user space. And with the use of zero-copy technology, it reduces both the overheads of memory copy and of interrupt handling. By doing the hash algorithm of the packet four-tuple, Packet distribution distribute packets of the same connection to the same protocol processing thread for processing, eliminating the overhead of inter-thread synchronization overhead of the connection status. Protocol processing module is responsible for efficiently finish protocol processing tasks. With the use of priority queue, the event batch processing and other technology, protocol processing module optimize the protocol performance. What’s more, it provides API access to the upper applications. The results show that user-space parallel protocol stack can effectively improve protocol processing performance.
Keywords/Search Tags:Protocol Stack, Multi-core Processors, Parallelism, User-space
PDF Full Text Request
Related items