Distributed algorithms

Raft (algorithm)

Raft is a consensus algorithm designed as an alternative to the Paxos family of algorithms. It was meant to be more understandable than Paxos by means of separation of logic, but it is also formally proven safe and offers some additional features. Raft offers a generic way to distribute a state machine across a cluster of computing systems, ensuring that each node in the cluster agrees upon the same series of state transitions. It has a number of open-source reference implementations, with full-specification implementations in Go, C++, Java, and Scala. It is named after Reliable, Replicated, Redundant, And Fault-Tolerant. Raft is not a Byzantine fault tolerant algorithm: the nodes trust the elected leader. (Wikipedia).

Raft (algorithm)
Video thumbnail

Simulate this Algorithm - Intro to Algorithms

This video is part of an online course, Intro to Algorithms. Check out the course here: https://www.udacity.com/course/cs215.

From playlist Introduction to Algorithms

Video thumbnail

Find the Shortest Path - Intro to Algorithms

This video is part of an online course, Intro to Algorithms. Check out the course here: https://www.udacity.com/course/cs215.

From playlist Introduction to Algorithms

Video thumbnail

Build a Heap - Intro to Algorithms

This video is part of an online course, Intro to Algorithms. Check out the course here: https://www.udacity.com/course/cs215.

From playlist Introduction to Algorithms

Video thumbnail

Graph Data Structure 6. The A* Pathfinding Algorithm

This is the sixth in a series of videos about the graph data structure. It includes a step by step walkthrough of the A* pathfinding algorithm (pronounced A Star) for a weighted, undirected graph. The A* pathfinding algorithm, and its numerous variations, is widely used in applications suc

From playlist Path Finding Algorithms

Video thumbnail

What is an algorithm?

#shorts An algorithm is a mathematical method of solving problems both big and small. #engineeringlexicon #algoritm #engineering #problem #mathematics Join our YouTube channel by clicking here: https://bit.ly/3asNo2n Find us on Instagram: https://bit.ly/3PM21xW Find us on Facebook: https

From playlist Engineering Lexicon

Video thumbnail

Mean - Intro to Algorithms

This video is part of an online course, Intro to Algorithms. Check out the course here: https://www.udacity.com/course/cs215.

From playlist Introduction to Algorithms

Video thumbnail

Searching a Tree - Intro to Algorithms

This video is part of an online course, Intro to Algorithms. Check out the course here: https://www.udacity.com/course/cs215.

From playlist Introduction to Algorithms

Video thumbnail

Introduction to Algorithms - What are they and how are they useful?

#3B1B #SoMe2 This is my submission for this year's SoME, SoME2!! I hope you enjoy, and please feel free to leave any comments. Any feedback is hugely appreciated~! ーーーーーーーーーーーーーーーーーーーーーーー Time Stamps: 00:00 Intro 00:37 Introduction to Algorithms 03:47 Exploring Algorithms - Binary Searc

From playlist Summer of Math Exposition 2 videos

Video thumbnail

0079 - [ C++ ] Raft Consensus Algorithm -- Leader Election

This is #79 in my series of live (Twitch) coding streams. This stream I worked on integrating the election portion of the Raft Consensus Algorithm (https://raft.github.io/) into my game server cluster. Notebook page: https://tinyurl.com/yc9mlfnl -- Watch live at https://www.twitch.t

From playlist Excalibur

Video thumbnail

RustConf 2018 - Using Raft in Rust by Siddon Tang

RustConf 2018 - Using Raft in Rust by Siddon Tang The Raft consensus algorithm has been widely adopted in many companies to build a consistent distributed services that are highly available. This topic is about how we implemented Raft in rust to support TiKV, an open-Source distributed tr

From playlist RustConf 2018

Video thumbnail

0092 - [ C++ ] adding the logs to !raft

This is #92 in my series of live (Twitch) coding streams. This stream I finished implementing the log portion of the Raft Consensus algorithm (https://raft.github.io/). Notebook page: https://tinyurl.com/yad72rlh -- Watch live at https://www.twitch.tv/rhymu8354

From playlist Excalibur

Video thumbnail

Ruby Conf 2013 - Raft: Consensus for Rubyists by Patrick Van Stee

Consensus. It's not anything new. In fact, there have been great papers and discussions on the topic since the late 80's. But this year, a new consensus algorithm was written up in a paper titled, "In Search of an Understandable Consensus Algorithm". This is actually pretty rare in academi

From playlist RubyConf 2013

Video thumbnail

RubyConf 2021 - Learning Ractor with Raft by Micah Gates

Ractor is a new concurrency mechanism in Ruby that unlocks great performance improvement possibilities. Its well defined sharing and messaging system makes it easier to reason about than threaded models. Raft is a distributed consensus algorithm that backs distributed data stores such as

From playlist RubyConf 2021

Video thumbnail

0080 - [ C++ ] Raft Consensus Algorithm -- Leader Election

This is #80 in my series of live (Twitch) coding streams. This stream I debugged and fixed the integration of the election portion of the Raft Consensus Algorithm (https://raft.github.io/) into my game server cluster. Notebook page: https://tinyurl.com/y7p3ug55 -- Watch live at http

From playlist Excalibur

Video thumbnail

0086 - [ C++ ] !game server reconfiguration

This is #86 in my series of live (Twitch) coding streams. This stream started work towards supporting dynamic (live) server reconfiguration. I want to be able to upload a new game configuration to a server cluster and have it distributed to all servers and enabled in a way that doesn't

From playlist Excalibur

Video thumbnail

0430 -- Rust: Raft Consensus

This is #430 in my series of live (Twitch) coding streams. This stream I implemented the follower part of the log replication part of the Raft Consensus algorithm, in Rust. Notebook page: https://tinyurl.com/y2as4azg -- Watch live at https://www.twitch.tv/rhymu8354

From playlist Excalibur

Video thumbnail

0091 - [ C++ ] adding the logs to !raft

This is #91 in my series of live (Twitch) coding streams. This stream I continued working on implementing the log portion of the Raft Consensus algorithm (https://raft.github.io/). Notebook page: https://tinyurl.com/y7p6ng6e -- Watch live at https://www.twitch.tv/rhymu8354

From playlist Excalibur

Video thumbnail

Algorithms Explained: What is an Algorithm?

This video defines what an algorithm is, distinguishes algorithms from recipes and functions and gives some examples of algorithms. This is the first video in an "Algorithms Explained" series that discusses algorithms at a conceptual level. Videos in this series that discuss specific algo

From playlist Algorithms Explained

Video thumbnail

0093 - [ C++ ] laying the groundwork for live reconfiguration

This is #93 in my series of live (Twitch) coding streams. This stream I worked on establishing the groundwork for implementing the cluster membership change (reconfiguration) portion of the Raft Consensus algorithm (https://raft.github.io/). Notebook page: https://tinyurl.com/ydh5m5le

From playlist Excalibur

Related pages

Finite-state machine | Scala (programming language) | Neo4j | Byzantine fault | Paxos (computer science) | Consensus (computer science)