GlobalPredicateEvaluation Flashcards

1
Q

What is Global Predicate Evaluation (GPE)?

A

A problem in DAI systems where the goal is to determine the truth of a Boolean expression referring to the global state of the system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the key challenges in GPE?

A

1) Variables are local to processes. 2) Processes interact only via message passing. 3) The system is asynchronous with no global clock. 4) The global state observed may not be consistent. 5) Communication channels may deliver messages out of order.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are the two approaches for GPE?

A

1) Reactive Architecture: Processes notify an observer of events as they occur. 2) Proactive Architecture: The observer requests state information from processes when needed.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is a distributed system?

A

A distributed system consists of sequential processes connected by unidirectional communication channels.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is an event in a distributed system?

A

An event is an activity of a sequential process, which can be internal events or communications (send(m) or receive(m)).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is the happened-before relation?

A

A partial order of events where: 1) If e happens before e’ in the same process, then e → e’. 2) If e is a send event and e’ is the corresponding receive event, then e → e’. 3) If e → e’ and e’ → e’’, then e → e’’.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is a global state?

A

A global state Σ = (σ₁, …, σₙ) is a collection of local states of all processes, where σᵢ is the local state of process pᵢ after executing event eᵢᵏ.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is a cut in a distributed system?

A

A cut C = (c₁, …, cₙ) is a subset of global history H containing an initial prefix of each local history, representing a ‘freezing’ of the observation of a global state.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is a consistent cut?

A

A consistent cut is a cut where if an event e belongs to the cut and e’ → e, then e’ also belongs to the cut. A consistent global state corresponds to a consistent cut.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is a consistent run?

A

A consistent run ensures that if e → e’, then e appears before e’ in the run. Observing consistent runs is essential for evaluating global predicates.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is a reactive architecture?

A

A reactive architecture involves processes notifying an observer of events as they occur, allowing the observer to construct a view of the distributed computation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is the problem with reactive architectures?

A

Due to variable message delays, the observer’s observation may not correspond to the actual computation, leading to inconsistencies.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is the FIFO delivery policy?

A

A policy where if send(m) → send(m’), then deliver(m) → deliver(m’). It ensures messages are delivered in the order they were sent.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Why is FIFO delivery not sufficient for consistent computation?

A

1) No bound on message delays means it’s unclear how long to wait before delivering. 2) It doesn’t know how to order messages from different processes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is causal delivery?

A

Causal delivery ensures messages are delivered in an order consistent with the happened-before relation. Logical clocks and vector clocks are used to implement it.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What are logical clocks?

A

Logical clocks ensure that if e → e’, then LC(e) < LC(e’). Each process maintains a local clock, which is updated based on internal, send, or receive events.

17
Q

What is the causal gap problem?

A

A problem where logical clocks cannot detect all causal relationships, making it impossible to determine when to deliver messages.

18
Q

What are vector clocks?

A

Vector clocks provide a strong clock condition: e → e’ if and only if VC(e) < VC(e’). They represent the causal history of an event as a fixed-dimensional vector.

19
Q

How do vector clocks work?

A

Each process maintains a local vector clock. When a process sends a message, it includes its current vector clock. Upon receiving a message, the process updates its vector clock to reflect the causal history.

20
Q

What is a proactive architecture?

A

A proactive architecture involves the observer requesting state information from processes to construct a global state, using snapshot protocols to ensure consistency.

21
Q

What is a snapshot protocol?

A

A protocol that ensures a consistent global state by recording the state of processes and channels at a specific point in time.

22
Q

What is the Chandy & Lamport protocol?

A

A snapshot protocol where processes record their local state and send snapshot messages to other processes, ensuring a consistent global state without the need for clocks.

23
Q

What are stable predicates?

A

Stable predicates remain true once they become true, such as deadlock and termination. If a stable predicate is true in a snapshot, it is true in the final state.

24
Q

What are nonstable predicates?

A

Nonstable predicates may not persist long enough to be detected, such as transient conditions. The observer may not know if the predicate was ever true during the actual run.

25
Q

What are the open issues in GPE?

A

1) Network structure affects GPE algorithms. 2) Proactive approaches may induce intolerable overhead in large-scale systems. 3) Deciding which process acts as the monitor and replacing it if it fails.