Font Size: a A A

Optimizing Parallel Protocol Stack Assgnments By Lock-free Algorithm

Posted on:2011-01-23Degree:MasterType:Thesis
Country:ChinaCandidate:X YangFull Text:PDF
GTID:2178330332988025Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
With the multi-core processor architecture development and popularization, more and more hardware platform uses the multi-core processor as processing unit. But the protocol stack, which is the core of network processing, did not reach the matching efficiency. According to the characteristics of multi-core architecture, this paper aims to reform the modules of protocol stack to improve the performance of networks.Parallel data structure is a hot spot in multi-core technology. Lock-free algorithm is famous as non-blocking and low overhead. After the introduction of protocol stack and multi-core programming, this paper expounds the theory and method of lock-free programming. Basing on the implementation of FreeBSD protocol stack, this paper optimizes the parallelization of connection level and data packet level by lock-free algorithm. In connection level parallelization, we use the lock-free algorithm to cancel the coupling of the head pointer and the tail pointer. This optimization lowers the cost of the queue operation, and reduces the cost of thread blocking. In data packet level parallelization, we improve the lock granularity of PCB-queue. Eliminate the lock operation in task queue of PCB by MS-queue algorithm. The simulation test indicates that, on well load balance situation, the performance of connection level parallelization is 7% higher than data packet level parallelization does. On the other hand, on load imbalance situation, data packet level parallelization is more flexible and effective. The optimization makes both parallels speed up ratios arrive at 3.6.
Keywords/Search Tags:TCP/IP protocol stack, Multi-core programming, Lock-free algorithm, Parallel optimization
PDF Full Text Request
Related items