Computing Atlas

How Computing Was Built
Sign In
Text size
100%
Theme
Browse By

All Concurrency and Distributed Systems Techniques

Techniques that let many threads, processes or machines share work and data without corrupting each other. Locks and semaphores control access to a shared resource inside one computer; leader election, gossip protocols, consistent hashing, vector clocks, sharding and load balancing coordinate or spread the load across many computers connected by a network, and let a distributed system agree on order, ownership and membership as machines join and fail.

All Concurrency and Distributed Systems Techniques
Filter Results23 entries
Sources
Lamport timestamp (Wikipedia)
Has Member: Lamport timestamp, Lead
Quote, Has Member: Lamport timestamp, Lead
The Lamport timestamp algorithm is a simple logical clock algorithm used to determine the order of events in a distributed computer system.
View the Source
Peterson's algorithm (Wikipedia)
Has Member: Peterson's algorithm, Lead
Quote, Has Member: Peterson's algorithm, Lead
Peterson's algorithm (or Peterson's solution) is a concurrent programming algorithm for mutual exclusion
View the Source
Operational transformation (Wikipedia)
Has Member: Operational transformation, Lead section
Quote, Has Member: Operational transformation, Lead section
Operational transformation (OT) is a technology for supporting a range of collaboration functionalities in advanced collaborative software systems.
View the Source
Chandy-Lamport algorithm (Wikipedia)
Has Member: Chandy-Lamport algorithm, Lead section
Quote, Has Member: Chandy-Lamport algorithm, Lead section
The Chandy-Lamport algorithm is a snapshot algorithm that is used in distributed systems for recording a consistent global state of an asynchronous system.
View the Source
Lamport's bakery algorithm (Wikipedia)
Has Member: Lamport's bakery algorithm, Lead, second paragraph
Quote, Has Member: Lamport's bakery algorithm, Lead, second paragraph
Lamport's bakery algorithm is one of many mutual exclusion algorithms designed to prevent concurrent threads entering critical sections of code concurrently
View the Source
Chang and Roberts algorithm (Wikipedia)
Has Member: Chang and Roberts algorithm, Lead paragraph
Quote, Has Member: Chang and Roberts algorithm, Lead paragraph
ring-based coordinator election algorithm, employed in distributed computing
View the Source
Raft (algorithm) (Wikipedia)
Has Member: Raft (algorithm), Lead, first sentence
Quote, Has Member: Raft (algorithm), Lead, first sentence
Raft is a consensus algorithm designed as an alternative to the Paxos family of algorithms.
View the Source
Dekker's algorithm (Wikipedia)
Has Member: Dekker's algorithm, Lead
Quote, Has Member: Dekker's algorithm, Lead
Dekker's algorithm is the first known correct solution to the mutual exclusion problem in concurrent programming where processes only communicate via shared memory.
View the Source
Dijkstra-Scholten algorithm (Wikipedia)
Has Member: Dijkstra-Scholten algorithm, Lead sentence
Quote, Has Member: Dijkstra-Scholten algorithm, Lead sentence
The Dijkstra-Scholten algorithm (named after Edsger W. Dijkstra and Carel S. Scholten) is an algorithm for detecting termination in a distributed system.
View the Source
Lamport's distributed mutual exclusion algorithm (Wikipedia)
Has Member: Lamport's distributed mutual exclusion algorithm, Article lead
Quote, Has Member: Lamport's distributed mutual exclusion algorithm, Article lead
Lamport's Distributed Mutual Exclusion Algorithm is a contention-based algorithm for mutual exclusion on a distributed system.
View the Source
Bully algorithm (source article)
Has Member: Bully algorithm, Lead
Quote, Has Member: Bully algorithm, Lead
the bully algorithm is a method for dynamically electing a coordinator or leader from a group of distributed computer processes
View the Source
Banker's algorithm (Wikipedia)
Has Member: Banker's algorithm, Lead
Quote, Has Member: Banker's algorithm, Lead
resource allocation and deadlock avoidance algorithm
View the Source
Eisenberg & McGuire algorithm (Wikipedia)
Has Member: Eisenberg & McGuire algorithm, Lead
Quote, Has Member: Eisenberg & McGuire algorithm, Lead
The Eisenberg & McGuire algorithm is an algorithm for solving the critical sections problem, a general version of the dining philosophers problem.
View the Source
Marzullo's algorithm (Wikipedia)
Has Member: Marzullo's algorithm, Lead section
Quote, Has Member: Marzullo's algorithm, Lead section
is an agreement algorithm used to select sources for estimating accurate time from a number of noisy time sources.
View the Source
Intersection algorithm (Wikipedia)
Has Member: Intersection algorithm, Lead section
Quote, Has Member: Intersection algorithm, Lead section
The intersection algorithm is an agreement algorithm used to select sources for estimating accurate time from a number of noisy time sources.
View the Source
Ricart-Agrawala algorithm (Wikipedia)
Has Member: Ricart-Agrawala algorithm, Lead
Quote, Has Member: Ricart-Agrawala algorithm, Lead
The Ricart-Agrawala algorithm is an algorithm for mutual exclusion on a distributed system.
View the Source
Wikipedia: Lock (Computer Science)
Wikimedia FoundationHas Member: Mutex, Lead
Quote, Has Member: Mutex, Lead
In computer science, a lock or mutex (from mutual exclusion) is a synchronization primitive that prevents state from being modified or accessed by multiple threads of execution at once.
View the Source
Semaphore (programming) - Wikipedia
Has Member: Semaphore, Lead
Quote, Has Member: Semaphore, Lead
In computer science, a semaphore is a synchronization device used to control access to a common resource by multiple threads or processes in a concurrent system, such as a multitasking operating system.
View the Source
Vector clock - Wikipedia
Has Member: Vector Clocks, Lead
Quote, Has Member: Vector Clocks, Lead
A vector clock is a data structure used for determining the partial ordering of events in a distributed system and detecting causality violations.
View the Source
Shard (database architecture) - Wikipedia
Has Member: Sharding, Lead
Quote, Has Member: Sharding, Lead
A database shard, or simply a shard, is a horizontal partition of data within a database or search engine.
View the Source
Load balancing (computing) - Wikipedia
Has Member: Load Balancing, Lead
Quote, Has Member: Load Balancing, Lead
In computing, load balancing is the process of distributing a set of tasks over a set of resources (computing units) with the aim of making their overall processing more efficient.
View the Source
Leader election - Wikipedia
Has Member: Leader Election, Lead
Quote, Has Member: Leader Election, Lead
In distributed computing, leader election is the process of designating a single process as the organizer of some task distributed among several computers (nodes).
View the Source
Gossip protocol - Wikipedia
Has Member: Gossip Protocol, Lead
Quote, Has Member: Gossip Protocol, Lead
A gossip protocol or epidemic protocol is a procedure or process of computer peer-to-peer communication that is based on the way epidemics spread.
View the Source
Comments (0)
No comments yet. Be the first to share a thought.
Reader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.