Top 10 Networking Features in Windows Server 2019: #2 Propelling broadcast video with DPDK on Windows

Share On: Twitter

This blog is part of a series for the Top 10 Networking Features in Windows Server 2019!
-- Click HERE to see the other blogs in this series.

Don't forget to tune in next week for the next feature in our Top 10 list!

As the world moves from HD to 4K and other high-resolution media formats (e.g. 8K), media broadcasters are pioneering a transition to an IP-based infrastructure. Designing for the future, this transition requires high bandwidth and low latency networking re-architecture, not to mention state of the art GPU drivers.

We recently announced the availability of Data Plane Development Kit (DPDK) libraries on Windows to provide user mode applications fast packet processing capabilities, bypassing the host networking stack.

We are pleased to announce a partnership with Cisco and Intel to accelerate this transition in the media industry, by bringing Windows DPDK to Cisco’s media software package called virtual Media Interface (vMI)! Now, Windows Server with DPDK’s express data path and wealth of GPU drivers becomes the platform of choice for delivering next gen media formats and other user-mode applications!

In this article, we explore the applications, the journey till date and dive deeper into how the video broadcasting transition can leverage DPDK’s fast packet processing capabilities.

DPDK libraries now available on Windows!

Why did we bring DPDK to Windows?

In addition to the video broadcasting industry, multiple new workloads require an insatiable amount of network bandwidth with low latency performance. Whether it is real-time gaming, analytics and logic running on the edge, or augmented / virtual reality network performance has never been more critical. The Linux Foundation DPDK project is designed to meet the needs of these applications by providing fast packet processing capabilities to applications running in user-mode with direct access to NIC resources, thereby bypassing the host networking stack.

We also demoed DPDK running on Windows with Intel XL710 NICs reaching 70+ million packets per second! Additional Poll Mode Drivers (PMD) for Chelsio and Cavium NICs are planned for Windows.

Image courtesy

Professional Media Transition

Applications and physical appliances are increasingly being virtualized and moving away from domain-specific solutions with specialized cabling and network fabrics to IP/Ethernet backbones using network function virtualization (NFV).

One such example is the video broadcasting industry undergoing a massive transformation, moving from their existing Serial Digital Interface (SDI) based workflows to Internet Protocol(IP) based workflows. We briefly touched upon this earlier.

Why is this relevant, you ask? A Cisco Video Networking Index (VNI) study estimates that:

               IP video traffic will be a staggering 82% of all consumer internet traffic by 2021.

A study by Strategy Analytics estimates that:

             Nearly 50% of the homes in the US will have a 4K television by 2020.

Broadcast and professional media vendors are forced to scale their applications and infrastructure to meet the exponentially increasing bandwidth demands as the world moves from high definition (HD) to 4K/UHD and 8K in the future.

This transition driven by 4K streaming requirements is being fast-tracked as IP over ethernet spans large distances, can be encrypted and is easier to manage relative to SDI. Professional media appliances and applications are challenged as the data rates involved in carrying SMPTE formatted, IP based audio and video streams exceed the capacity of today’s protocol stacks necessitating a high throughput and low latency data path. As our friends at Cisco highlight –

While a HD-based video stream consumes 1.5Gb/s, a single HDR/HFR 4K stream can consume 12Gb/s.

To meet such unprecedented packet processing demands, Windows developers need direct access to the Network Interface Controller hardware without having to go through the host OS networking stack. Data Plane development kit (DPDK), managed as an open-source project with a BSD license, was until recently available exclusively on the Linux platform.

We recently announced the availability  of the DPDK core libraries and a generic UIO driver for Windows Platform.

As introduced earlier, ongoing collaborations with Cisco and Intel are underway integrating Cisco’s open sourced vMI (Virtual media Interface) software package with DPDK on Windows to take advantage of the efficient path to the NICs. The challenges that come with the data rates in an IP based network are alleviated with DPDK’s fast user-mode packet processing. Professional media vendors have extensive Windows investments, with the wealth of GPU drivers making a compelling case to also actively seek Windows based solutions.

Prototyping efforts have begun with our friends at Cisco and Intel, taking a step closer to making this a reality.

Head over to the blog article from Cisco to learn more about vMI’s integration with Windows DPDK and PCI-Passthrough solution.

Cisco, Intel and Microsoft Accelerate the Transition from SDI to IP with an Open Source Toolkit for Media Software Vendors

Journey till date

The Windows data plane has been constantly evolving over many years with technologies such as RSS spreading and software offloads for the native host. In addition, accelerations into the Hyper-V virtual switch and guest VMs have been possible with technologies like SR-IOV to bypass the host. My friend Dan Cuomo dives deeper into our efforts to accelerate the host and the guest in this article.

Now, adding a third dimension, Windows is bringing DPDK to accelerate user-mode applications.

DPDK architecture

 

DPDK is a set of libraries and optimized network drivers providing fast packet processing abilities to user-mode applications in real world scenarios delivering the lowest latency and highest packets per second.

This UIO driver provides user-mode applications direct access to the memory mapped to the PCIe bus corresponding to the NIC hardware. The user-mode application links to the DPDK libraries and the UIO driver to access hardware resources. Post-initialization, the Poll mode driver will send/receive packets directly to and from the NIC by passing the kernel network processing.

 

 

 

Resources Available

DPDK core libraries and generic UIO driver are now available on the Windows Platform.

Click Here to visit the Windows DPDK draft repository!

The repository is synched with DPDK v18.02 release and supports 31 out of the 42 core libraries on Windows. These DPDK libraries and sample applications have been tested and validated on Windows Server 2016 and Windows Server 2019 preview builds.

As of today, Poll mode driver for the Intel® Ethernet Converged Network Adapter XL710 40 GbE is available.

Microsoft is working with the Windows NIC eco-system partners to bring DPDK Poll-Mode Drivers (PMD) to Windows to run DPDK applications on a variety of NICs. Intel, Cavium, and Chelsio have either made a PMD available for Windows or plan to do so in the near future.

Summary

We are deeply invested in making Windows Server with DPDK the preferred platform for applications that can benefit from the fast packet processing capabilities.

Come back for more announcements on integrating Cisco’s vMI with DPDK as we work towards an open source solution in the near future.
We will also bring you demonstrations and case studies on how Windows DPDK is solving real world challenges.

Windows remains committed to accelerating the application and the data path for our awesome developers.

Thanks to contributions from our counterparts at Cisco and Intel for joining us in this ride…Many more miles to go in the Windows DPDK train….

Thanks for reading!

Harini Ramakrishnan