Intel Begins Prepping More Linux Code For Data Streaming Accelerator In Sapphire Rapids
Last year Intel outlined the Data Streaming Accelerator (DSA) as a feature on future Intel CPUs for high-performance data movement and transformation operations for networking and storage / persistent memory. We are now seeing more of the Intel DSA work beginning to take shape for the Linux kernel.
Sent out yesterday were patches for tagging application address space for devices as part of the prep work on DSA.
The patches introduce the new Intel MSR for Process Address Space ID (PASID), enumerating the new ENQCMD instruction, and other plumbing. Still to be published for review is more of the Shared Virtual Address and Data Streaming Accelerator driver code. That code for now though is being developed via the iDXD driver branch.
All indications so far point towards the Data Streaming Accelerator being introduced with Intel Sapphire Rapids. The ENQCMD instruction required is coming with Sapphire Rapids and already wired up on the compiler side. Sapphire Rapids is expected to appear on Intel server platforms in 2021 as the successor to Tiger Lake. Sapphire Rapids should already deliver some nice performance uplift with the transition to DDR5 while having DSA would be another performance win for storage / persistent memory and networking. In any case it's great to see Intel's open-source developers continuing to be very punctual in their Linux hardware enablement for new platform features. Stay tuned for our close monitoring of the kernel for subsequent patch series and other feature enablement work.
Sent out yesterday were patches for tagging application address space for devices as part of the prep work on DSA.
Typical hardware devices require a driver stack to translate application buffers to hardware addresses, and a kernel-user transition to notify the hardware of new work. What if both the translation and transition overhead could be eliminated? This is what Shared Virtual Address (SVA) and ENQCMD enabled hardware like Data Streaming Accelerator (DSA) aims to achieve. Applications map portals in their local-address-space and directly submit work to them using a new instruction.
The patches introduce the new Intel MSR for Process Address Space ID (PASID), enumerating the new ENQCMD instruction, and other plumbing. Still to be published for review is more of the Shared Virtual Address and Data Streaming Accelerator driver code. That code for now though is being developed via the iDXD driver branch.
All indications so far point towards the Data Streaming Accelerator being introduced with Intel Sapphire Rapids. The ENQCMD instruction required is coming with Sapphire Rapids and already wired up on the compiler side. Sapphire Rapids is expected to appear on Intel server platforms in 2021 as the successor to Tiger Lake. Sapphire Rapids should already deliver some nice performance uplift with the transition to DDR5 while having DSA would be another performance win for storage / persistent memory and networking. In any case it's great to see Intel's open-source developers continuing to be very punctual in their Linux hardware enablement for new platform features. Stay tuned for our close monitoring of the kernel for subsequent patch series and other feature enablement work.
Add A Comment