tokio-rs / tokio-uring

An io_uring backed runtime for Rust
MIT License
1.11k stars 117 forks source link

DPDK support? #276

Closed chenyuanrun closed 1 year ago

chenyuanrun commented 1 year ago

I'm doing a tokio-uring inspired, tokio based DPDK runtime, and I found many similarities between iouring and dpdk, are there any plan to integrate dpdk in tokio-uring in the future?

chenyuanrun commented 1 year ago

For DPDK we need userspace tcp/ip network stack, nvme driver and filesystem, that would be a hard work.

Noah-Kennedy commented 1 year ago

There are no plans to do so in tokio-uring. I'll close this as wontfix to reduce noise, but we can keep the discussion going in here.

Noah-Kennedy commented 1 year ago

What's your use case with this and DPDK?

chenyuanrun commented 1 year ago

What's your use case with this and DPDK?

A super fast network/storage framework with super low latency. io-uring is good, but for ultra-high performance applications, dpdk could do better, with zero-copy memory and kernel-bypass stack.

I think dpdk, io-uring and the classic posix event loop (epoll) could run in the same runtime side by side, we just need a polling driver to prevent tokio from sleeping while polling dpdk resources.

Noah-Kennedy commented 1 year ago

@chenyuanrun can you file an issue in the main tokio repo? That would be the better place to handle discussions around DPDK.