DPDK Summit North America presentations are online!
Skip to main content
Category

Community Spotlight

Kamalakshitha’s Journey from Noise-Canceling Algorithms to Open Source Networking

By Community Spotlight

In the fast-paced world of high-performance networking, DPDK (Data Plane Development Kit) stands as a powerful tool, and its success is due in no small part to the dedication of its community members. 

One such contributor is Kamalakshitha, a talented developer whose journey took her from studying electronics and communications in India to making a notable impact in open source software at Arm. 

This developer spotlight explores Kamalakshitha’s journey into tech, her entry into open source, and her contributions to the DPDK project.

From Academia to First Tech Role

Kamalakshitha’s journey in tech began with an academic foundation in Electronics and Communications, where she completed an integrated Bachelor’s and Master’s program in India. This program sparked her interest in technology, laying the groundwork for her career.

After graduation, she accepted a role as a software engineer at a startup in India. This company focused on developing noise cancellation algorithms, and her work centered on researching and implementing solutions that would filter background noise, allowing only the target sound to pass through. 

This experience gave her a strong foundation in software development, algorithm design, and research-based problem-solving—skills that would later contribute to her open source career.

Master’s in Computer Engineering and Exposure to DPDK

Seeking to deepen her technical expertise, Kamalakshitha pursued a Master’s in Computer Engineering at Texas A&M University, where her interests broadened toward network performance and user-space networking.

It was during this period that she secured an internship with Arm, a leading semiconductor company. In this role, she joined Arm’s Open Source Software team, where she was introduced to DPDK and VPP (Vector Packet Processor).

Her internship with Arm marked a pivotal moment in her career. Kamalakshitha delved into the performance analysis of VPP, by collecting and analyzing PMU(Performance monitoring unit) counters to dissect code hotspots and optimize their performance

This work familiarized her with the fundamentals of user-space networking and performance optimization, opening her eyes to DPDK’s potential to improve data processing speeds in network applications by bypassing the traditional kernel-based networking stack.

Full-Time Role at Arm and Entry into Open Source

After her internship, Kamalakshitha was interested in a full-time role with Arm’s Open Source Software team. Although no positions were available in that team at the time, she secured a role in a different team, where she focused on performance analysis for networking applications. 

This role concentrated on identifying performance bottlenecks without direct code contributions. However, her desire to contribute to the codebase led her to eventually rejoin the Open Source Software team when a position became available.

This transition was significant for Kamalakshitha, as it allowed her to fulfill her aspiration of not only identifying performance bottlenecks but also addressing them through code contributions. Joining the open-source team allowed her to actively engage with the DPDK community, sharing her insights and participating in open discussions.

Key Technical Contributions to DPDK

Kamalakshitha’s contributions to DPDK have been multifaceted. Here’s a look at some of the highlights of her work:

  1. First Patch – Driver Fix
    Her initial contribution to DPDK was a small but crucial driver fix. This patch taught her about the processes involved in open-source contributions and helped her become familiar with DPDK’s mailing list and review system.
  2. Zero Copy API
    Kamalakshitha volunteered to write test cases for DPDK’s Zero Copy API after spotting its development in the community mailing list. Her proactive approach and dedication to improvement led her to create test cases that enhanced the API’s robustness.
  3. Cache-Aware Mempool Project and Blog Post
    Recognizing that users could benefit from understanding the importance of buffer and cache line sizes for performance, Kamalakshitha undertook a project to create a blog post on cache-aware memory pooling. This piece provided an in-depth look at how certain buffer sizes and cache allocations could impact DPDK performance, transforming complex technical details into accessible knowledge for the community.
  4. Multi-Packet Receive Queue (MPRQ)
    Currently, Kamalakshitha is focused on improving the performance of DPDK’s multi-packet receive queue (MPRQ) on Arm systems. This project, centered on the Mellanox NIC, involves analyzing MPRQ configurations and their impact on packet processing, demonstrating her skill in both hardware-specific optimizations and cross-platform performance improvements.

Read Kamalakshitha’s blog Cache Awareness in DPDK Mempool for a detailed understanding of how buffer size and cache awareness influence packet processing in DPDK, including practical insights into buffer allocation strategies, cache utilization and performance benchmarks. 

Engaging with the DPDK Community

Kamalakshitha’s involvement in the DPDK community extends beyond code contributions. She first engaged through DPDK’s mailing list, where she reviewed patches and learned the nuances of community contribution. 

She credits her former manager, Honnappa Nagarahalli, with encouraging her to join Arm’s open source team, which further facilitated her entry into the DPDK community.

In addition to her formal role, Kamalakshitha has found that the open source environment allows her to connect with diverse experts across different companies. This experience has not only expanded her technical expertise but has also developed her soft skills, such as presenting technical ideas, discussing optimization methods, and building consensus on improvements with a global audience.

A Methodical Approach to Programming

Kamalakshitha’s approach to programming is systematic and meticulous. She prefers to analyze code performance and identify hotspots, using tools like perf to monitor program execution. Before implementing a fix, she visualizes potential solutions and maps out her strategy on paper. 

This analog approach allows her to organize her ideas clearly, giving her a structured plan for tackling complex coding tasks. She then methodically tests her solutions, adding only incremental changes to optimize performance.

DPDK’s Future in High-Speed Networking

Kamalakshitha is particularly excited about DPDK’s future role in emerging technologies. With the expansion of 5G networks and the rise of AI-driven applications, she sees DPDK as a foundational technology enabling high-speed data processing and low-latency communication. 

Whether it’s supporting 5G’s data transfer needs or facilitating communication between distributed AI nodes, DPDK provides a versatile, high-performance toolkit. 

She also envisions DPDK as a vital component in building data-plane stacks on top of smart NICs and other accelerators, thus broadening its applications in cutting-edge technology.

Championing Diversity in Open Source

As a woman in a traditionally male-dominated field, Kamalakshitha is aware of the challenges and opportunities that come with increasing diversity in tech. 

She notes that while progress has been made, there’s still work to be done in creating an inclusive environment. She encourages women to explore open source as a platform for professional growth, as it provides unique opportunities for visibility, learning, and collaboration.

Reflecting on her experiences, Kamalakshitha emphasizes the importance of community and role models in motivating women in tech. Seeing other female engineers in open source helps create a sense of belonging and inspires more women to participate and contribute.

Work-Life Balance and Personal Interests

Balancing a demanding career with personal life is essential for Kamalakshitha, especially after recently becoming a mother. She manages her responsibilities by setting clear priorities and taking regular breaks to recharge. 

Small rituals, like preparing healthy meals or going for short walks, help her unwind. The arrival of her child has further sharpened her time management skills, as she carefully balances work and family responsibilities.

Essential Tools and Advice for New Developers

For Kamalakshitha, perf is an indispensable tool, enabling her to perform in-depth performance analysis for her projects. On a personal level, her phone is an essential device, with applications like slack keeping her connected to her team and enabling her to join meetings on the go when necessary. (join the DPDK slack channel here)

One piece of career advice that has resonated with her is the importance of understanding the basics of any project before diving in. 

She believes that a clear grasp of the fundamentals not only accelerates learning but also enables more impactful contributions. She recommends that new developers have a quick chat with mentors to clarify the broader picture before delving into details.

Final Thoughts

Kamalakshitha’s journey from noise-canceling algorithms to open-source networking at Arm illustrates the power of perseverance, curiosity, and community. 

Through her contributions to DPDK, she is helping shape the future of high-performance networking. 

Her story is an inspiration for other developers, particularly women in tech, highlighting the benefits of open-source collaboration and the exciting opportunities it offers.

As she continues her journey in DPDK, Kamalakshitha looks forward to new projects, deeper community engagement, and expanding DPDK’s role in supporting next-generation networking technologies.

Start contributing to DPDK here.

Qian Xu’s Leadership in High-Performance Networking at NVIDIA

By Community Spotlight

Welcome to another edition of our DPDK Developer Spotlight, where we explore the careers and insights of key figures who have shaped the DPDK community. In this spotlight, we share the journey of Qian Xu, a Software Validation Manager at NVIDIA, who has been deeply involved in the DPDK from its early days.

Early Days and Introduction to Open Source  

Qian’s introduction to open source tech happened somewhat serendipitously. While working at Intel, she was assigned to the DPDK project, which Intel initiated in 2010 and released under a permissive open source license. The open source community for DPDK was established at dpdk.org in 2013 by 6WIND, and the project continued to grow until it was successfully transferred to the Linux Foundation in 2017.

In the project’s early days, Qian became fascinated by its community-driven aspects. The difference between corporate-led initiatives and the inclusive, collaborative nature of DPDK captivated her, leading her to fully engage with the community.

First Experiences in the Community

When Qian Xu first joined the DPDK community, her entry was marked by interactions that would shape her entire experience. Initially, she was primarily engaged in testing, not frequently submitting patches, which allowed her to observe the dynamics of the community from a unique vantage point. 

Her initial period with the project was guided by Thomas Monjalon, one of the original maintainers of DPDK, whose reputation was well-known among developers in Shanghai and beyond. Contrary to the daunting tales of his strictness, Qian found Thomas to be incredibly helpful and supportive, a disposition that greatly eased her integration into the community.

Thomas and the other maintainers’ approachability was crucial as Qian navigated the new environment. He was not only receptive to feedback but actively encouraged Qian to voice her concerns about continuous integration practices or any other aspects of the project that might require improvement. This open dialogue fostered a collaborative relationship, proving that the community was responsive and genuinely interested in evolving based on its members’ input.

Qian’s interactions weren’t limited to informal discussions; they extended into more structured community engagements. She actively participated in various forums, detailed email threads about release testing statuses, to the DPDK Summit APAC and other international meetings, often communicating through emails and occasionally through IRC for more immediate concerns. 

Technical Contributions

Qian Xu’s technical contributions have been vital to the growth of the DPDK community, especially in Continuous Integration (CI) processes, testing frameworks, and performance testing methodologies. Starting as a validation engineer, she played a key role in developing the DPDK Test Suite (DTS), one of her most notable achievements. The DTS has since become a cornerstone of the DPDK open source automation framework.

Development and Evolution of DTS

Under Qian’s guidance DTS marked a significant advancement in how DPDK could be tested and validated across different environments. Her leadership in this project involved designing the architecture of the test suite, ensuring it was robust and flexible enough to handle a variety of networking scenarios. This tool allowed for the automated testing of DPDK components, significantly reducing manual testing efforts and accelerating the developmental feedback loop.

Launching the First Performance Report

Qian was also instrumental in publishing the first DPDK performance report. This initiative set a precedent within the community, providing a transparent and replicable method to benchmark the performance of DPDK implementations. Her work laid the groundwork for subsequent reports, which have become crucial resources for developers seeking to understand and optimize DPDK performance.

Collaboration and Lab Development

Beyond software development, Qian played a pivotal role in establishing a physical testing lab for DPDK. This lab, set up in collaboration with the University of New Hampshire, provided a shared resource for developers around the world to conduct more sophisticated testing scenarios that could not be easily replicated locally. She facilitated remote debugging and testing procedures, which were critical during the integration and continuous delivery phases of the CI/CD pipeline.

DPDK into the Future

Qian envisions a dynamic and evolving future for DPDK, particularly as it integrates more deeply with AI, machine learning, 5G, and cloud computing. Over the past decade, DPDK has undergone transformative changes, significantly enhancing networking performance and becoming a fundamental component across various infrastructure domains

Integration with AI and Machine Learning 

As DPDK ventures into AI, Qian foresees the framework enhancing its capabilities to support AI operations, particularly in managing and optimizing data flow at incredible speeds. This integration aims to reduce latency in AI data processing, making real-time analytics and decision-making more efficient.

Evolving Continuous Integration (CI) Practices 

Qian also highlights the potential evolution of DPDK’s CI practices. Initially, the CI systems were less mature, but they have grown more robust over time, reducing false alarms and improving stability. With the infusion of AI into CI, Qian believes that testing processes can be further automated and refined, allowing for quicker identification and resolution of critical issues before they affect the main branches. This would involve less human intervention, making the testing process more efficient and less prone to error.

The Importance of a Diverse Community 

Qian’s experience as a woman in tech highlights the evolving diversity within the DPDK community and NVIDIA. She has witnessed a positive shift towards greater gender equality, supported by inclusive practices and the Linux Foundation’s collaborative approach. Her advice to aspiring female engineers is to engage deeply, contribute meaningfully, and leverage the supportive environment increasingly present in open source tech communities.

In essence, Qian Xu sees a positive trajectory for diversity in tech, especially in the DPDK Asia Pacific community, driven by systemic changes in the region and a community commitment to equality. Her experience underlines the importance of inclusive practices and the continuous effort needed to maintain and expand these gains within the tech industry.

Best Advice Ever Given

Qian often reflects on a piece of advice that has influenced her professional trajectory and personal growth. Throughout her career, from her early days in networking to her current role at NVIDIA, where her responsibilities are more focused on AI, Networking and DPDK integration, she has adhered to this guiding principle: focus deeply on your chosen domain. This advice, garnered from numerous interviews with industry leaders and her own mentors, encouraged her to dedicate herself fully to mastering the intricacies of her field.

The Growth of the APAC Community and Getting Involved

Qian emphasizes the importance of active participation in the DPDK community, especially in the APAC region. She encourages newcomers to engage in discussions, attend regional summits, and contribute code. The APAC region has seen increased participation, with diverse representation from countries like China, Japan, and India, contributing significantly to the global DPDK landscape.

Forging the Future at NVIDIA

Qian Xu envisions a future where DPDK (Data Plane Development Kit) continues to be a pivotal element in the evolution of networking and computational technologies, particularly as these fields intersect with AI and cloud computing. At NVIDIA, her focus on enhancing solution-level testing allows her to channel DPDK’s capabilities into broader technological advancements, even if her work no longer revolves directly around DPDK’s core components.

This is particularly relevant as NVIDIA pushes the boundaries of AI computing and network performance, areas where efficient data handling and processing are critical. 

As highlighted in NVIDIA’s recent initiatives, such as the development of AI-driven platforms and enhancements in GPU rendering, the underlying principles of high-speed data processing championed by DPDK are integral to these advancements.

By marrying DPDK’s network processing strengths with NVIDIA’s leadership in AI and GPU technology, Qian aims to cultivate a technology landscape that not only advances NVIDIA’s commercial goals but also propels the industry forward. 

Balancing Work and Life

Qian values family time and enjoys bicycling and traveling with her family to maintain a healthy work-life balance. These activities help her stay grounded and focused.

Indispensable Technology

AI and networking technologies are indispensable to Qian. She highlights AI advancements, like ChatGPT, as crucial in both her professional and personal life.

Closing Thoughts

Qian champions the contributions of female engineers in China, expressing gratitude for their increasing recognition. Her journey offers valuable lessons in cultural adaptability and proactive community engagement, inspiring both current and aspiring DPDK developers.

We hope Qian’s story motivates you to engage with the DPDK community and contribute to the future of networking and infrastructure technologies.

Get involved by joining the mailing lists here: https://www.dpdk.org/contribute/#Mailing-Lists

The Journey of Jerin Jacob: From Embedded Linux Engineer to DPDK Leadership

By Community Spotlight

Jerin Jacob, a Senior Director at Marvell, is a pivotal maintainer in the DPDK community. With 20 years of experience, Jerin’s career began with Linux kernel development, laying the groundwork for his extensive contributions to high-performance networking. After joining Cavium, later acquired by Marvell, Jerin was tasked with supporting an open-source data plane framework on the OCTEON processor family, marking the beginning of his journey with DPDK.

A Natural Progression into Software Development

Jerin’s journey into software development began in his early childhood. He recalls playing card games and needing to emulate dice rolls. Using a bit of ingenuity and low-level programming, he turned a calculator into a makeshift dice emulator. This early exposure to basic programming concepts sparked his interest in computers during the early 1990s.

After completing his school years, Jerin pursued a diploma in Electronics and Communication, followed by a degree in Computer Science Engineering. During his diploma, he had access to Windows 3.1, where he started programming in BASIC and System programming. These initial experiences laid a strong foundation for his future endeavors.

In his engineering studies, Jerin transitioned to Linux kernel work, a significant shift from his earlier experiences with Windows 95. His first job involved moving Linux to embedded systems, a novel concept at the time. He worked on Multimedia SoCs focusing on  Linux architecture/SoC porting and peripherals drivers for PCI, USB and Storage. This period, encompassing about ten years of full Linux development, significantly shaped his skills and expertise.

After a decade in Linux development, Jerin moved to Cavium, a company known for its innovation in the semiconductor industry who specialized in ARM-based and MIPS-based network, video, and security, This opportunity marked a new era in his career as he delved into user-space data plane work, which required a different mindset. Optimizing for performance became paramount, and he honed new skills in system-wide knowledge, Cache architecture, Virtualization, SMMU (System Memory Management Unit), and writing optimized drivers. 

