RDMA removes the kernel and remote CPU from common data transfers, but it does not remove scheduling. It moves scheduling into a network interface whose internal resources are only partially visible to software. Two applications can use different queue pairs and still contend for the same user access region, context cache, processing pipeline, or physical port. When latency changes, the verbs API reports the symptom through completions but rarely identifies the shared unit that caused it.

SwiftRDMA reframes this opacity as a resource-management problem[1]. Rather than adding another transport, it proposes a software scheduler above commodity RNICs. The scheduler observes hardware and application signals, identifies the likely contention point, and applies an action such as remapping queue pairs, reusing or creating connections, changing enqueue rates, or assigning traffic classes. The long-term goal is to compile an operator’s requirement, such as keeping p99 latency below a threshold, into these lower-level controls.

The paper is an eight-page workshop paper and should be read as a design direction with focused case studies. It does not present a complete production scheduler, a finished declarative language, or a cluster-wide evaluation. Its value lies elsewhere: it gives operators a more precise vocabulary for RNIC interference and shows that several apparent network problems begin before packets enter the cable.

Five shared resources behind one verbs API

The first contention point is the user access region (UAR). Applications ring doorbells and use BlueFlame registers through pages mapped from the RNIC. A Mellanox ConnectX-6 device context exposes only 16 UAR pages in the configuration studied by the authors. Queue pairs are placed on those pages, often by a random or round-robin policy. If queue pairs driven by different CPU cores land on the same page, access is serialized by a lock and the data path slows even though link bandwidth remains available.

The second point is the RNIC context cache. Queue-pair state and memory-translation entries must be available when a work request executes. Too many active queue pairs or small registered pages increase misses. The RNIC then fetches metadata from host memory over PCIe and stalls its processing unit. In the cited microbenchmark, increasing cache-miss rate from 17.2% to 49.1% reduces throughput from 96.6 to 48 Gbit/s. Connection count therefore consumes a scarce cache, not merely a software handle.

Control, transmit, and receive processing pipelines form the third resource group. Their capacity can be exhausted independently. Receive-side overload is particularly dangerous because it can delay completion processing and propagate backpressure into applications even when transmit counters look normal. The fourth group is contention within and among queue pairs. Requests sharing one queue pair obey FIFO order, so a low-priority transfer can block a latency-sensitive one. Separate queue pairs avoid that head-of-line blocking but then compete at the port. Finally, the physical link and its priority queues determine which traffic class receives service when aggregate demand reaches line rate.

The RNIC resources hidden behind the verbs API. CPU cores ring doorbells through a small set of UAR pages; queue-pair and translation state compete for the RNIC cache; control, transmit, and receive processing units can saturate independently; FIFO order creates intra-QP head-of-line blocking; and queue pairs finally contend at the port. Original figure created for this article.

These resources interact. Reusing queue pairs reduces context-cache pressure but increases the chance that unrelated traffic shares a FIFO. Creating more queue pairs separates latency classes but consumes more cache and UAR entries. Larger memory pages reduce translation entries but change memory-management flexibility. A useful scheduler cannot maximize one counter. It must choose an operating point based on workload SLOs.

Signals must be paired with actions

SwiftRDMA’s central design rule is to expose a signal only when software has a corresponding action. UAR pressure can be inferred from queue-pair placement, per-page activity, and throughput. The scheduler can remap or balance queue pairs across UAR pages. Context-cache pressure can be observed through queue-pair context and memory-translation miss rates, active-object counts, and completion latency. Actions include using larger pages, merging connections, or creating additional queue pairs when cache pressure is low but queue delay is rising.

Pipeline utilization and queue depth reveal processing-unit contention. Software can pace work submission, batch operations, or move workloads whose control-path intensity differs. For intra-QP contention, queueing latency and tail latency matter together with bandwidth utilization. If utilization is low while p99 latency rises, FIFO blocking is a stronger explanation than port saturation. The scheduler can change per-job weights or separate traffic into another queue pair. When the port is saturated, traffic-class assignment and rate control are more appropriate.

This pairing avoids a common telemetry failure. A dashboard may show a high cache-miss rate without telling an operator whether to create or remove queue pairs. SwiftRDMA instead treats the RNIC as a set of actuated resources. Each observation narrows the set of safe controls, and every control has a cost elsewhere in the device.

What the preliminary cases establish

