tipc: add neighbor monitoring framework
TIPC based clusters are by default set up with full-mesh link connectivity between all nodes. Those links are expected to provide a short failure detection time, by default set to 1500 ms. Because of this, the background load for neighbor monitoring in an N-node cluster increases with a factor N on each node, while the overall monitoring traffic through the network infrastructure increases at a ~(N * (N - 1)) rate. Experience has shown that such clusters don't scale well beyond ~100 nodes unless we significantly increase failure discovery tolerance. This commit introduces a framework and an algorithm that drastically reduces this background load, while basically maintaining the original failure detection times across the whole cluster. Using this algorithm, background load will now grow at a rate of ~(2 * sqrt(N)) per node, and at ~(2 * N * sqrt(N)) in traffic overhead. As an example, each node will now have to actively monitor 38 neighbors in a 400-node cluster, i...
Showing
- net/tipc/Makefile 1 addition, 1 deletionnet/tipc/Makefile
- net/tipc/addr.h 1 addition, 0 deletionsnet/tipc/addr.h
- net/tipc/bearer.c 7 additions, 1 deletionnet/tipc/bearer.c
- net/tipc/bearer.h 1 addition, 1 deletionnet/tipc/bearer.h
- net/tipc/core.c 1 addition, 0 deletionsnet/tipc/core.c
- net/tipc/core.h 13 additions, 2 deletionsnet/tipc/core.h
- net/tipc/link.c 37 additions, 12 deletionsnet/tipc/link.c
- net/tipc/monitor.c 651 additions, 0 deletionsnet/tipc/monitor.c
- net/tipc/monitor.h 73 additions, 0 deletionsnet/tipc/monitor.h
- net/tipc/node.c 12 additions, 14 deletionsnet/tipc/node.c
Please register or sign in to comment