This skill set of balancing high performance with the flexibility to accommodate various vendor’s in driver subsystem development, set the stage for his future contributions to DPDK, where he would learn to create APIs that maintained performance while enabling contributions from multiple vendors to support vendor neutral APIs in DPDK.

The Technical Transition from Cavium to Marvell

Initially, when Cavium was in the data plane market, they had a SKU called OCTEON, which was primarily a proprietary SDK (Software Development Kit) based on MIPS architecture. To attract more customers and leverage open source activities, they decided to contribute to DPDK. Jerin led the Cavium/Marvell transition in this effort, adding ARM64 architecture support and specific hardware drivers.

Most of this work was done during his time at Cavium, including the initial ARM64 port. When Cavium’s acquisition by Marvell began, the focus shifted to fully integrating open-source contributions, moving away from proprietary SDKs. Marvell was instrumental in initiating this shift. In particular, Jerin’s manager at the time, Prasun Kapoor (now Assistant Vice President of Core Software, Infrastructure Processors at Marvell Technology), was pivotal in facilitating Jerin’s contributions to the DPDK community and the broader open source ecosystem.

Under Prasun’s guidance, Jerin was able to focus on integrating ARM64 support and specific hardware drivers into DPDK, transitioning from proprietary SDKs to fully open source contributions. This strategic shift has been supported by Marvell’s commitment to open-source innovation, a direction strongly advocated by Prasun at the time.

This strategic move allowed the team to build open-source accelerator drivers and contribute significantly to the DPDK community. This transition also marked the expansion of Jerin’s team, growing from a single person to around 50 contributors, significantly enhancing their collaborative efforts in high-performance networking. For instance, in Marvell’s current SKUs (Stock Keeping Units), Jerin achieved the capability of handling 105 million packets per second per core, a testament to his focus on performance optimization.

The acquisition of Cavium by Marvell, completed in July 2018,  was a strategic move to create a leading semiconductor company focused on infrastructure solutions. This merger combined Marvell’s expertise in storage controllers, networking solutions, and high-performance wireless connectivity with Cavium’s strengths in network, video, and security processors.

The Journey into DPDK

Being one of the first contributors to the DPDK project was both challenging and rewarding for Jerin Jacob. The community played a significant role in this journey, constantly providing feedback and support. When Jerin began working on adding ARM64 support, his initial task was to eliminate dependencies on x86 in the build process. This effort involved adding a new layer for ARM64 support, benefiting greatly from the input and guidance of other maintainers at that time.

The early DPDK community was small, comprising a few dedicated individuals. Jerin recalls working alongside Bruce Richardson, Thomas Monjalon, Konstantin Ananyev, Stephen Hemminger, and Anatoly Burakov. While Anatoly primarily focused on the memory subsystem, Bruce and Stephen were deeply involved in various aspects of the project. Konstantin Ananyev, an x86 maintainer, was also instrumental in helping Jerin navigate the intricacies of integrating ARM64 support, providing valuable insights on maintaining cross-architecture compatibility.

Technical Contributions

Jerin started contributing to DPDK by tackling the significant challenge of removing x86 build dependencies and introducing ARM 64-bit (ARM64) support. This groundbreaking effort involved optimizing numerous libraries for ARM-specific instructions, making DPDK versatile and robust across different hardware platforms.

One of Jerin’s major achievements includes the development of the Event Device subsystem, which abstracts work scheduling aspects of hardware. This subsystem has been widely adopted by companies like Ericsson, Intel, NXP, and Marvell, demonstrating its broad applicability and impact.

Jerin also authored the Regular Expression (RegEx) device class and ML (Machine Learning), enabling advanced pattern matching  and machine learning capabilities within DPDK. Furthermore, he developed the Graph Library, which enables graph-based packet processing, and the high-performance Trace Library, essential for performance monitoring and debugging. Both libraries have significantly enhanced DPDK’s capabilities.

In addition to his technical contributions, Jerin has been a respected maintainer in the DPDK community. He assists with maintaining various subsystems and sub-trees, collaborates with other major contributors, and represents Marvell on the technical board.

Work-Life Balance

Jerin Jacob places a high value on maintaining a balanced work-life dynamic, even while managing the demands of a high-paced career. One of his favorite ways to unwind and recharge is through travel. He typically plans solo trips once or twice a year, offering him the opportunity to explore new places and experiences. Additionally, he ensures to take at least one family trip annually, cherishing the moments spent with his loved ones and creating lasting memories.

Apart from traveling, Jerin is committed to lifelong learning. He dedicates time to expanding his knowledge in various fields, including Advanced Machine Learning (AML) and other emerging technologies. This continuous learning enhances his skill set and keeps him abreast of the latest advancements in his field.

Advice to New Developers Entering the Community

For new developers entering the community, Jerin suggests diving into the existing bug lists, starting with minor bugs or major ones depending on your comfort level. Fixing bugs, no matter the size, is an excellent way to familiarize yourself with the codebase and understand the project’s intricacies.

Another crucial area to focus on is improving the build system. This aspect is common to all contributors and offers a manageable way to get involved without feeling overwhelmed. Start with lightweight tasks that you can handle comfortably. This approach helps you gain confidence and learn the workflows and standards of the community.

Once you feel comfortable and have gained some recognition within the community, gradually move on to contributing to subsystems and higher-level aspects of the project. These areas require more time and more profound knowledge but offer significant learning opportunities and a chance to make a substantial impact.

The Importance of DPDK Summit Events and In-Person Interactions

Jerin’s experience with DPDK events has been instrumental in shaping his contributions to the community. He has attended almost all the European Summits, which serve as vital platforms for maintainers and tech leaders to communicate and collaborate. These summits provide an opportunity for in-person discussions, which are invaluable for exchanging ideas and resolving issues more effectively than through mailing lists alone. 

Reflecting on his first summit, Jerin recalls the excitement and the significant difference it made to meet people in person after years of communication through mailing lists. The initial years, around a decade ago, did not feature many summits, or he was not in a position to travel. The shift from purely online interactions to face-to-face meetings brought a new level of understanding and collaboration. The feedback and discussions that occurred in person were far more proactive and productive, helping to build a sense of camaraderie and mutual understanding.

Meeting his peers in person allowed Jerin to understand their perspectives and work more seamlessly with them. He highlights that once you know people personally, it becomes easier to align proposals and projects to meet their expectations and avoid potential conflicts. This personal interaction helps in anticipating how someone might react to a new idea, enabling a more strategic approach to collaboration.

DPDK Maintainers as a Band of Musicians

If DPDK maintainers were a band, each member would play a unique and vital role, similar to musicians in an orchestra or a rock band. In this analogy, Jerin sees himself as the lyricist. The lyricist’s role is crucial as it involves creating the first stage of the song, defining how it needs to be structured, and setting the tone and direction for the rest of the band. This is akin to Jerin’s contributions to DPDK, where he defines high-level designs and APIs, laying the groundwork for others to build upon.

As a lyricist, Jerin focuses on the initial conceptualization and strategic planning of the project. He provides the foundational elements and guidelines that others follow to ensure the project progresses smoothly and coherently. Just as a song starts with lyrics that give it meaning and direction, Jerin’s work ensures that the project’s core components are well-defined and robust.

While Jerin primarily identifies with the role of the lyricist, he acknowledges that maintainers can take on multiple roles within the DPDK “band.” However, due to his current responsibilities, he is more focused on the planning and strategic aspects rather than individual contributions. He likens this to writing the lyrics rather than performing on stage.

Technology Jerin Could Not Live Without

For Jerin, mobile devices and computers are indispensable. These technologies are not only integral to his daily life but also form the backbone of his professional work. Mobile devices, in particular, offer the flexibility and connectivity that keep him engaged and productive, no matter where he is. They enable seamless communication, instant access to information, and the ability to manage various tasks on the go.

Computers, on the other hand, are essential for more intensive computing tasks, development work, and large-scale projects. They provide the robust capabilities needed for coding, debugging, and running complex simulations. Jerin relies heavily on these tools to execute his work efficiently and effectively.

In addition to these fundamental technologies, Jerin is continuously learning and adapting to new advancements. He is particularly interested in Artificial Intelligence and Machine Learning (AI/ML). By exploring how AI/ML can be leveraged, Jerin aims to offload mundane and repetitive tasks, allowing people to focus on more critical and creative aspects of their work. This approach not only enhances productivity but also fosters innovation.

