Enabling Portable and High-Performance SmartNIC Programs with Alkali
summary
Alkali is a multi-target SmartNIC compiler that turns a single-threaded C program into an alphair IR handler graph and uses an iterative two-stage optimizer—a pipeline-cut (graph-cut) stage plus an SMT-based mapping engine—coupled to a performance model to pick replication and partitioning for each NIC. It targets Agelos, BlueField2, FPGA-ish and other NIC backends, reduces a TCP offload from thousands of micro‑C lines to 300 lines vs thousands, adds backends in days–weeks, and runs within 9.8% of hand‑tuned performance.
AI-written summary · about
chapters (12)
- 0:00Alkali and SmartNIC challenges
- 1:20SmartNIC programming barriers
- 3:05Ideal SmartNIC framework
- 3:47Alkali's portable high-performance
- 5:54Alkali programming interface
- 6:58SmartNIC parallelism types
- 8:25Alpha IR for parallelism
- 9:29Auto-parallelization in Alkali
- 13:47Hardware backends and runtime
- 14:07Alkali's ease and performance
- 15:12Extensibility for new hardware
- 15:54Conclusion and resources
related talks
18mNICA: An Infrastructure for Inline Acceleration of Network Applications
21mAlNiCo: SmartNIC-accelerated Contention-aware Request Scheduling for Transaction...
16mLemonNFV: Consolidating Heterogeneous Network Functions at Line Speed
16mAutomatic Parallelization of Software Network Functions
16mRingLeader: Efficiently Offloading Intra-Server Orchestration to NICs
15mElixir: A High-performance and Low-cost Approach to Managing Hardware/Software Hybrid
22mTransparent MultiNIC Routing for Large AI Models
19mEnabling Programmable Transport Protocols in High Speed NICs
