maelstrom
talksheet
maelstrom | talksheet | |
---|---|---|
14 | 5 | |
2,792 | 95 | |
2.0% | - | |
5.1 | 3.1 | |
24 days ago | about 1 year ago | |
Clojure | Python | |
Eclipse Public License 1.0 | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
maelstrom
- Maelstrom: A workbench for learning distributed systems
-
The Raft Consensus Algorithm
Maelstrom [1], a workbench for learning distributed systems from the creator of Jepsen, includes a simple (model-checked) implementation of Raft and an excellent tutorial on implementing it.
Raft is a simple algorithm, but as others have noted, the original paper includes many correctness details often brushed over in toy implementations. Furthermore, the fallibility of real-world hardware (handling memory/disk corruption and grey failures), the requirements of real-world systems with tight latency SLAs, and a need for things like flexible quorum/dynamic cluster membership make implementing it for production a long and daunting task. The commit history of etcd and hashicorp/raft, likely the two most battle-tested open source implementations of raft that still surface correctness bugs on the regular tell you all you need to know.
The tigerbeetle team talks in detail about the real-world aspects of distributed systems on imperfect hardware/non-abstracted system models, and why they chose viewstamp replication, which predates Paxos but looks more like Raft.
[1]: https://github.com/jepsen-io/maelstrom/
[2]: https://github.com/tigerbeetle/tigerbeetle/blob/main/docs/DE...
-
zio-maelstrom
I've tried to run the echo example and I'me getting some problems. I assume it works as the same example in the maelstrom's getting started ready (https://github.com/jepsen-io/maelstrom/blob/main/doc/01-getting-ready/index.md).
- Ask HN: Projects to do to get better at distributed systems
- Resources about distributed systems in go
- FLiPN-FLaNK Stack for March 6, 2023
-
Gossip Glomers: Fly.io Distributed Systems Challenges
Love it. Thanks for putting this together! The actual challenges here [0].
Though I'm curious: are these different from the chapters in the Maelstrom documentation [1]? There seems to be a bit of overlap anyway.
[0] https://fly.io/dist-sys/
[1] https://github.com/jepsen-io/maelstrom#documentation
talksheet
What are some alternatives?
nosqlbench - The open source, pluggable, nosql benchmarking suite.
DeepStream-dGPU-Installation - This repository is helpful for installing DeepStream SDK and it's python bindings in dGPU machine.
kaocha - Full featured next gen Clojure test runner
airflow-elt-blueprint - A self-contained, ready to run Airflow ELT project. Can be run locally or within codespaces.
titanoboa - Titanoboa makes complex workflows easy. It is a low-code workflow orchestration platform for JVM - distributed, highly scalable and fault tolerant.
csv-import - The open-source CSV importer, maintained by @tableflowhq
bond - spying for tests
darling - Darwin/macOS emulation layer for Linux
openai-python - The official Python library for the OpenAI API
flasho - Open source customer notifications in less than 5 minutes
unilm - Large-scale Self-supervised Pre-training Across Tasks, Languages, and Modalities
qr-code - A no-framework, no-dependencies, customizable, animate-able, SVG-based <qr-code> HTML element.