Sorry, you need to enable JavaScript to visit this website.

Unordered I/O (UIO) Enablement for CXL P2P Data Paths in AI Systems

San Tomas + Lawrence

Mon Sep 28 | 3:10pm

Abstract

CXL is emerging as a key fabric for disaggregated memory and accelerator interconnects in AI systems, where efficient peer-to-peer (P2P) data movement and bandwidth aggregation would be beneficial. While CXL inherits PCIe transaction semantics, emerging capabilities such as PCIe Unordered I/O (UIO) might require explicit software management to be made really useful. 

This work presents UIO-driven P2P enablement in the Linux kernel for CXL-based systems, extending PCI and CXL subsystems to support device-to-device data paths aligned with relaxed ordering semantics. We discuss the modifications for propagation of transaction attributes, and integration with P2PDMA, enabling correct and efficient utilization of hardware-supported unordered transactions. We discuss the key differences and changes to be done for UIO capable cxl.mem and cxl.io transactions, which makes CXL a viable fabrics for AI systems. 

To support early-stage development, we incorporate a UIO-capable CXL model in QEMU, enabling functional validation of ordering behavior and topology-aware routing in the absence of complete hardware platforms.  

Together, these contributions provide a practical path to prototype and evaluate UIO-enabled data movement in CXL fabrics. This enables scalable communication patterns important for AI workloads such as tensor movement and KV-cache sharing, and establishes a foundation for future hardware realization and upstream kernel support.