CCS 3103: The Synchronization Process, Mutual Exclusion, and Atomic Transactions

0.0(0)
Studied by 0 people
call kaiCall Kai
Locked
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/32

flashcard set

Earn XP

Description and Tags

This flashcard set covers the synchronization process in distributed systems, including various clock algorithms, mutual exclusion methods, atomic transaction protocols, and strategies for handling deadlocks.

Last updated 7:15 AM on 7/28/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai
Chat

No analytics yet

Send a link to your students to track their progress

33 Terms

1
New cards

Synchronization

The coordination of actions among multiple processes to ensure they work in a timely and orderly manner, maintaining concurrency, consistency, and correctness.

2
New cards

Clock Synchronization

The process of ensuring all processes in a system agree on the time, which is vital for logging events and sequencing transactions.

3
New cards

Event Synchronization

A mode of synchronization that coordinates the execution of events across different processes to ensure a particular order, such as in real-time video streaming.

4
New cards

Data Synchronization

Ensuring that the same data is consistently available across different nodes in a distributed system to maintain integrity, often used in cloud storage services.

5
New cards

Clock skew

The time difference that occurs between clocks on different computers within a system.

6
New cards

UTC (Coordinated Universal Time)

The current universal time standard that serves as the basis for all modern civil timekeeping.

7
New cards

External Synchronization

The process of synchronizing a computer's clock with an authoritative, external source of time.

8
New cards

Internal Synchronization

The process of synchronizing a computer’s clock with other computers' clocks within the system to a known degree of accuracy.

9
New cards

Cristian’s Algorithm

A centralized external synchronization algorithm where machines request time from a server and calculate propagation time as P=(Reply_timeRequest_time)/2P = (Reply\_time - Request\_time)/2.

10
New cards

Berkeley Algorithm

A distributed internal synchronization algorithm where a master node polls other nodes for their time discrepancies and tells everyone how to adjust their clocks to the average.

11
New cards

Network Time Protocol (NTP)

A protocol used for clock synchronization of computers over packet-switched, variable-latency networks using a symmetric mode for highest accuracy.

12
New cards

Race Conditions

A challenge in synchronization where multiple processes attempt to access shared resources at the same time, potentially leading to data inconsistency.

13
New cards

Deadlock

A situation where processes are waiting indefinitely for each other to release resources, causing the system to halt.

14
New cards

Starvation

A condition where some processes never gain access to resources because other processes continually monopolize them.

15
New cards

Lamport’s Logical Clocks

A timestamping method used to order events in a distributed system based on a "happens-before" relation (\rightarrow) rather than real current time.

16
New cards

Vector Clocks

An extension of logical clocks where each process maintains a vector of timestamps to provide a more accurate way to track causality between events.

17
New cards

Election Algorithms

Algorithms used in distributed systems to determine a new coordinator if the current single coordinator process fails.

18
New cards

Bully Algorithm

An election algorithm where a process initiates an election by sending messages to processes with higher IDs; eventually, the process with the highest identifier becomes the coordinator.

19
New cards

Mutual Exclusion (Mutex)

The property of ensuring that only one process at a time can access a shared resource or a critical section of code.

20
New cards

Semaphores

A synchronization mechanism used in single-processor systems to control access to shared resources and prevent race conditions.

21
New cards

Monitors

A programming construct containing shared data and procedures that automatically allows only one process to execute inside it at a time.

22
New cards

Ricart-Agrawala Algorithm

A distributed mutual exclusion algorithm that uses Lamport’s logical clocks to decide which process enters a critical region based on timestamped request messages.

23
New cards

Token Ring Algorithm

A mutual exclusion method where processes are organized in a logical ring and a token is passed around; a process can only access a critical region when it holds the token.

24
New cards

Atomic Transactions

A sequence of operations executed as a single, indivisible unit where either all operations are performed successfully or none are completed.

25
New cards

ACID Properties

The four required properties of transactions: Atomicity (all-or-nothing), Consistency (valid state transitions), Isolation (no interference), and Durability (permanent changes).

26
New cards

Write-ahead Log

An implementation of transactions where records of changes (old and new values) are written to a log before the actual file blocks are modified to allow for "rollback."

27
New cards

Two-Phase Commit (2PC) Protocol

A distributed transaction protocol consisting of a Voting Phase (coordinator asks participants if they can commit) and a Commit Phase (transaction is committed only if all vote "Yes").

28
New cards

Three-Phase Commit (3PC)

An extension of 2PC that adds a Preparation Phase between voting and committing to avoid system blocking and improve fault tolerance.

29
New cards

Paxos Consensus Algorithm

An algorithm used to achieve consensus across a group of processes in distributed systems, ensuring atomicity even if some nodes fail.

30
New cards

Optimistic Concurrency Control

A method that allows processes to proceed without locks, only checking for problems at the end of the transaction; it is deadlock-free but may require transactions to be re-run if conflicts occur.

31
New cards

Communication Deadlock

A type of deadlock that occurs when processes are waiting on messages from each other in a circular chain, such as process A waiting for B, B for C, and C for A.

32
New cards

Ostrich Algorithm

A strategy for handling deadlocks by simply ignoring the problem, often used because it requires no effort.

33
New cards

Clock Drift

Small differences in the local clocks of different processes that can accumulate over time and lead to synchronization errors.