This commit is contained in:
amaury 2023-04-12 14:13:39 +02:00
parent 6300aba265
commit 18373a46df

View File

@ -1,6 +1,11 @@
# Michel Raynal - FAULT-TOLERANT DISTRIBUTED SERVICES IN MESSAGE-PASSING SYSTEMS # Michel Raynal - FAULT-TOLERANT DISTRIBUTED SERVICES IN MESSAGE-PASSING SYSTEMS
## Connexes
Comprendre la théorie derrière le Failure Detector. __T. D. Chandra and S. Toueg, “Unreliable failure detectors for reliable distributed systems,” J. ACM, vol. 43, no. 2, pp. 225267, 1996.__
## Definition ## Definition
Fault-Tolerence: The service remains uninterrupted even if some component in the network fail. Fault-Tolerence: The service remains uninterrupted even if some component in the network fail.
Distributed System: A collection of computers (or nodes) that communicate amongst themselves [...] to perform a given task. Distributed System: A collection of computers (or nodes) that communicate amongst themselves [...] to perform a given task.
Distributed Computing: The use of a Distributed System to solve a computational problems. Distributed Computing: The use of a Distributed System to solve a computational problems.
@ -8,6 +13,8 @@ Static system: The system composition is fixed.
Dynamic system: nodes may enter, leave or move in the system with time. Dynamic system: nodes may enter, leave or move in the system with time.
FLP impossibility result: It is impossible to design a distributed system that is both asynchronous and fault-tolerant. FLP impossibility result: It is impossible to design a distributed system that is both asynchronous and fault-tolerant.
ADD (Average Delayed/Dropped): model used to describe realisticly the network.
Data-Strcutures: Data-Strcutures:
- linearizability: a data structure is said to be linearizable if it guarantees that all operations appear to happen at a single pointin time between the invocation and response of the operation. - linearizability: a data structure is said to be linearizable if it guarantees that all operations appear to happen at a single pointin time between the invocation and response of the operation.
@ -28,6 +35,12 @@ Usefull terms:
- synchronous/asynchronous systems - synchronous/asynchronous systems
- static/dynamic systems - static/dynamic systems
algorithms of sharded registers:
- RAMBO
- DynaStore
- Baldoni et Al.
## Chapter 1 ## Chapter 1
He's began to define the terms of distributed systemsn and the possibles uses cases. He's began to define the terms of distributed systemsn and the possibles uses cases.
@ -42,3 +55,25 @@ Actually the Failure Detectors needs a certain level of synchronicity to work. A
He defined a "shared register" and explained how it's complicated to implementing them due to the possibility of faulty nodes. And he present the solution who's the Fault-Tolerant Register. He also present the "linearizability" property and how it's used to define the Fault-Tolerant Register. He defined a "shared register" and explained how it's complicated to implementing them due to the possibility of faulty nodes. And he present the solution who's the Fault-Tolerant Register. He also present the "linearizability" property and how it's used to define the Fault-Tolerant Register.
Finally he introduce two implementation of the Fault-Tolerant Register: one who's crash-tolerent and the other one who's Byzantine-tolerent. Finally he introduce two implementation of the Fault-Tolerant Register: one who's crash-tolerent and the other one who's Byzantine-tolerent.
## Chapter 2
He precised the context of the implementation. We are on an arbitrary, partitionnable network composed of Average Delayed/Dropped channels (ADD).
The failure detectors can be defined by their accuracy and completness tel que:
- Strong completeness is satisfied if the failure detector of each node eventually suspects all nodes that are crashed.
- Eventual strong accuracy is satisfied if the failure detector of every node eventually stops suspecting all nodes that are correct.
He described he's algorithm.
## Chapter 3.1
He purposed a new Fault-Tolerant Register who's crash-tolerent and churn proof.
The algorithm is tolerent of node who could crash or leave the system.
There is no hierarchy between the nodes. And the algorithm emulated a shared memory using the message-passing model.
## Chapter 3.2
He purposed a new Fault-Tolerant Register who's crash-tolerent and churn and Byzantin proof.
The model add a notion of server in the previous model (where we had only clients). And a system of asymetric signature.
Also he proved than it's impossible with thiss model to determine the number of Byzantin server as a fraction of the total number of servers.