SHOC: A Simplified Programming Model for Hardware Offloading on DPUs

Florian Knauf, Jan S. Rellermeyer · 2025

As performance and energy-conservation demands keep growing, the industry moves towards dedicated hardware for demanding workloads such as networking and AI. One instance of this trend is the use of data-processing units (DPUs) in datacenters: NVIDIA BlueField, AWS Nitro, and Azure Boost exemplify a widening trend. So far, development on DPUs involves the use of low-level APIs with little abstraction from the underlying hardware, spreading application logic across many different C callback functions. This approach is cumbersome and error-prone. To address these issues, we introduce SHOC, a simpler-to-use programming model for DPUs built around C++20 coroutines. This paper explains the model, how to implement it, and demonstrates that its high level of abstraction can be achieved with negligible performance overhead.

Read the paper · More papers on PaperTik