Font Size: a A A

Transplantation And Performance Optimization Of User-level Protocol Stack

Posted on:2015-03-18Degree:MasterType:Thesis
Country:ChinaCandidate:S J JiangFull Text:PDF
GTID:2268330428499876Subject:Computer system architecture
Abstract/Summary:PDF Full Text Request
As general-purpose multi-core processors have become mainstream, it is an another possible solution to realize high-speed network processing by using high-performance general-purpose computers except for special hardware-based accelerations. Implementing network systems with general-purpose multi-core platforms has a higher degree of flexibility and can take full advantage of abundant computing resources of multi-core processors to obtain high-speed processing capability, but needs to address the problem of inefficiency of network subsystem in general-purpose operating system. High-speed packet I/O engines bypassing the kernel have effectively solved the underlying packet input/output bottlenecks, and brought performance improvements for a number of network systems which process raw packet streams for special purpose. However, some network systems that require a complete protocol stack can not benefit from them, and it is urgent to develop an network protocol stack that implemented in user space efficiently. User-level protocol stack not only makes it convenient to customize protocols, but also helps to optimize performance for specific applications, making it especially suitable for dedicated high-speed network devices.Based on an open-source user-level protocol stack LWIP, combined with high-speed packet I/O engine PSIO which bypasses the kernel, this dissertation has transplanted and optimized LWIP to implement a high-performance user-level protocol stack on Linux, and paralleled it on multi-core processors. This work includes two parts:the transplantation and performance optimization of LWIP. In part of transplantation, based on the multi-threaded application model of LWIP and the structure of PSIO, we have designed and implemented the structure model of application systems using user-level protocol stack, improved the multi-threaded application model of LWIP, paralleled it based on the principles of core affinity, implemented the RX/TX module of LWIP by encapsulating API of PSIO, and implemented the operating system abstraction layer of LWIP based on POSIX threads library. The above work has achieved a complete user-level protocol stack, taking advantage of high-speed packet I/O engine and the hardware features of multi-core processors.In terms of performance optimization, we have effectively improved the efficiency of PCB lookup in LWIP by using hash tables, improved the efficiency of timer management by using two-level timing wheels, and improved the system’s parallelism by using fine-grained resource lock.This dissertation has tested and verified the validity of optimization techniques proposed in this dissertation by doing experiments on real hardware and software platform, analyzed and compared the performance of Web system based on user-level and kernel-level protocol stack respectively. Experimental results show that the use of user-level protocol stack can significantly improve the processing capability of the application systems.
Keywords/Search Tags:high-speed network system, user-level protocol stack, LWIPtransplantation, performance optimization
PDF Full Text Request
Related items