0% found this document useful (0 votes)
10 views2 pages

Distributed Computing

The document discusses concepts related to concurrency and distributed systems including mutual exclusion, critical sections, starvation, selection of victims, transaction mechanisms, election algorithms, and logical clocks. Election algorithms coordinate actions among distributed processes by electing a leader like the bully, ring, Berkeley, Raft, and Paxos algorithms. Logical clocks order events in distributed systems where physical clocks differ.

Uploaded by

Saadie Essie
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views2 pages

Distributed Computing

The document discusses concepts related to concurrency and distributed systems including mutual exclusion, critical sections, starvation, selection of victims, transaction mechanisms, election algorithms, and logical clocks. Election algorithms coordinate actions among distributed processes by electing a leader like the bully, ring, Berkeley, Raft, and Paxos algorithms. Logical clocks order events in distributed systems where physical clocks differ.

Uploaded by

Saadie Essie
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

Certainly, Captain. Let’s break down these concepts in a straightforward manner.

**Mutual Exclusion**: This is a principle used in concurrent programming to prevent multiple


processes from accessing the same resource, such as a variable or file, at the same time. Mutual
exclusion ensures that when one process is using a shared resource, others are excluded from
doing so, preventing data inconsistency and corruption.

**Critical Section**: A critical section refers to the parts of a program that access shared
resources. These sections must not be executed by more than one process or thread at the same
time. Mutual exclusion is used to protect these critical sections to ensure system stability and
integrity.

**Starvation**: In the context of computing, starvation occurs when a process or thread is


perpetually denied necessary resources to proceed. This can happen when resource allocation
algorithms continuously favor other processes, leaving some without the resources they need to
execute.

**Selection of Victims**: This term often relates to scenarios like deadlock resolution. When a
system detects a deadlock, it must choose one or more “victim” processes to terminate or roll
back to break the deadlock. The selection is typically based on factors like process priority,
resource usage, and the amount of processing done.

**Use of Transaction Mechanism**: Transactions ensure that a series of operations on a


database occur completely or not at all. They are crucial for maintaining data integrity, especially
in systems where many users or applications might try to modify data simultaneously.
Transactions follow the ACID properties (

**Election Algorithms**: These algorithms are used in distributed systems to coordinate actions
among a set of processes, such as choosing a new coordinator or leader when the current one
fails. The five main types are:
1. **Bully Algorithm**: The process with the highest priority takes over as the leader if the
current leader fails.
2. **Ring Algorithm**: Processes are arranged in a logical ring, and election messages circulate
until a leader is elected.
3. **Berkeley Algorithm**: Used for time synchronization among distributed systems, selecting
a time reference server.
4. **Raft Algorithm**: Ensures a consistent log across distributed systems, electing a leader to
manage this log.
5. **Paxos Algorithm**: A consensus algorithm that elects a leader to propose values and decide
on a single value among distributed processes.

**Logical Clocks**: These are mechanisms for ordering events in a distributed system, where
physical clocks cannot be relied upon for accurate timekeeping due to differences in clock rates
and network delays. Logical clocks, such as Lamport timestamps, help ensure that all
components of a distributed system can agree on the order of events, which is critical for
consistency and coordination.

Logical clocks are vital in distributed systems for understanding causality, resolving conflicts,
and ensuring that distributed operations can be correctly ordered and applied, maintaining the
system’s overall integrity and consistency.

You might also like