Papers for

linux system engineers

Papers whose findings have a practical use for this group, as judged from the abstract. Open a paper to read what it means in practice.

Io_uring reduces CPU use for Oracle Database asynchronous writes

io_uring in Oracle Database: A Hybrid Storage I/O Architecture at Production Scale

Abstract: We describe the integration of io_uring into Oracle Database's storage layer and the architectural decisions required to deploy it in a production multi-process RDBMS. Our design uses per-process ring contexts that eliminate inter-process synchronization, a shared buffer registration mechanism now part of the mainline Linux kernel, and a transparent fallback to libaio on error. Evaluation on an internal development build of Oracle Database 26ai shows that io_uring's benefits concentrate on asynchronous batched I/O paths: on a mixed OLTP workload (TPC-C), io_uring delivers identical throughput while reducing server CPU utilization by 1.2 percentage points through more efficient background writes; on analytical queries (TPC-H), CPU per query drops by 8.5% (geometric mean). Isolating the write path alone shows 29% lower CPU per write and 34% higher throughput. Synchronous read paths -- the dominant I/O in OLTP -- show no improvement and even increased CPU usage for very large I/O sizes. These results motivate a hybrid I/O architecture that retains pread/pwrite for synchronous operations, adopts io_uring for asynchronous batched I/O, and falls back transparently to libaio -- a selective strategy that may also be relevant to other database systems facing the same integration question.

Sat 19 SeptDatabasesPerformance
The gist
Storage input/output (I/O) in databases can slow down performance and use a lot of CPU power. The authors describe how Oracle Database integrated a Linux tool called io_uring to improve asynchronous, batched I/O operations, which are common in some database tasks. This change cuts CPU use for background write operations and speeds up some queries, but it does not help with synchronous reads, which are common in transaction processing. Based on these findings, the authors propose using a mix of traditional and new I/O methods for best performance in databases.
Open → 2609.22781v1