JackKelly opened a new issue, #262:
URL: https://github.com/apache/arrow-rs-object-store/issues/262

   **Which part is this question about**
   `object_store`'s code.
   
   **Describe your question**
   For [Zarr](https://zarr.dev/), we may want to read on the order of 1 million 
parts of files per second (from a single machine). It's possible that the only 
way to achieve this performance will be to use 
[`io_uring`](https://en.wikipedia.org/wiki/Io_uring) to send many IO operations 
to the Linux kernel using just a single system call.
   
   Would `object_store` ever consider implementing an async `io_uring` backend 
for 
[`get_ranges`](https://docs.rs/object_store/latest/object_store/trait.ObjectStore.html#method.get_ranges)?
 (I may be able to write the PR, with some hand-holding!) 
   
   **Additional context**
   [io_uring](https://news.ycombinator.com/item?id=23133040) is a newish 
feature of the Linux kernel that allows for requesting many IO operations with 
a single system call - including local file operations and network operations - 
without any memory copying, and with minimal system calls. [Some database 
folks](https://www.scylladb.com/2020/05/05/how-io_uring-and-ebpf-will-revolutionize-programming-in-linux/)
 seem pretty excited about io_uring. [Some 
benchmarks](https://www.phoronix.com/news/Linux-5.6-IO-uring-Tests) show that 
io_uring can deliver almost 20x more IOPs for random reads than the previous 
approach.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to