Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
A workbench for writing toy implementations of distributed systems.
| Date | Stars |
|---|---|
| 2026-07-24 | 3642 |
| 2026-07-25 | 3643 |
| 2026-07-28 | 3643 |
| 2026-07-30 | 3643 |
| 2026-08-06 | 3643 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# Maelstrom  Maelstrom is a workbench for learning distributed systems by writing your own. It uses the [Jepsen](https://github.com/jepsen-io/jepsen) testing library to test toy implementations of distributed systems. Maelstrom provides standardized tests for things like "a commutative set" or "a transactional key-value store", and lets you learn by writing implementations which those test suites can exercise. It's used as a part of a distributed systems workshop by [Jepsen](https://jepsen.io/training). Maelstrom provides a [range of tests](/doc/workloads.md) for different kinds of distributed systems, built on top of a [simple JSON protocol](/doc/protocol.md) via STDIN and STDOUT. Users write servers [in any language](/demo). Maelstrom runs those servers, sends them requests, routes messages via a simulated network, and checks that clients observe expected behavior. You want to write Plumtree in Bash? Byzantine Paxos in Intercal? Maelstrom is for you. Maelstrom's tooling lets users experiment with [simulated latency](/doc/03-broadcast/02-performance.md) and [message loss](/doc/04-crdts/01-g-set.md#a-simple-g-set). Every test includes [timeline visualizations](/doc/05-datomic/not-concurrent.png) of concurrency structure, [statistics](/doc/03-broadcast/02-performance.md#how-many-messages) on messages exchanged, [timeseries graphs](/doc/06-raft/final.png) to understand how latency, availability, and throughput respond to changing conditions, and [Lamport diagrams](/doc/05-datomic/missing-value.png) so you can understand exactly how messages flow through your system. Maelstrom's checkers can verify [sophisticated safety properties](https://github.com/jepsen-io/elle) up to strict serializability, and generate [intuitive, minimal examples](/doc/05-datomic/g1-realtime.svg) of consistency anomalies. Maelstrom can help you model how a system responds to different cluster sizes, network topologies, latency distributions, and faults like network partitions. Maelstrom also offers [simulated services](/doc/services.md) that you can use to build more complex systems. It's built for testing toy systems, but don't let that fool you: Maelstrom is reasonably fast and can handle simulated clusters of 25+ nodes. On a 48-way Xeon, it can use 94% of all cores, pushing upwards of 60,000 network messages/sec. ## Documentation The Maelstrom Guide will take you through writing several different types of distributed algorithms using Maelstrom. We begin by setting up Maelstrom and its dependencies, write our own tiny echo server, and move on to more sophisticated workloads. - [Chapter 1: Getting Ready](doc/01-getting-ready/index.md) - [Chapter 2: Echo](doc/02-echo/index.md) - [Chapter 3: Broadcast](doc/03-broadcast/index.md) - [Chapter 4: CRDTs](doc/04-crdts/index.md) - [Chapter 5: Datomic](doc/05-datomic/index.md) - [Chapter 6: Raft](doc/06-raft/index.md) There are also several reference documents that may be helpful: - [Protocol](doc/protocol.md) defines Maelstrom's "network" protocol, message structure, RPC semantics, and error handling. - [Workloads](doc/workloads.md) describes the various kinds of workloads that Maelstrom can test, and define the messages involved in that particular workload. - [Understanding Test Results](doc/results.md) explains how to interpret the various plots, data structures, and log files generated by a test. - [Services](doc/services.md) discusses Maelstrom's built-in network services, which you can use as primitives in building more complex systems. ## Design Overview Maelstrom is a [Clojure](https://clojure.org/) program which runs on the [Java Virtual Machine](https://en.wikipedia.org/wiki/Java_virtual_machine). It uses [Jeps
Excerpt of 9,408 characters
Read on GitHubKyle Kingsbury · @jepsen-io · United States
299
11
4
Ivan Prisyazhnyy
3
Ben Johnson · Fly.io · United States
3
2
2
2
Philipp Gillé · @Heetch · Germany
2
1
1
Lucas Pluvinage · École Normale Supérieure
1
1
Nick Kirby · OVO · United Kingdom
1
1
1
1
1
1
1
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:7af4fcd625583f05, topic:testing