Font Size: a A A

Design And Implementation Of A High Performance Load Balancer Based On DPDK

Posted on:2016-01-31Degree:MasterType:Thesis
Country:ChinaCandidate:B HuangFull Text:PDF
GTID:2348330488474500Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
With the development of Internet, the use of cloud computing technology is becoming increasingly widespread. Moreover, public cloud has became the first chosen platform on which many small enterprises deploy there business. Because of large user base, large number of tenants and heavy network traffic, it is difficult for the traditional load balancing system to adapt to the application in cloud computing environment. Concerning this issue, this thesis provides a design and implementation of load balancing system which runs on x86 platform and is fit for the requirement of load balancing in cloud computing. In comparison with the traditional load balancing system, this system has the advantages of high performance, strong configurability, strong expandability, easy deployment, and so on.First, this thesis discusses the challenges on load balancing which are brought by the development of cloud computing, and then gives a comparative analysis on existing implementations of load balancing systems and fast packet processing frameworks. Next, this thesis briefly introduces the technologies which are used in the load balancing system on x86 platforms, and gives an introduction about DPDK provided by Intel for fast packet processing in detail, covering its core components which are important to a load balancing system. Finally, this thesis gives the design and implementation of a load balancing system based on DPDK. According to the principle of plane separation, the whole system is divided into three parts, which are management plane, control plane and data plane.The management plane exposes all of the interfaces used to manage the system for users, and its duty is to provide the functions such as managing the lifecycle of the system and configuring load balancing rules. The control plane which has the ability to do health check on all of the real servers and maintain the load balancing rules is responsible for perceiving the change of the network environment. Meanwhile, the control plane also has to communicate with data plane to transmit the change of load balancing rules and the result of health check. As a core of this system, data plane is used to transmit packets flow through it. The transmission procedure includes the scheduling of real servers, NAT, session persistence, fragment reassembling and so on. For the purpose of high performance, the data plane avoids the protocol stack in Linux Kernel by using DPDK. It takes advantage of a poll mode driver to receive packets from NIC and then processes them in pipeline and at last send them to NIC. Furthermore, the data plane uses lock-free algorithms to improve the performance in dealing with packets.The result of tests shows that this system can dispatch data flow to the backend real server reasonably, and it has the advantages of easy deployment, strong configurability, strong processing capacity and so on. It is concluded that this load balancing system is suited to cloud computing environment.
Keywords/Search Tags:Load Balancing, Cloud Computing, DPDK, Management Plane, Control Plane, Data Plane
PDF Full Text Request
Related items