9: Reliable Links and Failure Detectors

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/22

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

23 Terms

1
New cards

Channel Assumptions

  • Messages should be transported between channels, from source to destination

  • Real channels are unreliable

  • Fair loss is usually a realistic assumption on channels

2
New cards

Fair Loss

A combination of assumptions that we make about the properties of communication links to provide an accurate modelling mechanism.

3
New cards

Fair Loss Link

Reflects the possibility for explicit retransmission.

4
New cards

Stubborn Link

A link that delivers a message infinitely often.

<p>A link that delivers a message infinitely often.</p>
5
New cards

Fair Loss - Properties

  • If a message m is sent infinitely often by pi to pj and neither pi or pj crash, then m is delivered infinitely often to pj

  • Finite duplication

  • No creation

6
New cards

Finite Duplication

If m is sent finitely often by pi to pj then m is delivered a finite number of times to pj.

7
New cards

No creation

No message is delivered unless it was sent.

8
New cards

Stubborn Link - Properties

  • Stubborn delivery

  • No creation

9
New cards

Stubborn Delivery

If a process pi sends a message m to a correct process pj and pi does not crash, then pj takes delivery of m an infinite number of times.

10
New cards

Reliable Links (Perfect Links)

Links that make sure a message is successfully sent once.

<p>Links that make sure a message is successfully sent once.</p>
11
New cards

Reliable Links - Properties

  • Validity

    • If pi and pj are correct, then every message sent by pi to pj is eventually delivered to pj

  • No duplication

  • No creation

12
New cards

Timing Assumptions

  • Processing speeds of processes (process asynchrony)

  • Transmission speeds of messages (channel asynchrony)

13
New cards

Types of System Model

  • Synchronous

  • Partially Synchronous

    • Asynchronous

14
New cards

Synchronous System Model - Properties

  • Processing - the time it takes for a process to execute a step is bound and known.

  • Delays - there is a known upper bound on the time it takes for a message to be received.

  • Clocks - the drift between local clock and global real time clock is bounded and known.

15
New cards

Partially Synchronous System Model - Properties

  • Timing bounds eventually hold, but you never know when

16
New cards

Asynchronous System Model - Properties

  • No assumptions - challenging to design for

  • While one process takes one step, any other process can take any unbounded (but still finite) number of steps

17
New cards

Failure Detector

An abstraction that allows us to encapsulate timing assumptions for distributed systems, providing processes suspicions about crashed processes.

18
New cards

Failure Detector - Example

Timeouts - uses timing assumptions and failure detection.

19
New cards

Perfect Failure Detector - Properties

  • Strong completeness

  • Strong accuracy

20
New cards

Strong completeness

Eventually every process that crashes is permanently suspected by every correct process.

21
New cards

Strong Accuracy

No process is deteced by any process before it crashes.

22
New cards

Eventually Perfecy Failure Detector - Properties

  • Strong completeness

  • Eventually strong accuracy

23
New cards

Failure Detector - Algorithm

  • Processes periodically exchange heartbeat messages

  • A process sets a timeout based on the worst case round trip of a message exchange

  • A process suspects another process if a timeout expires relating to that process

  • A process that delivers a message

<ul><li><p>Processes periodically exchange heartbeat messages</p></li><li><p>A process sets a timeout based on the worst case round trip of a message exchange</p></li><li><p>A process suspects another process if a timeout expires relating to that process</p></li><li><p>A process that delivers a message</p></li></ul><p></p>