12.13.Fault Tolerance - Transactions Flashcards

1
Q

What is a characteristic that distinguishes distributed systems from single-machine systems?

A

Partial failure

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

What is the goal when partial failure occurs?

A

Tolerate faults

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

What is being fault tolerant related to?

A

Dependability

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

What is dependability>

A

the trustworthiness of a computing system which allows resilliance to be justifiably placed on the service it delivers

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

What are the requirements for Dependability?

A
  1. Availability
  2. Reliability
  3. Maintainability
  4. Safety
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What does Safety mean?

A

If and when FAILURES occur the CONSEQUENCES are not catastrophic for the system

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

What does Availability mean?

A

the probability that the system operates correctly at ANY GIVEN MOMENT

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

What does Reliability mean?

A

LENGTH OF TIME that it can run continuously without failure

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

What does Maintainability mean?

A

how EASILY a failed system can be REPAIRED

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

Different types of failures?

A
  1. Crash
  2. Omission
  3. Response
  4. Timing
  5. Arbitrary (Byzanitine)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is a technique for failure masking?

A

Redundancy

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

How many types of redundancy are there?

A
  • Physical
  • Information (send extra bits to allow for recovery if need be)
  • Time (repeat action if need be)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is one of our most important considerations in failure masking?

A

Making sure that a failure won’t leave the system in an inconsistent state

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

How is avoiding leaving the system in an inconsistent state achieved?

A

1.Atomic operations!

“The sequence of operations must execute as an ATOMIC operation”

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

When do concurrent executions not interfere with each other?

A

If their execution is equivalent to a serial one (they don’t interleave)

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

What does the property of Isolation in distributed systems refer to?

A

Isolated excecution (concurrent applications)

17
Q

What should the distributed application not violate in order to achieve Consistency?

A

Database’s integrity constraints

18
Q

What does durability mean in distributed systems?

A

Changes to the database are persistent

19
Q

What concept allows for the reinforcement of the ACID propertires?

A

transactions

20
Q

What is a transaction?

A

A set of operations that is either fully committed or aborted as a whole. If aborted no operation in the set is executed.

21
Q

What algorithms in the implementation of transactions allow for ISOLATION?

A

Concurrency control

22
Q

What do concurrency control algorithms do to ensure ISOLATION?

A

Ensure execution is equivalent to “serial” execution

23
Q

What algorithms in the implementation of transactions allow for DURABILITY?

A

Recovery algorithms

24
Q

What do recovery algorithms do to ensure DURABILITY?

A
  • replay actions of committed transactions

- undo effects of aborted transactions

25
Two ways to improve concurrency control with locking?
- Optimistic concurrency control (transaction executed normal, checked at commit, aborted if problematic) - Timestamp ordering (operations in transactions validated when carried out)
26
Two ways to do recovery when transaction needs to be aborted?
- Backwards (through state checkpoints->Previously correct state) - Forwards (correct new state)
27
What problem arises when trying to make transactions where more than one server is involved?
the distributed commit problem(ATOMICITY) | Either all servers commit or all abort
28
Protocol to support distributed transactions? (more than one server)
1. pick coordinator 2. client communicates transaction to coordinator 2. One or Two phase commit (coordinator communicates abort of transaction to servers)
29
What is the difference between a one phase commit and a two phase commit when dealing with distributed transactions?
Two phase commit involves the servers being able to Accept and Execute the commit (rather than just receive the command)
30
What are the drawbacks of the 2-phase commit?
- Coordinator fail (Three-phase commit and multicast?) - participants must trust coordinator - tranaction must be short - distributed deadlock risk
31
How can deadlock be resolved?
By aborting one of the transactions
32
When does deadlock occur?
When there is a cycle in the wait- for graph of transactions for locks
33
What complicates detecting deadlock in a distributed system?
- Locks are held on different servers | - loop in the entire wait-for graph will not be apparent to any one server
34
One (bad) way of detecting distributed deadlock?
Coordinator stores entire wait-for graph (centra point of failure)
35
What is a better way to detect distributed deadlock?
Edge chasing (Path pushing)