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, LeadQuote, 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, LeadQuote, 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 sectionQuote, 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 sectionQuote, 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 paragraphQuote, 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 paragraphQuote, 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 sentenceQuote, 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, LeadQuote, 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 sentenceQuote, 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 leadQuote, 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, LeadQuote, 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, LeadQuote, Has Member: Banker's algorithm, Lead
resource allocation and deadlock avoidance algorithm
View the Source Eisenberg & McGuire algorithm (Wikipedia)
Has Member: Eisenberg & McGuire algorithm, LeadQuote, 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 sectionQuote, 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 sectionQuote, 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, LeadQuote, 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, LeadQuote, 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, LeadQuote, 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, LeadQuote, 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, LeadQuote, 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, LeadQuote, 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, LeadQuote, 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, LeadQuote, 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 Reader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.
Sign in to dispute this or suggest a correction.