The Future of DPDK and the Impact of AI

Jerin envisions a future where many routine and repetitive tasks in software development are offloaded to artificial intelligence (AI). This includes writing unit test cases, ensuring proper git commits, checking the sanity of code, and refactoring. AI’s role will be to handle these mundane yet essential tasks, allowing developers to focus on innovative and complex aspects of development.

He believes that once the initial ideas and high-level design are defined, AI can significantly accelerate the development process. While AI can take over tasks that follow set patterns and rules, such as generating unit test cases or identifying code regressions, the core implementation and performance-critical coding will still require human expertise. This is because the nuanced understanding of performance optimization is something that AI cannot fully replicate yet.

By automating repetitive tasks, AI can reduce the workload for maintainers. For instance, when a new patch is submitted, AI can review the code for basic sanity checks, allowing human maintainers to concentrate on more complex reviews and implementation details. This synergy between AI and human developers can lead to more efficient and faster development cycles. Jerin sees AI playing a crucial role in integrating new technologies and developing new libraries.

The Convergence of AI and Emerging Technologies in DPDK’s Future

Jerin envisions a transformative future for the Data Plane Development Kit (DPDK) project, driven by the convergence of AI, IoT, decentralized infrastructure, cloud computing, 5G, and other emerging technologies. This integration will significantly influence the direction and development of DPDK.

Expanding Beyond Drivers

Initially, DPDK focused primarily on driver development. However, the project’s scope is now expanding to include protocol aspects. For instance, Marvell has recently upstreamed support for security protocols like PDCP and TLS. The DPDK graph library is setting the stage for further protocol support, which will extend the project’s capabilities beyond simple driver APIs to include hardware-accelerated protocol development.

Workload-Driven Accelerators

In the past, general-purpose CPUs were sufficient for most tasks. However, the landscape is shifting towards workload-driven accelerators. Today’s approach involves understanding specific workloads and optimizing for them, rather than developing generic solutions. This top-down methodology means that companies, particularly hyperscalers like Google, are designing chips tailored to their specific workloads. This shift from general-purpose to workload-optimized accelerators is a key trend that DPDK is aligning with.

Offloading to Accelerators

Jerin sees a future where various tasks are offloaded to specialized accelerators. Starting from packet processing, the evolution includes offloading complete security, AI, and machine learning workloads. This shift involves using data processing units (DPUs) or other specialized processors (XPUs) to handle intensive tasks, allowing the main host CPU to focus on orchestrating these processes rather than executing them.

The Role of AI in Development

AI will play a crucial role in automating many routine tasks within DPDK development, such as writing unit test cases, ensuring proper git commits, checking code sanity, and refactoring. By offloading these repetitive tasks to AI, developers can focus on more complex and innovative aspects of development. While AI will handle the repetitive and structured tasks, human developers will continue to drive the implementation of new ideas and performance-critical code.

Future Integration and Development

As AI and blockchain technologies become more integrated, DPDK will adapt to support these advancements. The project will continue to evolve, focusing on enabling seamless integration and efficient execution of these emerging technologies within the DPDK framework. This includes optimizing accelerators for specific workloads, ensuring that the host CPU delegates rather than performs intensive tasks.

Overall, Jerin Jacob’s vision for DPDK involves a continuous evolution towards supporting more complex protocols and workloads, driven by the convergence of AI and other emerging technologies. This will enable DPDK to remain at the forefront of technological innovation and performance optimization.

Reflections on Open Source and DPDK

Jerin has been a significant contributor to both the Linux kernel and the DPDK (Data Plane Development Kit) projects. Reflecting on his journey, he shares his thoughts on the impact of open-source contributions to his career and personal growth.

Jerin finds great enjoyment in contributing to open source projects. This joy stems not only from the act of coding, but also from engaging with the community. “You can learn a lot from the community and how other people think about a given technical problem in different ways,” he explains. The collaborative nature of open source fosters an environment where diverse perspectives come together, leading to innovative solutions and continuous learning.

Contributing to DPDK has played a crucial role in Jerin’s personal and career development. He acknowledges the platform as a stepping stone in his corporate journey. “It’s helped me in a lot of personal growth as well,” Jerin states, emphasizing how open source contributions have bolstered his professional advancement. By proving his skills and consistently contributing to high-impact projects, Jerin has been able to climb the corporate ladder effectively.

Jerin likens his experience with DPDK to building a staircase. Each contribution is a stone laid down, providing a foundation for the next. “You prove something, and it’s like one stepping stone. With that, we put another stone, and you can just build on that,” he says. This iterative process of contributing, learning, and growing has been a rewarding and empowering journey for Jerin.

In summary, Jerin’s reflections highlight the impact that contributing to open source projects like DPDK can have on an individual’s career and personal development. It is a testament to the value of open-source communities in fostering growth, collaboration, and innovation.

Learn more about how you can contribute here: https://www.dpdk.org/contribute/

Tracing Ciara Power’s Path: A Leap from Mathematics to DPDK Expertise at Intel

By Community Spotlight

Welcome to the latest installment of our DPDK Developer Spotlight series, where we share the unique journeys and insights of those who contribute to the DPDK community. This edition highlights Ciara Power, a former Technical Lead and Network Software Engineer at Intel. We explore her path into open source development from a math enthusiast at school to a software developer shaping the future of DPDK.

Early Life and Education

A Mathematical Foundation

Ciara’s pathway into the world of computer science and programming was not straightforward. Initially grounded in mathematics, her educational journey began in an environment where technical subjects were rarely emphasized, particularly at an all-girls school in Ireland, that did not prioritize technological advancements. Despite this, Ciara’s inherent love for math led her to pursue it at the university level. 

Discovering Programming

While pursuing her studies at the University of Limerick, Ciara encountered a pivotal moment—a chance to explore programming through an introductory taster course subject. This opportunity resonated with a piece of advice she had received from her mother since childhood: she was destined to be a programmer. 

Transitioning to Computer Science 

A Turning Point

This insight from her mother proved to be more than mere encouragement; it was a recognition of Ciara’s innate abilities and potential for finding joy and fulfillment in a realm she had yet to explore. Indeed, this was a powerful testament to the foresight and intuition that mothers often have about their children’s hidden talents like they say, ‘Mother knows best’’.

After finishing the programming subject course, Ciara reached a turning point. The practical aspects of problem solving appealed to her more than theoretical mathematics. Driven by this preference, and after several challenging weeks, she decided to exit the mathematics course. That September, she took a notable step by starting a computer science course at the Waterford Institute of Technology.

The first year of her computer science studies confirmed her decision; she thrived in this environment, where she could apply logical thinking to tangible problems. The satisfaction of crafting solutions and the joy of creative exploration grounded her. 

Balancing Hobbies and Career

A Blend of Technical and Artistic Talents

Ciara’s enthusiasm for her studies crossed over into other areas of her life, enriching her creative pursuits. From painting and drawing to woodworking and knitting, she embraced a wide array of hobbies, each providing a different outlet for her creative expression. This blend of technical skill and artistic talent became a defining feature of her approach to both work and leisure. 

Ciara’s engagement with her various hobbies provides a crucial balance and unique perspective that enhances her programming work: the ability to visualize the broader picture before delving into details. Just as a painter steps back to view the whole canvas, Ciara applies a similar approach in her coding practices. This allows her to assess a project from various angles. 

Her method of drawing diagrams on a whiteboard is emblematic of her systematic approach to problem-solving, juxtaposed with her ability to incubate ideas and contemplate them from different perspectives. 

This blend of logic and creativity marks her programming style, making her adept at tackling complex problems with innovative solutions. Her ability to think outside the box and not get overly absorbed in minutiae gives her an edge, making her work both methodical and inspired.

Moreover, these pursuits offer Ciara a form of catharsis, a way to decompress and process information subconsciously, which in turn feeds into her professional work. 

Her dual approach—systematic yet open to creative leaps—illustrates how her hobbies not only complement but actively enhance her capabilities as a programmer. This synergy between her personal interests and professional skills exemplifies how diverse experiences can contribute to professional excellence in technology and programming.

Professional Development at Intel

Internship and Real-World Experience

Ciara’s transition from academia to the practical, fast-paced world of software development provided her with an invaluable perspective that she would carry throughout her career. Her internship with the DPDK team at Intel in Shannon, Ireland, was not just about gaining professional experience; it was a deep dive into the collaborative and iterative processes of real-world technology development.

