DPDK Learning Notes <1> Learning Arrangements __ Blog

Source: Internet
Author: User

Learning arrangements

I'm going to take a few of these questions when I begin to go deep into the DPDK.

What DPDK is for.

What is the advantage of DPDK's existence. Weakness is what.

What DPDK do.

What the next job is.

what DPDK is for.

A preliminary understanding of the problem was made by looking at the relevant data, and DPDK (Data Plane Development kit) can see by name that this is a development kit that is based on the database plane. The main purpose is to achieve efficient and flexible data packet processing solutions. Its main body runs in the user state, rather than what we often call the kernel state (the TCP/IP transport protocol stack runs in the kernel state). It can also be understood that DPDK is bypassing the TCP/IP protocol stack to expose data directly to user space. DPDK's birth is also simpler to demonstrate that the IA processor can support high-performance packet processing.

The current mainstream data packet processing platform is divided into three categories: hardware accelerator, network processor, multi-core processor.

N Hardware accelerator: Use the hardware module to replace the software algorithm to make full use of the inherent fast characteristics of hardware, but there are some problems in hardware acceleration, that is, for different situations to develop different electronic circuit system, which obviously reduces the flexibility and scalability of this approach.

N Network Processor: Designed to be a programmable general-purpose processor for processing data packets. This technology adopts multi-kernel parallel structure, which can improve the performance of packet processing, but at present, it is necessary to solve the problem of the underlying abstraction of different architectures in the context of Sdn. And the high cost needs to be designed for specific areas, which is a big reason for limiting development.

N multi-core processors: DPDK is the performance of multi-core processors, coupled with a series of optimizations for large pages, polling, and CPU affinity that continually improve the performance of the AI architecture to enhance the forwarding and processing capabilities of the packets and drive the rapid development of NFV with the integration of Network load and virtualization.

In simple terms, DPDK is a suite of development kits that optimize and enhance the performance of packet processing by providing a variety of libraries for the 86 system architecture.

what are the advantages and disadvantages of DPDK?

As mentioned above, DPDK is a series of libraries to improve CPU processing of packets. In fact, DPDK use of technology is not particularly advanced, as long as there are three UiO (user space IO), large page, CPU affinity. These features themselves are provided by the Linux system itself, although encapsulated, but the basic technology is used. But DPDK also has some limitations, for example, in the development of a long period of development, code optimization difficulties and so on. And the current understanding is that the technology only supports the Linux operating system (personally understood), in the test at least two network card, so only one of the host network card is helpless, and then add a card bar.

what DPDK can do.

In fact, the answer to this question is relatively broad, DPDK only provides a data plane interface, users can fully use these interfaces to do two of application layer development. For example, the development of DPDK based on the application layer of the protocol stack, firewalls and so on. In addition, in load balancing, DNS and many other application layer services can be based on DPDK to do redesign and development.

then how to work.

The theory is definitely not, and since Intel offers such an excellent development kit, programming with this suite is certainly the next step. But the problem comes because there is no experience in this area, so the whole study is ready to be organized in the following way:

Further review and study the relevant techniques in DPDK.

Record the deployment and implementation of the suite experimentally.

Analyze the sample code and drill down into the source code (preferably to be able to perform partial sample writing and testing).

Prepare to design and develop your own applications.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.