vhost-user-blk: a fast userspace block I/O interface
- Track: Software Defined Storage devroom
- Room: D.sds (online)
- Location: Online
- Day: Saturday
- Start: 11:15
- End: 11:40
- Video only: dsds
- Chat: Join the conversation!
vhost-user-blk is a userspace block I/O interface that has traditionally been used to connect software-defined storage to hypervisors. This talk covers how any application that needs fast userspace block I/O can use vhost-user-blk and its advantages over network protocols. A client library called libblkio is available for C and Rust applications will be introduced. The protocol is also summarized for those wishing to understand how it works or implement it from scratch.
This talk is intended for developers interested in connecting applications to SPDK or qemu-storage-daemon and those who want to know more about software-defined storage interfaces.
- Local block storage interfaces
- Kernel vs userspace
- Notifications vs polling
- Message-passing vs zero-copy
- What is vhost-user-blk?
- Implemented by qemu-storage-daemon and SPDK
- virtio-blk and VIRTIO
- How to connect using libblkio (C/Rust)
- How to implement a server using libvhost-user (C) or vhost-user-backend (Rust)
- How to integrate with the Linux kernel block layer using VDUSE
Speakers
Stefan Hajnoczi |
Attachments
Links
- libblkio (C/Rust) library that can connect to vhost-user-blk
- vhost-user-backend Rust crate for writing vhost-user devices
- qemu-storage-daemon software-defined storage daemon that supports vhost-user-blk
- SPDK software-defined storage toolkit that supports vhost-user-blk
- My website with past presentations and my log
- Video recording (WebM/VP9)
- Video recording (mp4/aac)
- Chat room (web)
- Chat room (app)
- Hallway chat room (web)
- Hallway chat room (app)
- Submit feedback