Challenges and Adaption

During her eight-month placement, Ciara engaged directly with complex projects that were far more advanced than her college assignments. This experience was crucial for her; it wasn’t just about coding but also about understanding how large-scale software development projects function, how teams interact, and how products evolve from a concept to a market-ready entity.

One significant challenge was her initial foray into the open source community through DPDK. Coming from an academic background where open source wasn’t a focus, the learning curve was steep. 

She had to quickly adapt to the open source ethos of sharing, collaborative open development, and the transparent critique of code. Learning to navigate and contribute to discussions on mailing lists, where she interacted with developers of varying seniority from around the world, was initially daunting.

As a newcomer, she was initially anxious about how she might be received, given the prevalent challenges women often face in tech environments. However, her experience was overwhelmingly positive. From the onset, she was treated with the same respect and consideration as any seasoned developer. This egalitarian approach was not only affirming but also empowering.

To ingratiate herself within the DPDK community, Ciara adopted a humble approach to learning and contributing. She began by actively listening and understanding the community dynamics before making her contributions. 

Reviewing others’ code and providing constructive feedback became a routine that not only helped her understand the nuances of professional coding but also built her reputation as a thoughtful and capable developer. This proactive engagement helped her transition from an intern at Intel to a respected member of the community.

Projects and Technical Accomplishments

Ciara’s technical journey with DPDK deepened significantly, largely due to the interactions and guidance from OG maintainers Bruce Richardson (Network Software Engineer at Intel Corporation) and Akhil Goyal (Principal Engineer at Marvell Semiconductor). 

Her first major project was contributing to the development of the Telemetry Library V1 a library for retrieving information and statistics about various other DPDK libraries through socket client connections. This not only honed her technical skills but also gave her a solid understanding of handling community feedback for large patchsets, with plenty of discussion around how to implement the library.

In terms of her main contributions, Ciara refactored the unit test framework, adding support for nested testsuites. This included reworking the cryptodev autotests to make use of nested testsuites and ensure all testcases are counted individually in test summaries. This, in turn, improved the testing experience for the user, making it easier to see which testcases are passing/failing [0].

She was also Involved in various improvements for Intel IPsec-mb SW PMDs, including combining PMDs to use common shared code [1], adding multiprocess support [2], and adding Scatter-Gather List support [3] [3.1]

Ciara also worked on removing Make build system from DPDK. Meson had been introduced a few releases prior, so it was time to completely remove the old build system, with help from many others. A huge task, it touched on nearly every document, library and driver. This involved significant collaboration in the community, with plenty of reviews and testing taking place by other developers and maintainers. [3].

She Added an API and commandline argument to set the max SIMD bitwidth for EAL. Previously, a number of components in DPDK had optional AVX-512 or other vector paths which can be selected at runtime by each component using its own decision mechanism. This work added a single setting to control what code paths are used. This can be used to enable some non-default code paths e.g. ones using AVX-512, but also to limit the code paths to certain vector widths, or

to scalar code only, which is useful for testing. [4]

Additionally Ciara Improved the cryptodev library Asymmetric session usage, by hiding the structure in an internal header, and using a single mempool rather than using pointers to private data elsewhere [4]. She also Enabled numerous QAT devices and algorithms, including most recently, new GEN3 and GEN5 devices [5].

Bug Fixing

Ciara’s proactive engagement led her to work on fixing various bugs. By utilizing bug detection tools like Address Sanitiser and Coverity, she debugged and resolved a wide range of bugs. This process was not just about resolving immediate issues; it also helped her build a deeper understanding of better programming practices that could be applied in future feature development.  

By contributing significant patches and actively participating in community discussions, Ciara received encouragement instead of the skepticism or condescension often found in other communities. This supportive atmosphere helped her quickly find her footing and gain confidence in her abilities. Her contributions were evaluated solely on their merit, reflecting the DPDK community’s commitment to contributor diversity.

Community Engagement and Recognition

Active participation and support 

Throughout her journey, the open source community, particularly her interactions on the DPDK forums and mailing lists, played a crucial role. Under the guidance of Bruce Richardson, Pablo de Lara Guarch and Akhil Goyal, Ciara not only contributed significantly but also gained insights that helped shape her technical and strategic acumen. 

This exposure allowed her to understand diverse perspectives and collaborative methods essential for open development and open governance across technical communities.

Major Accomplishments

Reflecting on her significant milestones with DPDK, Ciara highlights two major accomplishments. During her internship at Intel, she contributed to the development of the Telemetry Library V1, a library for retrieving information and statistics about various other DPDK libraries through socket client connections. 

Upon returning as a graduate, she was entrusted with the complete rewrite of this library, leading to the development of Telemetry V2. This task demonstrated her progression as a developer, showcasing her ability to significantly improve and build upon her earlier work within a relatively short span of time. 

Her involvement in developing this library was a significant learning journey, filled with complex challenges and intensive problem-solving that required her to engage deeply with the technology and the DPDK community. 

The Telemetry library project stood out not only for its technical demands but also for the collaborative effort it required. Ciara navigated through numerous technical discussions, debates, and feedback loops, integrating community insights to implement and enhance the robustness of the code. 

Another notable highlight was her handling of large patch sets. These weren’t monumental in features but were substantial in scope and impact, involving critical enhancements and fixes that improved DPDK’s functionality and reliability.

Valued advice and the Importance of Code Reviews

One of the most impactful pieces of advice Ciara received from the DPDK community centered on the importance of code reviews. Embracing this practice not only honed her technical skills but also cultivated a mindset geared towards continuous improvement and collaboration. 

This advice underscored the necessity of meticulously reviewing her own code as well as that of others, which facilitated a deeper understanding of various coding approaches and strategies.

Ciara learned that taking a step back to scrutinize every detail of her work from a broader design perspective was crucial. This approach allowed her to explore alternative solutions and methodologies that might not be immediately apparent. 

Engaging in thorough reviews helped her identify potential issues before they escalated, enhancing the overall quality and reliability of her contributions.

Personal Achievement and Awards

Ciara has been recognized multiple times for her contributions at Intel, underscoring her influence and impact within the tech giant. One of her notable accolades includes the Intel Women’s Achievement Award 2021, a testament to her substantial and measurable impact on Intel’s business, profitability, and reputation. 

This award is particularly significant as it celebrates individuals who not only excel in their roles but also drive meaningful change across the organization.

In addition to this, Ciara has received multiple Intel Recognition Awards. These commendations highlight her exceptional development work and her proactive approach to risk management, which has helped prevent bottlenecks in community projects. 

Her efforts around major patch sets during this period were instrumental in her winning these awards. They were not just routine contributions but were pivotal in enhancing Intel’s technological frameworks. 

DPDK Events and the Importance of In-Person Collaboration

Ciara’s experiences at DPDK events provide an illustration of her integration and active participation in the community. After completing her internship at Intel, Ciara attended the DPDK Summit as a participant, not as a speaker. 

This event was particularly significant as it occurred shortly after she returned to college in September, marking her first engagement with the community outside of a professional capacity.

During the summit, Ciara experienced the surreal yet affirming moment of connecting faces to the names of those she had interacted only via the mailing list —individuals who had reviewed her work and those whose code she had studied. 

The recognition she received from other community members, often unexpectedly knowing who she was, played a crucial role in her sense of belonging and validation within the technical community. This recognition, while surprising to her, underscored the impact of her contributions and her growing reputation within the community.

Life Beyond Work 

Balancing life with Nature and Adventure

Ciara’s life outside her technical career is focused on enhancing her well-being and providing a counterbalance to her intensive work in tech. 

A dedicated hiker, she has participated in significant events like a charity hike for Cystic Fibrosis Ireland with colleague Pable De Lara Guarch, where a group of hikers scaled Mt. Kilimanjaro, in Tanzania, (5,895 meters) to watch Siobhan Brady set a new world record performing her Celtic harp at the summit! 

This particular hike, dubbed the “highest harp concert,” is one of life’s highlights she fondly recalls. You can watch the incredible performance here

Ciara finds a unique kind of solace close to nature, living just minutes from the coast in the south of Ireland. Her daily walks on the beach, and in the summer, swimming in the ocean are more than just routine; they are a fundamental aspect of her life, crucial for her mental and physical well-being. 

These moments by the sea allow her to unwind, reflect, and regain balance, proving essential for maintaining her productivity and creativity in her professional life.

