Skip to content

Support versatile io_uring-based asynchronous I/O to handle various patterns #828

@kingcrimsontianyu

Description

@kingcrimsontianyu

Currently KvikIO provides efficient APIs to handle the following I/O patterns:

  • FileHandle: Sequential I/O using standard system calls and cuFile/GDS, respectively
  • BatchHandle: Arbitrary I/O patterns such as random and strided patterns using cuFile/GDS only

KvikIO can implement an io_uring-based I/O backend for FileHandle and BatchHandle. The potential benefits include:

  • Filling the gap where the batched I/O, with the potential of significantly improving IOPS for small ranges, is missing outside the context of cuFile/GDS. This will address Support for strided reads/writes? #826 on systems without cuFile/GDS support.
  • Reducing resources for I/O management and therefore reducing overall CPU usage

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions