SaaSHub helps you find the best software and product alternatives Learn more →
Top 10 Iouring Open-Source Projects
-
glommio
Glommio is a thread-per-core crate that makes writing highly parallel asynchronous applications in a thread-per-core architecture easier for rustaceans.
Project mention: Gazette: Cloud-native millisecond-latency streaming | news.ycombinator.com | 2024-08-07I feel a bit paralyzed by Fear Of Missing Io_Uring. There's so much awesome streaming stuff about (RisingWave, Materialize, NATS, DataFusion, Velox, many more), but it all feels built on slower legacy system libraries.
It's not heavily used yet, but Rust has a bunch of fairly high visibility efforts. Situation sort of feels similar with http3, where the problem is figuring out what to pick. https://github.com/tokio-rs/tokio-uring https://github.com/bytedance/monoio https://github.com/DataDog/glommio
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
-
When using green threads/fibers/coroutines, an interesting technique to make signal handling safer is to run the signal handler asynchronously on a separate fiber/green thread. That way most of the problems of dealing with signals go away, and there's basically no limitation on what you can do inside the signal handler.
I've successfully used this technique in Polyphony [1], a fiber-based Ruby gem for writing concurrent programs. When a signal occurs, Polyphony creates a special-purpose fiber that runs the signal handling code. The fiber is put at the head of the run queue, and is resumed once the currently executed fiber yields control.
[1] https://github.com/digital-fabric/polyphony
-
ustore
Multi-Modal Database replacing MongoDB, Neo4J, and Elastic with 1 faster ACID solution, with NetworkX and Pandas interfaces, and bindings for C 99, C++ 17, Python 3, Java, GoLang 🗄️
-
Project mention: Building an open source vector database. Looking for advice. | /r/rust | 2023-12-07
If you want some code examples, I wrote a db in rust that might help you: https://github.com/tontinton/dbeel
-
-
-
-
udisk
The fastest ACID-transactional persisted Key-Value store designed as modified LSM-Tree for NVMe block-devices with GPU-acceleration and SPDK to bypass the Linux kernel
Project mention: Ask HN: Why are there no open source NVMe-native key value stores in 2023? | news.ycombinator.com | 2023-10-16I don't remember exactly why I have any of them saved, but these are some experimental data stores that seems to be fitting what you're looking for somewhat:
- https://github.com/DataManagementLab/ScaleStore - "A Fast and Cost-Efficient Storage Engine using DRAM, NVMe, and RDMA"
- https://github.com/unum-cloud/udisk - "The fastest ACID-transactional persisted Key-Value store designed for NVMe block-devices with GPU-acceleration and SPDK to bypass the Linux kernel."
- https://github.com/capsuleman/ssd-nvme-database - "Columnar database on SSD NVMe"
-
Good match for async/await, too: I wrote a wrapper in Swift for it. [1]
[1] https://github.com/PADL/IORingSwift
Iouring discussion
Iouring related posts
-
Building an open source vector database. Looking for advice.
-
I want to share my latest hobby project, dbeel: A distributed thread-per-core nosql db written in rust
-
Coroutine made DPDK dev easy
-
Awesome-iouring: Delightful io_uring packages and resources
-
Io_uring and Networking in 2023 [pdf]
-
200 lines of code to rewrite the 600'000 lines RocksDB into a coroutine programx
-
A performance review of io_uring vs. epoll for standard/streamed socket traffic
-
A note from our sponsor - SaaSHub
www.saashub.com | 13 Oct 2024
Index
What are some of the best open-source Iouring projects? This list will help you:
Project | Stars | |
---|---|---|
1 | glommio | 3,068 |
2 | PhotonLibOS | 873 |
3 | Polyphony | 658 |
4 | ustore | 525 |
5 | dbeel | 485 |
6 | awesome-iouring | 335 |
7 | ublksrv | 140 |
8 | gouring | 104 |
9 | udisk | 57 |
10 | IORingSwift | 22 |