As she prepares to transition from Intel, with plans to move to Sydney, Australia, Ciara looks forward to exploring new professional landscapes and personal adventures. This move not only signifies a change in her career but also underscores her willingness to embrace new experiences and challenges, whether in tech or in her personal pursuits. 

The future holds unknowns, but Ciara approaches it with enthusiasm and excitement about the possibilities that lie ahead in both her professional and personal life.

To learn more about the benefits of contributing to DPDK read on here

First Patch Submission to the DPDK Open-Source Project

By Community Spotlight

Let me first explain why I decided to submit a patch…

Recently, I was working on a research project that utilized the DPDK framework. During the process, I realized that the framework’s driver did not implement all the functionalities specified by the network card. Since one particular functionality, the “launch time feature”, was essential for my work, I spent some time modifying the driver for my project to use this feature.

After that, I decided to invest some time integrating this patch into the DPDK framework, basically for two main reasons. First, I believe this feature is essential for real-time community to use DPDK, and I have seen several discussions online about it, suggesting that its implementation could benefit many others. Secondly, I had never contributed to a large open-source project before and saw this as an opportunity to learn the basic process of submitting patches.

1. Preparation

Before submitting the patch, it’s crucial to understand the project’s development process. DPDK is an open-source project currently managed by Linux Foundation. The development of DPDK happens on the mailing list (like Linux kernel) instead of on GitHub. This means we can’t simply use git commit to submit patches, then followed by a pull request. Instead, patches are submitted via email to maintainers. Therefore, some extra preparatory steps are needed before submission, including:

  • Registering and subscribing to the DPDK mailing list
  • Configuring email to use git-send-email
  • Identifying the maintainers and the subtree of the module you are modifying

Mailing List: The process of registering and subscribing to the mailing list is relatively straightforward and can be done by following the steps in the DPDK official documentation. I won’t repeat that here. I also recommend registering for Patchwork to easily track the code review process. From my experience, it’s best to disable receiving all the emails from the mailing list or set the digest mode to only receive one summary per day, otherwise the daily generated patches will mix with the regular email and overflow the mailbox…

img

Email Configuration: Setting up the email is also quite simple. I used a Google email, and configured it following this article to link git send-email. I didn’t encounter any issues during the process.

Finding Maintainers: DPDK is a large, modular open-source project, designed for collaborative work. Each module has a designated maintainer, and some even have specific maintenance branches. Therefore, it’s necessary to find the maintainer and the branch of the module you want to modify, and submit the patch to them for integration into the mainline repository. An important point to note is to use the script devtools/get-maintainer.sh in the repository to automatically find the maintainers to Cc, just like this:

git send-email –to dev@dpdk.org –cc-cmd devtools/get-maintainer.sh

The first time, I attempted to find maintainer information in the list provided in the documentation and manually added it to the CC field. However, I later discovered that this information was outdated, which led me to inadvertently send the patch to a previous maintainer…

As for understanding the project’s coding style, I suggest not spending too much time studying the official style guide. This is because you can ensure the consistency of the coding style with the automated review scripts mentioned later.

2. Writing the Patch

The process of writing the patch is essentially modifying the original code to fix bug or add new functionalities, and after formatting it with diff, these modifications become the patch. An important suggestion here is to disable the auto-formatting feature of your IDE. Many projects have unique code formatting styles, and auto-formatting might mess up the format with Tab/Space changes everywhere.

2.1 Testing

Testing is divided into three main parts:

  • Compilation and functional testing
  • Code style check
  • ABI Policy

Compilation and Functional Testing: Since my modifications were minor, I only compiled it on my local machine. The specific process is largely similar to installing DPDK, except the first step involves using meson setup –wipe build to clear the previous build directory. For functional testing, I recommend testing all DPDK built-in apps that might be affected, such as dpdk-testpmd.

Code Style Check: This part can be done following the Section 5.7 Checking the Patches in the DPDK official tutorial. It’s important to note that you need to download checkpatch.pl yourself (You can get the source code by Google searching, just a simple script). After generating codespell-dpdk.txt as instructed, run devtools/checkpatches.sh patch_name.patch in the same directory. The output log shows the results, where both errors and warnings need to be corrected, but some checks may not need changes if they are unreasonable.

ABI Policy: ABI Policy refers to the requirements for variable and function naming. It is recommended to self-check against the official ABI Guideline. But personally, I feel if no new file is created, there shouldn’t be many issues, just compare with the surrounding code to get a sense of the appropriate naming conventions.

2.2 Submitting the Patch

After testing, it is good to generate the patch. Before doing so, it’s recommended to double-check your git username and email, using git config –global user.name & git config –global user.email.

My method of generating patches might not be the best practice. I initially used git add & git commit for a simple commit, then git commit –amend to modify the commit message. Finally, I generated the patch with git format-patch -1 -o ~/patch/. Here -1 indicates the patch-set includes the last few commits, but I only needed to generate one patch.

Before submission, check if the patch contains the Signed-off-by: xxxxx <xxxxxx@xxx> line. Mine wasn’t generated automatically, so I added it manually.

Finally, the patch can be submitted via git send-email, typically –to the mailing list dev@dpdk.org, and –cc to maintainers.

git send-email \

–to dev@dpdk.org \

–cc-cmd devtools/get-maintainer.sh \

./patch_name.patch

Before sending, it is best to first send it to yourself to check if the email format is correct with git send-email –to=[your email] patch_name.patch.

If you have registered for Patchwork, you’ll receive the patch submission notification after a few hours.

3. Code Review

Compared to smaller open-source projects, code review in DPDK is quite stringent, involving both automated reviews from the system and manual reviews from maintainers.

The results of the automated review are received via email within a few hours of submission. Fortunately, despite this being my first patch submission, no errors were detected with beginner luck.

img

In the subsequent manual review phase, maintainers pose questions about the content of the patch, which feels similar to the rebuttal phase of a research paper submission process. The main issues raised in my case focused on:

  • Explaining the functionality of different lines of code
  • Justifying the chosen solution
  • Providing test results

Responding directly to these questions is usually sufficient. A few minor details to note:

  1. When replying, use the –in-reply-to parameter to specify which email you are responding to.

git send-email \

–in-reply-to=xxxxxxxx.namprd11.prod.outlook.com \

–to=xxxx@xxx.com \

–cc=xxxx@xxx.com \

–subject=”RE: [PATCH] net/e1000: support launchtime feature” \

./reply.txt

  1. Pay attention to formatting. Indicate references to previous emails by adding >.
  2. In the subject, add RE: before the title of the patch. Remember, no matter how many times you reply, there should only be one RE:, not a chain like RE: RE: RE:

4. Lessons

Although the process seemed somewhat complicated to me initially, the friendly atmosphere made it smoother. From submission to the final review, it took me over ten days, which included three replies and one code update. Along the way, I encountered some technical issues and uncertainties. However, these were resolved with the help of the maintainers and other developers, who provided guidance and support throughout the process.

The biggest takeaway for me from this experience is that contributing to a large open-source project is not as daunting as it might seem. It’s often the intricate rules and the stereotypes about open-source communities that dissuade people from getting involved. However, I found that the community was welcoming, and the process, while detailed, was manageable when you are willing to spend some time on it.

Although contributing to the open-source community is not my focus, attempting to submit a patch was definitely a valuable experience.

You can follow Chuanyu on Medium here

And get started with DPDK here

DPDK Dev Spotlight: Sean Cummings Makes his Mark in the DPDK Ecosystem

By Community Spotlight

In the dynamic world of software development, where innovation and skill merge to push the boundaries of technology, Sean Cummings stands as a bright example as a new contributor to DPDK. Currently working as a Student Assistant in Scientific Networking at ESnet, Sean is carving his path in the field of high-performance networking, a journey that started at Illinois Tech under the mentorship of Professor Sultana.

Early Beginnings

Sean’s foray into software development began with his academic pursuits in computer science, where he quickly found himself immersed in the complex world of computer networking. His academic endeavors led him to work on a groundbreaking 100Gbps SIIT-DC stateless NAT64 translator project utilizing P4 on FPGAs.

DPDK: A Game-Changer

The project revealed the limitations of P4 in handling complex packets, which steered Sean towards DPDK. Embracing DPDK as an offload solution, Sean quickly recognized its potential as a vital tool in his development work. His experience with DPDK has been transformative, making him an advocate for its use in high-performance networking.

Contributing to the DPDK Community

Sean’s involvement with DPDK is not just as a user but as an active contributor. He underscores the importance of contributing to communities like DPDK, as it fosters growth and innovation. Sean is particularly excited about the potential applications of DPDK in developing security-related applications.

