Userspace CPU schedulers, which often accompany asynchronous I/O engines like io_uring and Linux AIO, are usually simplistic run-to-completion FIFO loops. This suffices for I/O bound applications, but it’s not adequate for use cases that can be both CPU bound and I/O bound.
Avi Kivity, CTO/co-founder of ScyllaDB and co-maintainer of Seastar, will cover the design and implementation of the Seastar userspace CPU scheduler. He will detail what’s required for servicing more complex applications that require preemption and prioritization.
