DPDK Summit Prague May 8-9
Skip to main content

Jianzhang Peng: Creating DPERF and Joining the DPDK Community

By February 13, 2025User Stories

Introduction:

How does a developer go from a fascination with programming to creating a leading open source project that reshapes network performance testing? Jianzhang Peng’s story begins as a developer working on L4 load balancers, using DPDK to tackle the complex challenges of modern networking. He created DPERF, a high-performance load testing tool, to address gaps in existing solutions and share it with the open source community. His journey into open source and the DPDK ecosystem is one of passion, persistence, and innovation.

When asked about the beginning of his programming journey, Jianzhang reflects: “I started programming during my university days, about 20 years ago. Initially, it was a skill I developed through academic study, but it soon became a career that allowed me to solve real-world problems.” 

His career began at a startup, where he worked on both L4 and L7 load balancers before joining Baidu Cloud as a developer specializing in L4 load balancing. It was during his time at Baidu Cloud that Jianzhang encountered the limitations of commercial testing tools. “We were using a commercial tester, but the performance just wasn’t good enough,” he recalls. “I decided to write a testing tool myself, initially for personal use. Over time, I realized it could benefit others as well, so I decided to open source it.”

“We were using a commercial tester, but the performance just wasn’t good enough,” he recalls. “I decided to write a testing tool myself, initially for personal use. Over time, I realized it could benefit others as well, so I decided to open source it.

From Commercial Tools to Open Source

At Baidu Cloud, Jianzhang’s primary focus was on developing L4 load balancers. These systems manage huge amounts of traffic by distributing client requests across thousands of backend servers. “A lot of clients send requests to the L4 load balancer,” he explains, “which holds the public IP address, processes the incoming connections, and schedules them to the backend servers. The workload is immense, requiring highly optimized solutions.”

“A lot of clients send requests to the L4 load balancer, which holds the public IP address, processes the incoming connections, and schedules them to the backend servers. The workload is immense, requiring highly optimized solutions.”

While working on these load balancers, Jianzhang’s team relied on commercial testing tools to evaluate performance. However, these tools were not portable and struggled to meet the high-performance demands of L4 load balancers. Frustrated by these limitations, Jianzhang decided to create a solution tailored to his needs. The result was DPERF, a tool designed to provide high-performance, portable, and efficient testing specifically for L4 load balancers.

Joining the DPDK Community

Jianzhang’s introduction to DPDK came while working on Baidu Cloud’s load balancers, many of which were powered by DPDK. This open source framework enables developers to build fast, efficient packet processing applications. Recognizing the synergy between DPDK and his project, Jianzhang leveraged its capabilities to enhance DPERF’s performance. “We used DPDK for L4 load balancing,” he notes. “Its performance was a key factor in the success of our systems.”

“We used DPDK for L4 load balancing,” he notes. “Its performance was a key factor in the success of our systems.”

The Beginnings of DPERF

While working at Baidu, Jianzhang encountered significant challenges with the commercial testing tools available at the time. “The performance of these tools was not good enough,” he recalls. “They were designed as physical devices that had to be installed in a data center, which made them difficult to use in distributed or remote environments.” This limitation inspired Jianzhang to create a new solution.

“The performance of these tools was not good enough,” he recalls. “They were designed as physical devices that had to be installed in a data center, which made them difficult to use in distributed or remote environments.”

“I found that most open source testers were focused on Layer 7 (L7) testing, but the performance wasn’t sufficient for L4 load balancers,” he explains. “L4 load balancers process packets at an extremely fast rate, and I wanted to create a tool specifically optimized for this purpose. It had to be simple, efficient, and high-performing.”

The turning point came when Jianzhang participated in a hackathon at Baidu in 2021. “The hackathon provided the perfect opportunity to develop the first version of DPERF,” he shares. “Although I didn’t win, the experience gave me the passion and motivation to continue refining the tool.” Despite the initial lack of recognition, his colleagues and teammates appreciated the significance of his work. “They knew it was a great project, even if others didn’t realize it at the time,” Jianzhang reflects.

“The hackathon provided the perfect opportunity to develop the first version of DPERF,” he shares. “Although I didn’t win, the experience gave me the passion and motivation to continue refining the tool.”

Fueled by his hackathon experience, Jianzhang dedicated himself to creating a lightweight, high-performance tester tailored to L4 load balancers. This marked the beginning of DPERF, a tool that would soon make an impact in the DPDK community.

From Concept to Version One

The first version of DPERF was completed in just two weeks. Jianzhang describes this period as “crazy,” working tirelessly from early morning until midnight every day. “The initial codebase was less than 5,000 lines,” he shares. “I wrote it all myself, focusing on simplicity and performance.”