Getting Involved

For those interested in DPDK, Sean recommends starting with installing it and experimenting with sample applications. This hands-on approach allows one to appreciate the capabilities of DPDK and potentially lead to more complex, personalized projects.

Problem Solving

One of the most impactful pieces of advice that has shaped Sean’s journey is the emphasis on understanding the problem before embarking on the coding journey. This approach underlines the fact that the essence of programming lies in problem-solving, a philosophy that has steered Sean through his developmental endeavors.

Indispensable Tools

As a programmer and researcher, Sean emphasizes the importance of tools like vim (one of the most popular text editors among Linux users) in his daily work. For him, vim is not just a tool but an integral part of his coding and research process.

Conclusion 

Sean represents the new generation of developers who are not just proficient in their craft but are also deeply involved in contributing to and growing with their communities. His journey with DPDK is a testament to his dedication and passion for high-performance networking.

Looking to get started with DPDK? Visit the quick start guide here

Dev Spotlight: Navigating the Evolution of DPDK: A Spotlight on Akhil Goyal

By Community Spotlight

Introduction

In the dynamic and ever-evolving world of the Data Plane Development Kit (DPDK), developers and contributors play a pivotal role in shaping its future. One such influential figure is Akhil Goyal, whose journey through the realms of DPDK has not only contributed to its growth but also exemplifies the spirit of open-source collaboration. This spotlight delves into his role as a crypto tree maintainer, exploring his contributions, challenges, and visions for the future.

Early Beginnings

Akhil’s adventure with DPDK began in 2016, a pivotal moment that marked his transition from working on networking and radio frequency device drivers at Freescale (now NXP) to diving into the world of high-performance packet processing. His initial foray into DPDK centered around crypto drivers, laying the groundwork for his future contributions.

In early 2021, he embarked on a new professional chapter with Marvell, delving into areas that involved both networking and crypto processing like Inline IPsec processing, along with IP reassembly techniques. Akhil’s expertise further extended to introducing inline MACsec processing, showcasing his ability to navigate the complex landscape of network security. His contributions also included the development of TLS record processing, underscoring his role in enhancing Marvell’s capabilities in secure data communication.

Contributions to DPDK

Akhil’s contributions to DPDK are both substantial and transformative. Early in his DPDK journey, he focused on bringing the NXP DPAA crypto drivers into the DPDK ecosystem. His efforts were instrumental in introducing a new library to DPDK, which, for the first time, included protocol support alongside crypto functionalities. He also reviewed other crypto subsystem patches in the community, paving the way to becoming a maintainer of the crypto sub-tree.

This inclusion of a security library was a significant milestone, enabling DPDK to support various crypto offloads for security protocols like IPSec, PDCP, MACsec, and, more recently, TLS. Akhil’s work has significantly broadened DPDK’s capabilities, making it a more versatile and powerful tool for developers.

Challenges and Overcoming Them

Like any journey of innovation and development, Akhil’s path was not without its challenges. One of the most significant hurdles was the introduction of the security library, which initially faced performance issues. However, through dedication and technical acumen, Akhil and his team were able to dramatically enhance the performance numbers, exemplifying the impact of hardware offloading on protocol processing. This achievement not only showcased his problem-solving skills but also his commitment to advancing DPDK’s performance and capabilities.

Vision for the Future

Looking ahead, Akhil sees a fusion of technologies as the future of DPDK. With the convergence of AI, machine learning, and enhanced security protocols, he envisions a landscape where DPDK continues to play a crucial role in the networking domain. His anticipation of machine learning libraries being integrated into DPDK highlights a forward-thinking approach to evolving network technologies and their applications.

As networking speeds increase, he foresees an increasing need to protect the confidentiality and authenticity of networking data. This will pave the way for offloading more security protocols to hardware to achieve line-rate processing of secured data. As a result, programming hardware is becoming increasingly complex.

Collaborations and Community

Akhil’s journey is also a testament to the power of community and collaboration in open-source projects. His interactions with other community members, such as Pablo de Lara from Intel and Thomas Monjalon from NVIDIA, have been pivotal in his growth and contributions to DPDK. These experiences helped him transition from being a contributor to DPDK to a maintainer of the crypto subsystem. These collaborations underline the essence of open-source projects, where sharing knowledge and working together propels the technology forward.

Advice to New Contributors

For those looking to contribute to DPDK, Akhil emphasizes the importance of understanding the project’s core, starting with resources like the DPDK Summit videos and the mailing list. He encourages new contributors to engage with the community, understand the coding guidelines, and start contributing, highlighting the transition from kernel space to user space as a potential area for significant contributions. He also recommends that people review patches in their areas of interest on the mailing list and post comments. This will help improve their understanding and also help the community grow.

Personal Insights

Beyond his professional accomplishments, Akhil offers valuable insights into achieving a work-life balance, particularly in the era of remote work that became prevalent during the COVID-19 pandemic. His adeptness at managing professional duties while making time for family activities, such as playing cricket with his son, reveals the personal dimension of navigating a challenging career as a developer. This insight underscores the importance of maintaining personal connections and well-being amidst the demands of the tech industry.

Conclusion

Akhil’s developer spotlight shines a light on the journey of a dedicated individual who has contributed significantly to DPDK’s growth and evolution. His story is one of dedication, collaboration, and forward-thinking, driving innovations that extend DPDK’s capabilities and applications. As DPDK continues to evolve, contributors like Akhil play a critical role in shaping its direction, ensuring it remains at the forefront of networking technology advancements.

Check out Akhil’s presentation on rte_security: support for inline MACsec at latest DPDK Summit here.

Dev Spotlight: The Journey from Music to Tech with Anatoly Burakov

By Community Spotlight

In this edition of our developer spotlight, we had the privilege of speaking with Anatoly Burakov, a foundational and key contributor to the DPDK (Data Plane Development Kit). This spotlight explores Anatoly’s unique journey into software development, his role at Intel, and his significant contributions to the DPDK community.

From Music to Technology: A Unique Path

Anatoly Burakov’s journey to software development was anything but conventional. Initially aiming for a career as a pianist, Anatoly found a new passion in coding, turning a hobby into a professional career. His first foray into programming was not in a conventional classroom but rather through a PlayStation 2, showcasing early signs of his innovative and problem-solving mindset. This unconventional start was a prelude to a fascinating career in technology.

His transition from music to technology marked a pivotal shift in his life. He pursued computer networking at a university in the UK, setting the stage for his eventual role at Intel. This transition underscores a key theme in Anatoly’s story: the ability to adapt and find new passions.

Intel and the World of DPDK

Joining Intel marked a significant chapter in Anatoly’s professional life. Starting out, he wasn’t a seasoned software developer but possessed enough coding prowess to navigate through various challenges. This period was crucial in honing his skills and understanding the nuances of professional software development.

At Intel, Anatoly began working with the DPDK, a toolkit that was relatively obscure at the time. His initial tasks involved unit testing and bug fixing, which he found particularly fulfilling. He describes the joy that comes from identifying and resolving issues, a testament to his deep understanding of systems and problem-solving abilities.

Community Engagement and Collaboration

Anatoly’s engagement with the DPDK community gained momentum with the release of version 1.7. This was a notable milestone, as it marked the first time Intel integrated its changes into the public tree created by Thomas Monjalon. This integration was more than just a technical accomplishment; it symbolized the beginning of a more collaborative and open era for DPDK.

Anatoly’s role in this process was significant. He was the first from Intel to engage deeply with the DPDK community, working on adding VFIO support. His contributions were substantial, at one point holding the record for the most patches submitted to the DPDK community. This achievement highlights not only his technical skills but also his commitment to the community and open-source development.

The Intersection of Music and Coding

Anatoly’s coding philosophy is influenced by his musical background. He views coding not merely as a technical task, but as a form of expression, similar to a narrative that elucidates a solution to a problem. His extensive use of comments, often laced with humor, marks a distinctive aspect of his style. These comments offer clear explanations and maintain a logical flow, making his contributions functional, educational, and entertaining.

Hyperscan and the Role of a Generalist

Anatoly’s career took an exciting turn with Intel’s acquisition of Sensory Networks, where he became one of the first engineers to work on Hyperscan, a high-performance regular expression matching engine. This project underscored his role as a generalist – someone who excels in adapting to a multitude of tasks and overcoming diverse challenges, as opposed to being domain specific.

Engaging with the DPDK Community

