2 ms·
Interesting idea. Are there any implementations of this sort of thing in the wild?
by slantedview 3y ago
Interesting idea. Are there any implementations of this sort of thing in the wild?
- deleted 3y ago[deleted]
- papercrane 3y agoIt was explored a bit in a blog article with some sample code. One big issue with this approach right now is that the scheduler is not officially user replaceable. It's possible using reflection to do so though, at least is was in 2022, the internal code may have changed since then. There's been some indication from the OpenJDK team that this might be an officially supported feature in the future. Blog article: https://jbaker.io/2022/05/09/project-loom-for-distributed-systems/ https://jbaker.io/2022/05/09/project-loom-for-distributed-sy... HN discussion: https://news.ycombinator.com/item?id=31314006 https://news.ycombinator.com/item?id=31314006
- _benedict 3y agoCassandra has a deterministic testing framework in this vein that will support Loom before too long. Loom is more of an efficiency enhancement, however, permitting you to run a simulation with a single operating system thread, avoiding the overhead of managing which thread the OS is permitted to run. The framework already intercepts all of these operations and ensures they are executed deterministically.
- bbatha 3y agoRust's tokio has a project called loom as well which can do permutation testing of async code: https://github.com/tokio-rs/loom https://github.com/tokio-rs/loom