Skip to content

Reconfigurable Computing Architecture for the Linux Kernel

Vince BridgesYves Vandervennet

Blue TeamThe Linux Foundation30 minOpen on YouTube ↗

Evaluates reconfigurable Computing Architecture for the Linux Kernel and evaluates key implications for security practitioners.

Summary

### Overview In this presentation, Vince Bridges (from the OpenCL HLS development team at Altera / Intel PSG) and Yves Vandervennet (Linux Development Group lead) propose a reconfigurable computing architecture for the Linux kernel. The proposal addresses the challenges developers face when programming FPGAs and heterogeneous systems across environments ranging from embedded devices to large-scale data centers. Rather than presenting a final specification, the speakers outline an open-source reference framework to accelerate adoption, streamline accelerator management, and gather community feedback.

### Key Topics - **Heterogeneous Computing Demands**: Modern systems incorporate CPUs, GPUs, DSPs, and FPGAs across diverse market segments, from industrial motor control and multimedia processing to high-performance computing (such as climate modeling and search engine acceleration). FPGAs also offer energy efficiency advantages, consuming less power than GPUs in data center workloads. - **FPGA Fundamentals and Existing Infrastructure**: FPGAs feature programmable logic blocks configured via bitstreams, supporting either full configuration or runtime partial reconfiguration. Existing kernel capabilities include the upstream Linux Kernel FPGA Manager framework (which handles low-level programming and device enumeration) and vendor-specific OpenCL tooling. - **Interconnect Challenges**: Architectures must handle diverse interconnect standards, distinguishing between discoverable buses (e.g., PCI Express) and non-discoverable buses (e.g., AXI), as well as server interconnects like UPI.

### Technical Details - **Accelerator Functions (AFs)**: The proposal models hardware offload tasks as Accelerator Functions (AFs). The management framework provides facilities to dynamically insert, remove, query, and evict AFs based on available resources and configured policies. - **AF Descriptors and Device Tree Overlays**: AF descriptors describe configuration requirements (full vs. partial), hardware pinouts, transceivers, required interrupts, device classes, and placement policies (such as CPU/socket affinity for latency optimization or eviction rules). Vendor runtime libraries compile these descriptors into Device Tree Overlays (DTOs) to unify configuration across discoverable and non-discoverable buses. - **Device Resource Management Layer**: A vendor-agnostic device resource manager sits above the bus layer to match required AF attributes to available FPGA resources, abstracting bus differences (such as PCIe vs. AXI). - **High-Level Programming and Virtualization**: OpenCL (and potentially CUDA) pipelines are integrated into this model as embedded packages within the AF descriptor, linking the host application to synthesized kernel bitstreams. The architecture also plans virtualization support by exposing AFs to virtual machines via VFIO.

### Takeaways Current FPGA and OpenCL solutions remain vertically integrated and fragmented. This proposed Linux kernel architecture seeks to establish an open, vendor-agnostic standard that abstracts interconnect differences, provides flexible dynamic resource management, and supports heterogeneous offloading across both embedded systems and virtualized data centers.

Related talks