The UAR case uses interconnected servers with 32 Intel Xeon CPUs, 128 GB of memory, and 100 Gbit/s Mellanox ConnectX-5 RNICs. A worst-case placement is used as the baseline. UAR contention reduces key-value GET throughput by as much as 57%. Balancing queue pairs across UAR pages allows SwiftRDMA to outperform that baseline by up to 2.22×. The improvement comes before congestion control because packets were delayed at the host’s doorbell path.

The port-contention case combines a latency-sensitive key-value workload with continuous 64 KB best-effort traffic. In the default configuration, both use the same traffic class. SwiftRDMA assigns a higher RNIC traffic class to the key-value queue pairs. Average latency falls by up to 35%, and p99 latency falls by up to 25% relative to the co-located baseline. Latency approaches the isolated case, which demonstrates that hardware priority already present in the RNIC can be useful when software maps workload intent to it correctly.

SwiftRDMA’s preliminary evidence. Balancing queue pairs across contended UAR pages produces up to 2.22× the throughput of a worst-case placement. Giving a latency-sensitive key-value workload the proper RNIC traffic class while 64 KB best-effort traffic runs reduces average latency by up to 35% and p99 by up to 25%. These are two focused cases, not an end-to-end scheduler evaluation. Original figure created for this article.

The paper also proposes policy examples. A latency-sensitive job, a throughput-sensitive job, and a mixed objective can be ordered according to operator intent. If tail latency and queueing delay cross thresholds while port utilization remains below 80%, the scheduler can increase the latency-sensitive job’s task-queue weight. If port utilization is high, it can instead assign a higher traffic class. This distinction prevents software from applying link-level priority to a queue that is actually blocked inside one FIFO.

The numerical results validate individual actions, not the full feedback loop. Thresholds such as a 30% context-cache miss rate or 512 active queue pairs are examples tied to the evaluated hardware. A different RNIC generation may expose different counters, cache sizes, and scheduling behavior. A portable policy system therefore needs capability discovery and vendor-specific adapters rather than one universal threshold table.

The unfinished parts are the important parts

SwiftRDMA leaves policy compilation, lightweight continuous monitoring, enforcement overhead, and simultaneous-contention handling as future work. These are not implementation details. Counters can be sampled at different rates and may lag short bursts. An action can perturb the signal used to select it. Reassigning queue pairs or changing traffic classes also affects ordering, fairness, and isolation. A stable controller must avoid oscillating between configurations.

The scope is one machine and one RNIC. AI collectives span many RNICs, switches, and GPU processes, while a cluster scheduler changes placement and connection counts. A local scheduler may improve one host and move congestion to the fabric. The paper explicitly identifies integration with collective communication and hierarchical cluster scheduling as future directions. Production adoption would require coordination between the application runtime, container or VM layer, RNIC driver, and network policy.

There is also a trust boundary. Exposing controls to tenants could allow one workload to harm another, while keeping every action in a privileged agent reduces application-specific knowledge. An operator must decide which objectives tenants may declare and which knobs remain centrally enforced. Traffic classes are finite, context counters may reveal co-tenant activity, and queue-pair remapping can alter performance isolation.

RNIC admission should include hidden state

Cloud admission systems commonly account for CPU cores, memory, GPUs, and link bandwidth. SwiftRDMA suggests adding RNIC working-set state. Two pods that each request 20 Gbit/s are not equivalent if one opens thousands of queue pairs, registers memory with 4 KB pages, or generates control-heavy traffic. Their context-cache footprint and UAR placement can determine whether another tenant meets its latency target.

For operators, the practical next step is not to deploy SwiftRDMA as a finished product. It is to collect the signals that distinguish host-side RNIC contention from network congestion and to make connection count, registered-page granularity, traffic class, and queue placement explicit admission variables. A scheduler can start with a few guarded policies whose action and rollback are understood.

For RNIC vendors, the paper argues that performance counters alone are insufficient. Hardware should document the resource represented by each counter, expose safe control points, and preserve isolation while software changes them. For framework developers, it means that creating more queue pairs is not a free way to obtain concurrency. Every connection is part of a finite on-device working set.

The broader message is that kernel bypass does not eliminate resource management. It bypasses the component that traditionally performed it. As RDMA becomes a shared cloud utility, scheduling must reappear at the boundary where application intent meets RNIC state. SwiftRDMA is preliminary, but it identifies that boundary clearly.

This article is an editorial analysis by Silicon & Systems. It restates the paper’s mechanisms, measurements, and open questions in our own words. No source sentence, table, or figure is reproduced; all figures were created for this article. The paper is available through its ACM DOI and is licensed under CC BY 4.0. Copyright remains with the authors, 2025.