Engaging with the DPDK community was a significant step in Anatoly’s career. He played a key role in integrating Intel’s work with the public DPDK tree, a process that started around the release of DPDK 1.7. This integration was pivotal for DPDK, marking the beginning of a more collaborative and open environment. Anatoly’s approach to community engagement—submitting code, taking feedback constructively, and contributing solutions—mirrors the ethos of open-source communities.

Advice for Aspiring DPDK Contributors

For new developers aspiring to contribute to DPDK, Anatoly advises starting by addressing personal pain points encountered while using DPDK. This approach not only makes the initial foray into contributing more relatable but also ensures that the contributions are genuinely beneficial to end-users.

His emphasis on solving real problems reflects a practical mindset that is crucial in open-source development. For instance, if a prospective contributor finds DPDK difficult to set up or confusing to use, one way to address that would be to improve documentation.

In the past, there were many requirements on how to specify command line arguments. Although DPDK has moved away from that, there are still some command line arguments that could use better documentation or perhaps a different syntax.

Whatever needs fixing, is probably a good starting point. Fixing someone else’s problems can be fun, but for a new developer, the big driver in programming and learning how to program in the first place was trying to solve something you didn’t want to do manually or to automate something.

Looking ahead

While Anatoly’s capabilities as a generalist enable him to work effectively in both software and hardware domains, his personal inclination leans more towards software. A significant portion of his time and efforts are spent deep in the bowels of DPDK’s OS abstraction layers.

Life Beyond Coding

Outside of his professional life, Anatoly enjoys the simple pleasures of life, like relaxing on the beach or watching Netflix. His move from Ireland to Mallorca has been a significant change, offering him a new environment to explore and enjoy.

His hobbies, including audio mixing, and playing guitar demonstrate a continued passion for music, albeit in a different form than his initial pursuit of being a pianist. 

A Tale of Continuous Learning

Anatoly’s story is a testament to continuous learning and adaptation. From a pianist to a software developer, his journey exemplifies the unexpected paths our careers can take, leading us to thrive in new and exciting and often unexpected domains. His involvement in DPDK transcends mere occupation, highlighting the transformative power of open-source communities in fostering collaboration and development.

Dev Spotlight: The Technological Voyage of Maxime Coquelin from Linux Enthusiast to DPDK  Maintainer

By Community Spotlight

At its core, the profession of software development transcends the mere formulation of commands for machines; it’s a unique language, an outlet for modernization, and a conduit for creativity. 

The career path of Maxime Coquelin, a senior software engineer at Red Hat and a key contributor to the Data Plane Development Kit (DPDK) project, serves as a tangible testament to this belief. 

The Genesis of a Developer

Maxime’s affinity for open-source computing emerged during his school days, a time marked by his fascination with Linux and its seemingly endless capabilities. 

His early programming experiences involved BASIC on an Intel 286 PC. Soon, Maxime dove into the complexities of microcontrollers, laying the groundwork for his future pursuits in software development. 

His professional journey kicked off at ST-Ericsson and then STMicroelectronics. Here, he was involved in developing Linux kernel systems for the first generation of Android phones and maintaining Kernel support for ARM System-On-Chips. 

This initial experience in the Linux kernel world enabled Maxime to engage effectively within the open-source community, setting the stage for a plethora of significant contributions.

Open Source: A Developer’s Canvas 

Early in his career, Maxime recognized the profound influence of open-source development. He embarked on his journey into the open-source community by patching bugs he encountered within the Linux kernel during his work. 

These first steps triggered a spark that catalyzed Maxime to immerse himself in open-source projects and hone his programming skills. 

A key aspect of his involvement was the rigorous review of other developers’ code, which greatly augmented his visibility within the community and underscored his commitment to enhancing software quality. 

This proactive participation eventually culminated in Maxime’s recognition as a core contributor.

Venturing into DPDK

Upon joining Red Hat, Maxime found a shared ethos in the company’s upstream-first strategy, marking the inception of his association with DPDK. 

He played an integral role in contributing to the Vhost-user library, which subsequently became a springboard for his contributions to DPDK. 

As a result, he assumed the position of the core maintainer for the Virtio/Vhost and more recently baseband subsystems. 

Today, he is engaged in working on Virtio technology and VDUSE, bridging the gap between DPDK and the Linux Kernel. 

One significant contribution has been his contributions to the implementation of the vDPA framework, which aims at providing hardware-accelerated and standardized interfaces to virtual machines and containers. 

The Heart of Community Collaboration

In Maxime’s perspective, DPDK epitomizes a platform for collaborative innovation rather than rivalry. Maxime believes in nurturing newcomers, drawing from his experiences of overcoming initial hurdles in the field. 

He strives to foster an inclusive atmosphere within the DPDK community and inspires new contributors to follow the submission guidelines and view mistakes as stepping stones towards proficiency. 

The essence of open-source, in Maxime’s view, is the journey from a user to a contributor, and eventually to a maintainer. He values every contribution, no matter how minute, as a vital piece in the puzzle of open-source project growth.

Looking Back, Moving Forward

If Maxime could impart wisdom to his younger self, it would be the importance of contributing to open-source projects as early as possible. 

His self-assurance as a contributor grew after receiving guidance from skilled engineers at his first company, an experience he believes can be immensely beneficial for budding enthusiasts in open-source communities.

Looking ahead, Maxime envisages an exciting future for DPDK, with a possible offloading of more tasks to hardware within the next three years. 

Collaboration Diversity and Unity

Maxime Coquelin’s dedication to fostering open-source communities is readily apparent in his correspondence within the DPDK community, as seen in an email thread where he discussed improving DPDK contribution processes. 

Coquelin’s belief in the power of collaboration and knowledge-sharing reflects in his continuous efforts to propose changes, receive feedback, and implement improvements to open-source projects like DPDK.

This collaborative approach is quintessential to his process and underscores the spirit of community engagement that thrives within the open-source domain.

Maxime’s dedication to the open-source community isn’t confined to coding and project management. He has also been active in several forums and events such as the DPDK Summit, where he shares his experiences and expertise with others. 

Such platforms provide an opportunity to interact with like-minded developers, driving the growth of open-source projects and the individual growth of its contributors.

His dedication to maintaining the Vhost and Virtio components of DPDK was highlighted when he proposed new co-maintainers to ensure better reviews and feature development. This again showcases his ethos of community collaboration and shared responsibility.

A Balanced Life

Outside the realm of code, Maxime is an ardent cyclist. He believes that cycling provides an ideal balance to his coding endeavors. It offers a mental break, clears his mind, and sometimes even serves as a source of inspiration, yielding fresh ideas and insights. 

His determination and perseverance are evident in his aim to complete all five Monuments of cycling races in Europe, attributes he also applies to his work as a developer.

Summary: Maxime’s Journey 

As Maxime continues to his journey with DPDK, he persistently aims to enhance the platform, making it more efficient and accessible for others. A fine example of his ongoing efforts is a massive Virtio PMD rework he proposed in early 2021. 

This dedication not only enriches the DPDK project but also strengthens the open-source community at large.

DPDK Developer Spotlight: Dmitry Kozlyuk

By Community Spotlight

The DPDK community is comprised of a diverse set of active developers who are passionate about transforming the industry through open source. This blog series highlights the people who are collaborating in the trenches to transform data plane acceleration.

Name: Dmitry Kozlyuk
Title: Software Developer
Employer: BIFIT

When did you start getting into programming in general? What about data plane?
It began with C++ self-study in middle school around 2007. In 2014 I got my first networking-related job in high-frequency trading (HFT), since 2016 I’m working on a DDoS protection product based on DPDK.

 How are you involved in DPDK?
I mostly work on Windows subsystem; it’s my free-time activity.

 What intrigued you about DPDK or what prompted you to want to contribute to the project?
The product I’m working at is based on DPDK. I’d always been looking up to the project and the people building it. Then I discovered that I can be of help and become one of them.

 When did you start contributing to DPDK?
February 2020. 

 What is your favorite thing about working with DPDK, and what are you most proud of? 
The impact: DPDK is used so widely that every contribution may be valuable to someone, often to many.

What has been the most challenging part of working with DPDK?
The scale and variety of environments you have to care of and test your code for.

 What advice would you give to developers (or others) interested in joining DPDK?
Read mail discussions to learn what’s going on, what people care about, what are the best practices—then share your work just as they do.

What are other things you are interested in outside of DPDK (hobbies, fun facts, etc.)?
I teach programming at university (mpei.ru). At free time, I love reading SciFi books.