Electronic Design
Data Plane Software Moves To User Space

Data Plane Software Moves To User Space

Freescale's VortiQa software is moving to user space. VortiQa is Freescale's network management software (Fig. 1) that runs on its QorIQ and QorIQ Converge platforms (see Multicore CPU/DSP Combo Targets LTE Basestations).

 

Fig. 1: VortiQa sits atop Freescale's QorIQ multicore hardware providing access to hardware acceleration.

 

The initial version of VortiQa ran in kernel mode as a driver that provided access to hardware acceleration on the QorIQ platforms. This is typically how hardware is accessed but it has the disadvantage of moving between kernal and user mode as applications control the hardware. This is fine in most instances but often an application is moved to the kernel side to gain more performance. Unfortunately kernel mode is harder to develop for and it does not provide the system protection that running an application in user space does.

This latest incarnation of VortiQa PSP (Platform Services Package) runs in user space so it can coexist with the data plane application (Fig. 2). This means the application does not have to switch to kernel mode when using the VortiQa runtime. Freescale has also allowed the VortiQa runtime access to the hardware acceleration that is so important to it performance. The is a small overhead for running in user space but this is balanced with improved security and debugging.

 

Fig. 2: The VortiQa PSP software moves to user space out of the kernel.

 

VortiQa PSP provides a range of services (Fig. 3) including network and session management. The User space data plane acceleration architecture (USDPAA) takes only a 5% performance hit while gaining features such as the ability to have multiple instances and it can take advantage of Linux thread/core affinity.

 

Fig. 3: The VortiQa PSP software provides a range of services such as network and session management.

 

In addition to improving the developer experience, the new approach has other benefits as well. Support and maintenance of an application is significantly easier and less error prone than kernel management. It also means support is independent of the underlying kernel. This makes migration to different platforms easier.

GPL copyright issues are also addressed by moving to user space since the application is now independent of the operating system from a legal standpoint. Kernel changes and driver integration is no longer an issue.

Overall, the trend to moving code away from the hardware continues especially as hardware improvements have reduced the overhead of doing so. I/O virtualization is already common at the hardware and virtual machine level for devices like Ethernet interfaces.

Resources

Hide comments

Comments

  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
Publish