Intel Details New Data Streaming Accelerator For Future CPUs - Linux Support Started

Written by Michael Larabel in Intel on 20 November 2019 at 06:51 PM EST. 31 Comments
INTEL
The "Data Streaming Accelerator" (DSA) is a new block on future Intel CPUs that hasn't been talked about much publicly... Until now. Intel's open-source crew has begun detailing DSA for future Intel CPUs that will offer high-performance data movement and transformation operations. The Linux driver enablement has begun.

The Intel Data Streaming Accelerator is the successor to QuickData Technology and is designed to offer high-performance streaming and transformation operations for storage / networking / persistent memory. "The goal is to provide higher overall system performance for data mover and transformation operations, while freeing up CPU cycles for higher level functions. Intel DSA enables high performance data mover capability to/from volatile memory, persistent memory, memory-mapped I/O, and through a Non-Transparent Bridge (NTB) device to/from remote volatile and persistent memory on another node in a cluster. Enumeration and configuration is done with a PCI Express compatible programming interface to the Operating System (OS) and can be controlled through a device driver."

An Intel Data Accelerator Driver (IDXD) is in development for the Linux kernel (and similar drivers for other operating systems). This kernel driver will provide the necessary bits so applications can mmap to the device for accessing the work queues, an API for in-kernel use of these work queues, support for virtual devices to expose Intel DSA to guest operating systems, and a sysfs interface for topology and other handling of work queues.

In user-space Intel is developing an accel-config utility for understanding the devices, providing an API that can be used by applications, controlling devices, and creating VFIO-mediated devices for exposing to guest VMs.

Given the complexity of the Data Streaming Accelerator design and touching different subsystems, the upstreaming process will take a while. Intel has begun publishing code for their in-progress Linux driver on GitHub.

Intel's open-source team has begun publishing additional Data Streaming Accelerator details on 01.org.

Intel doesn't specifically spell out when the DSA will begin appearing in future Intel CPUs, but the documentation so far does mention the ENQCMD instruction. That instruction is being introduced with Intel's Xeon Sapphire Rapids processors so presumably the DSA will be introduced there, which would make sense considering the initial timing of this Linux hardware enablement effort and it taking quite some time.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week