Font Size: a A A

Research And Realization Of High-performance I/O Acceleration On General Multi-core CPU

Posted on:2016-01-30Degree:MasterType:Thesis
Country:ChinaCandidate:D L XuFull Text:PDF
GTID:2348330536467746Subject:Software engineering
Abstract/Summary:PDF Full Text Request
With the development of technique of general multi-core,the multi-core processor supplies high throughout and complexity of packet processing in core network devices,which provides extreme flexibility,efficiency and generality for networks.The I/O acceleration for packet processing with the general multi-core has been widely studied recently.Some methods have been proposed to the I/O acceleration of packet processing for applications,e.g.netmap and Intel DPDK,which provide software development environments and programming APIs for users.Self-Described Buffer(SDB)is a hardware-based buffer management mechanism,which eliminates the cost of software buffer management and has a low cost for hardware buffer realizement.It supports the high-efficient I/O for the acceleration of packet processing.However,SDB lacks a software development environment for applications to utilize the efficient mechanism of hardware acceleration of packet processing.Our work focuses on the software development environment with the hardware offloading of buffer management.Based on the mechanism of SDB,we design and realize a Network Processing Development Kit(NPDK)for general multi-core.Contributions and the main work can be concluded as follows:(1).Firstly,we design the monolithic architecture of NPDK,which is a layered with kernel and user-space.We introduce packet forwarding module and dynamic programming APIs for the multi-core environment,and describe the procedure of packet processing in NPDK.(2).Secondly,we describe several critical techniques in the design and achievement of NPDK,including the polling-based virtual Ethernet device driver,the transparent transition between the structure o f SKB and SDB packet,the scalable virtual mapping for interfaces,the flexible programming mechanism in both kernel and user-space,address transition and zero-copy between kernel and user-space.(3).Thirdly,we develop NPDK in the platform of NetMagic-Pro.Comparing with off-the-shelf commodity NIC,the results show that NPDK behaves much better in forwarding performance.e.g.OpenFlow Switch,Linux Router,Linux Bridge.Especially for 64 byte packets,the raw forwarding with NPDK can achieve wire-speed,while the OpenFlow forwarding with NPDK can be up to 739 Mbps.To sum up,we investigate deeply in the I/O acceleration technology and the development environment for current general multi-core CPU.Based on the SDB hardware buffer management mechanism,we propose NPDK,which is a high performance network I/O acceleration software development environment for general multi-core CPU.NPDK features small network I/O overhead,low hardware cost for packet buffer,zero software cost for buffer management and supporting flexible packet forwarding dealing with a variety of programming.NPDK is simple,flexible and easy to develop.Our work has theoretic meaning and practical value to network packet processing acceleration for current general multi-core CPU.
Keywords/Search Tags:NPDK, SDB, Zero Interrupt, Zero Copy, Virtual Interface, Dynamic Packet Programming
PDF Full Text Request
Related items