Async I/O #188
Replies: 1 comment
-
I look at this as a few levels: First, get more overlapped IO altogether. There's a lot of scope for more of this. I think this is almost certainly the largest available win. Secondly, should this be via blocking syscalls from multiple threads (as at present) or Third, should it be in userspace as threads or Tokio or something else. In Conserve there is a mix of IO and userspace CPU for hashing and compression; the mix will depend on the tree and the relative speed of the CPU vs IO. On flash, on a backup with many changes, there can be lots of cycles in userspace. So it's important to always keep NCPUs threads full. We do not yet already get there. If many threads issue blocking syscalls that is probably pretty fast already; possibly enough to keep an SSD busy. Given that we're doing a lot of userspace computation across So, that's what I think at the moment... |
Beta Was this translation helpful? Give feedback.
-
I wonder if async I/O would offer a performance benefit. Right now, the filesystem operations are always blocking, even if performed using tokio. However, if the target is accessed via network, or if the recent io_uring interface is used, async performance provide a benefit.
Beta Was this translation helpful? Give feedback.
All reactions