At the outset, Jianzhang envisioned importing the TCP stack from FreeBSD but quickly realized that the task was too large to complete within the hackathon’s timeframe. “Then, an idea struck me—to simplify the TCP stack,” he recalls. “I focused on identifying which parts could be streamlined while still maintaining the essential functionality.”

Then, an idea struck me—to simplify the TCP stack,” he recalls. “I focused on identifying which parts could be streamlined while still maintaining the essential functionality.”

Jianzhang credits this breakthrough to inspiration and his deep experience with L4 load balancing. “I designed the most important components of the architecture in just a few minutes,” he says. “From there, I refined and simplified every part of the TCP stack to meet the performance goals.”

The intensity of this period took a physical toll, as Jianzhang recalls experiencing repetitive strain injuries from non-stop coding. Despite this, he describes the process as exhilarating. “I was so passionate about the project that I enjoyed every moment of it,” he says. “It was incredible to see the tool take shape so quickly.”

Jianzhang’s approach was unique in that he didn’t follow a conventional development workflow. Instead of iterating through a structured design-test-refine process, he coded the entire tool in one go. “I just started and worked all the way through to the end,” he explains. “It was all about maintaining focus and momentum.”

 “I just started and worked all the way through to the end,” he explains. “It was all about maintaining focus and momentum.”

Optimizing and Refining DPERF

Following the initial release, Jianzhang continued to optimize DPERF. With over a decade of experience working with user-space TCP stacks, he applied his deep knowledge of L4 and L7 load balancers to improve performance further. “I knew how to integrate L2, L3, L4, and L7 into a simplified stack,” he explains. “This allowed me to create a highly efficient and scalable solution.”

The architecture of DPERF consists of a client-server model where each CPU independently handles packet transmission and reception. This design ensures that CPUs do not need to share state, significantly improving performance. “Each CPU sends and receives its own packets,” Jianzhang details. “This way, we eliminate unnecessary inter-CPU communication and maximize efficiency.”

A key innovation in DPERF is the caching mechanism for packet headers. “Instead of regenerating the entire packet for each test, we cache the payload and only modify the necessary header fields,” Jianzhang explains. “This drastically reduces processing overhead and enhances performance.”

“Instead of regenerating the entire packet for each test, we cache the payload and only modify the necessary header fields,”

Another critical optimization is the use of a pre-allocated socket table. “All sockets are created at the beginning,” he says. “This allows us to instantly locate sockets based on IP addresses and ports, ensuring rapid packet processing.”

Through continuous refinement and feedback from users, DPERF evolved into a highly reliable and high-performance tool, widely adopted in production environments.

Reflections on the DPDK Community and Open Source

While deeply involved in DPERF, Jianzhang’s contributions to the broader DPDK project have been limited due to his current role in a crypto trading company. “If I worked at a networking-focused company, I might engage more directly with the DPDK community,” he reflects. “But I still appreciate the support from my company, which allows me to continue maintaining DPERF as an open source project.”

When asked about the growth of DPDK adoption in Asia, Jianzhang acknowledges its increasing use, particularly among network device manufacturers and cloud service providers. “A lot of companies are using DPDK for firewalls, security applications, and cloud networking,” he says.

 “A lot of companies are using DPDK for firewalls, security applications, and cloud networking,” 

He also notes that some major technology firms—including TikTok (ByteDance), Baidu Cloud, and Alibaba Cloud—use DPERF internally, though these details are not publicly shared. “Many companies rely on open source software without publicly acknowledging it,” he says. “But knowing that DPERF is helping real-world deployments is what matters most to me.”

“But knowing that DPERF is helping real-world deployments is what matters most to me.”

Advice for Aspiring Open Source Developers

As a respected developer in the DPDK ecosystem, Jianzhang offers advice for those looking to follow in his footsteps. “Develop something truly useful,” he says. “If it helps you and others solve real-world problems, it has value.”

“Develop something truly useful,” he says. “If it helps you and others solve real-world problems, it has value.”

He also emphasizes the importance of persistence and passion. “Building an open source project isn’t easy,” he says. “But if you believe in what you’re creating, keep refining it, keep listening to feedback, and keep pushing forward.”

“Building an open source project isn’t easy,” he says. “But if you believe in what you’re creating, keep refining it, keep listening to feedback, and keep pushing forward.”

Jianzhang’s journey—from solving a personal technical challenge to developing a widely used open source tool—highlights the impact of individual contributions in the DPDK community. His work on DPERF has not only improved network performance testing but also demonstrated the power of innovation and collaboration.

Find out more about the latest release! 1.8.0