What are you looking for ?
Advertise with us
RAIDON

R&D: I/O Interface Independence With xNVMe

Paper presents xNVMe API, authors detail its design and show that xNVMe has negligible cost atop most efficient I/O interfaces on Linux, FreeBSD and Windows.

ACM Digital Library has published, in SYSTOR ’22: Proceedings of the 15th ACM International Conference on Systems and Storage, an article written by Simon A. F. Lund, Samsung, Copenhagen, Denmark, Philippe Bonnet, IT University of Copenhagen, Copenhagen, Denmark, Klaus B. A. Jensen, and Javier Gonzalez, Samsung, Copenhagen, Denmark.

Abstract: The tight coupling of data-intensive systems and I/O interface has been a problem for years. A database system, relying on an specific I/O backend for direct asynchronous I/Os such as libaio, inherits its limitations in terms of portability, expressiveness and performance. The emergence of high-performance NVMe Solid-State Drives (SSDs), enabling new command sets, compounds this problem. Indeed, efforts to streamline the I/O stack have led to the introduction of new, complex and idiosyncratic I/O interfaces such as SPDK, io_uring or asynchronous ioctls. What is the appropriate I/O interface for a given system? How can applications effectively leverage SSD and end-to-end I/O interface innovations? Is I/O interface lock-in a necessary evil for data-intensive systems and storage services? Our answer to the latter question is no. Our answer to the former questions is xNVMe, a cross-platform user-space library that provides I/O-interface independence to user-space software. In this paper, we present the xNVMe API, we detail its design and we show that xNVMe has a negligible cost atop the most efficient I/O interfaces on Linux, FreeBSD and Windows.

Articles_bottom
ExaGrid
AIC
ATTOtarget="_blank"
OPEN-E