AIO enables even a single application thread to overlap I/O operations with
other processing, by providing an interface for submitting one or more I/O
requests in one system call (io_submit()) without waiting for completion, and
a separate interface (io_getevents()) to reap completed I/O operations
associated with a given completion group.
