Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

linux AIO support #52

Open
spacejam opened this issue Feb 28, 2019 · 4 comments
Open

linux AIO support #52

spacejam opened this issue Feb 28, 2019 · 4 comments

Comments

@spacejam
Copy link

Just read https://www.usenix.org/system/files/fast19-kourtis.pdf and it makes a really compelling case for the combination of stackful coroutines + proper linux AIO (and eventually SPDK support). This is a combination I could actually imagine myself using in sled, where I'm now trying to scale toward a many-core architecture, but don't want to pay the various ergonomic costs associated with the popular async stuff in the rust ecosystem right now.

https://github.com/hmwill/tokio-linux-aio may be a nice reference for building linux AIO support for May.

Would you be interested in having AIO support in May directly, or do you see this as something better implemented in a separate library? Very curious about this :)

@Xudong-Huang
Copy link
Owner

Xudong-Huang commented Mar 1, 2019

Oh, I think it somehow like windows IOCP. I think we can uniform the interface for may::fs::File (compatible with std::fs::File) for all platforms. Linux by AIO and event_fd, windows by IOCP, BSD by kqueue and aio_read. However I have no clue about FreeBSD now.

@Xudong-Huang
Copy link
Owner

Xudong-Huang commented Apr 19, 2019

The linux aio is not yet perfect right now, especially we need to have a io manager for the direct access memory. And there are other solutions pushing forward like io_uring which seems have better performance.

windows IOCP implementation is quite easy for the requirement and it's done.

@spacejam
Copy link
Author

spacejam commented Apr 19, 2019 via email

@luover
Copy link

luover commented May 26, 2019

I don't know if it helps. this id a library here rust-io-uring

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants