Font Size: a A A

Research On Building High-performance Network Applications Based On Multicore Systems

Posted on:2015-03-29Degree:DoctorType:Dissertation
Country:ChinaCandidate:J C WangFull Text:PDF
GTID:1268330428984375Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
Nowadays it is getting more challenging for network applications to meet the procession requirement as lOGbps links are put into practice and the function of packet procession shifts quickly to higher layers within the network protocol stack.Traditionally, high-speed network devices mainly rely on the dedicated hardware (For example, ASIC and NPU) to provide massive computing power and high throughput. However this kind of solution suffers from poor programmability and can only handle simple packet processions. Driven by the procession requirement of diverse network applications, the tasks of network system is not confined to the traditional simple processions, that is, packet forwarding and filtering, but extended to a bunch of complex ones, including deep packet inspection, network anomaly detection, content-based traffic engineering and data encryption. All of the operations are quite heavy and thus demand the network system to supply more computing power as well as programmability.Since the emergence of dual-core processor, general purpose multi-core processors have exhibited a dramatic development. Currently the number of cores in general purpose multi-core processors has achieved or even exceeded that of NPU, while maintaining its unrivaled flexible procession capacity on high layer protocols. It has been a focus, both in academic and industry, to conduct researches on the general-purpose multi-core platform. However the general-purpose multi-core platform is not designed for network processing and there exist many obstacles which prevent this platform from serving the high-speed network system, such as inefficient mechanism of inter-core communication, less efficient network subsystem of the common OS, lack of experience in parallelizing network programs, and so on.This dissertation focuses on building high-performance network applications based on multicore systems. Upon building up a high-performance network intrusion detection system on Intel chips and Linux operation system, we studied in details the approach of parallelizing network applications, high performance core-to-core communication, lock-free data structures for global share variables and the way to convert sequential code into parallel.This dissertation makes the following major contributions:1) Based on the combination of pipleline parallel and task parallel, we present a novel parallel model that fits high-performance network applications well. This is the first network application that runs upon commodity multicore systems and can provide2Gbps bandwidth.2) For core-to-core communication which is the key in implementing a pipeline parallelism, we present a high-performance and efficient lock-free queue, B-Queue. B-Queue outperforms other competitors in performance and stability when used in real network applications.3) For sharing global data structures in parallized network applications, we present a novel approach by using customized data structures. The idea has been successfully realized in parallizing a TCP SYN flood attack detection system, and shed lights on putting lock-free data structures into practice.Overall, this dissertation contributes to builing up high performance network applications based on commodity multi-core systems by sharing our practice and results.
Keywords/Search Tags:Multicore processor, high-performance network application, parallel, lock-free CLF queue
PDF Full Text Request
Related items