| Literature DB >> 29360792 |
Hangyu Fan1, Huandong Wang2, Yong Li3.
Abstract
Decentralized clustering of modern information technology is widely adopted in various fields these years. One of the main reason is the features of high availability and the failure-tolerance which can prevent the entire system form broking down by a failure of a single point. Recently, toolkits such as Akka are used by the public commonly to easily build such kind of cluster. However, clusters of such kind that use Gossip as their membership managing protocol and use link failure detecting mechanism to detect link failures cannot deal with the scenario that a node stochastically drops packets and corrupts the member status of the cluster. In this paper, we formulate the problem to be evaluating the link quality and finding a max clique (NP-Complete) in the connectivity graph. We then proposed an algorithm that consists of two models driven by data from application layer to respectively solving these two problems. Through simulations with statistical data and a real-world product, we demonstrate that our algorithm has a good performance.Entities:
Keywords: distributed system; failure detection; gossip protocol; stochastic packet loss
Year: 2018 PMID: 29360792 PMCID: PMC5855941 DOI: 10.3390/s18020320
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Figure 1System overview of decentralized clusters that use gossip consensus protocol to manage members. (a) shows the member states, leadership and gossip process when detects a failure; (b) shows the down process of a leader.
Formal system model.
| (a) A set |
Original implementation of and .
| (a) The original implementation of function |
Figure 2Algorithm overview.
Parameters of Link Evaluation Model.
| Notation | Parameter Name | Description |
|---|---|---|
|
| History size | How many groups of rtt history we use as the basis. |
|
| Filter strength | Indicates the strength of filtering, e.g., the proportion of noise in |
|
| Latency positioning factor | Indicates rate of pure latency participate in calculating |
|
| Alert threshold | If the normalized accumulated value is higher than this threshold, |
|
| Safe threshold | If the normalized accumulated value is lower than this threshold, |
Figure 3Example of global connectivity graph and sub connectivity graphs. In this example, and
Edge merging policy.
| Edge State 1 | Edge State 2 | Merge Result |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Conflict |
Figure 4Performance of Evaluation model vs. packet loss rates.
Figure 5Performance of Evaluation model vs. parameters.
Thresholds used by experiment on parameters.
| Algorithm | Threshold #1 | Threshold #2 | Threshold #3 | Threshold #4 |
|---|---|---|---|---|
| PFD |
|
|
|
|
| EDFD |
|
|
|
|
| 2WFD |
| |||
| CV |
|
|
|
|
| AV |
|
|
|
|
Window sizes used by experiment on parameters.
| Algorithm | Record Size #1 | Record Size #2 | Record Size #3 | Record Size #4 |
|---|---|---|---|---|
| PFD | 100 | 500 | 1000 | 2000 |
| EDFD | 100 | 500 | 1000 | 2000 |
| 2WFD |
|
|
|
|
| CV | 10 | 30 | 60 | 400 |
| AV | 10 | 30 | 60 | 400 |
The system-level testing results. Each group is tested for 12 h.
| Size of Cluster | Faulty Nodes | Packet Loss Rate (%) | Detection Rate | Mis-Kicking Rate |
|---|---|---|---|---|
| 5 | 1 | 15 | 44.7 | 0 |
| 5 | 1 | 25 | 58.3 | 0 |
| 5 | 1 | 40 | 61.9 | 0 |
| 5 | 1, 3 | 15, 15 | 47.5 | 0 |
| 5 | 1, 3 | 25, 25 | 58.6 | 0 |
| 5 | 1, 3 | 40, 40 | 60.2 | 0 |
| 5 | 1, 3 | 15, 40 | 61.3 | 0 |
| 5 | 1, 3 | 25, 40 | 60.8 | 0 |
| 5 | 1, 3 | 15, 25 | 57.5 | 0 |
| 7 | 1, 2, 3 | 15, 15, 15 | 54.4 | 0 |
| 7 | 1, 2, 3 | 25, 25, 25 | 56.1 | 0 |
| 7 | 1, 2, 3 | 40, 40, 40 | 66.4 | 0 |
| 7 | 1, 2, 3 | 15, 40, 25 | 63.1 | 0 |
| 7 | 1, 2, 3 | 40, 40, 15 | 67.2 | 0 |
| 7 | 1, 2, 3 | 25, 25, 40 | 58.3 | 0 |
The system-level testing results with the original AutoDown mechanism of Akka. Each group is tested for 6 h .
| Size of Cluster | Faulty Nodes | Packet Loss Rate (%) | Detection Rate | Mis-Kicking Rate |
|---|---|---|---|---|
| 5 | 3, 4 | 15, 15 | 5.0 | 29.4 |
| 5 | 3, 4 | 25, 25 | 32.3 | 43.4 |
| 5 | 3, 4 | 40, 40 | 31.9 | 8.9 |
| 7 | 4, 5, 6 | 15, 15, 15 | 9.1 | 27.8 |
| 7 | 4, 5, 6 | 25, 25, 25 | 50.2 | 48.1 |
| 7 | 4, 5, 6 | 40, 40, 40 | 57.7 | 33.0 |