I've been developing my first Rust project, a novel software transactional memory (STM) algorithm that I'm intending to eventually release as open source. While it's still a ways from being ready for people other than me to use it, it's at the point where I'd like to start dropping it in to some real projects and benchmarking its performance against the unmodified version. Unfortunately, I'm having some trouble finding a first project to work with, so I'm seeing if the community has any helpful suggestions.
My STM is an optimistic, lock-free concurrency scheme, designed to provide serializable isolation to transactions on thread-shared memory. It's designed to provide very fast, nearly-never-blocking reads while providing writes that are hopefully not unreasonably slow. In particular, it's designed to work with cases where it might not be entirely clear what thread-shared items might be needed at the start of the transaction, but where this information may need to be discovered by traversing other thread-shared items, perhaps in a complex tree or graph structure.
I'm looking for a project that:
- is written in Rust
- is open source
- uses multithreading
- is already being benchmarked for performance
- performs more reads than writes on its thread-shared data
- traverses this thread-shared data to decide what to do, and tries to only block the portions that it is reading and/or writing
- has some degree of traction in the community / cannot be dismissed as a toy
- is not overwhelmingly large or has a logical sub-component that may be independently tackled
Any suggestions are welcome, an exact match on many of the above criteria is not essential. Thank you in advance!