LVS
lvs-devel
Google
 
Web LinuxVirtualServer.org

[PATCHv4 ipvs-next 0/3] netfilter: ipvs: Add Maglev consistent hashing

To: lvs-devel@xxxxxxxxxxxxxxx
Subject: [PATCHv4 ipvs-next 0/3] netfilter: ipvs: Add Maglev consistent hashing
Cc: Julian Anastasov <ja@xxxxxx>, Simon Horman <horms@xxxxxxxxxxxx>, Wensong Zhang <wensong@xxxxxxxxxxxx>
From: Inju Song <inju.song@xxxxxxxxxxxxx>
Date: Tue, 27 Mar 2018 23:14:00 +0900
Implements the Google's Maglev hashing algorithm as a IPVS scheduler.
Basically it provides consistent hashing but offers some special
features about disruption and load balancing.

 1) minimal disruption: when the set of destinations changes,
    a connection will likely be sent to the same destination
    as it was before.

 2) load balancing: each destination will receive an almost
    equal number of connections.

Seel also: [3.4 Consistent Hasing] in
https://www.usenix.org/system/files/conference/nsdi16/nsdi16-paper-eisenbud.pdf

v1: Add maglev consistent hasing

v2: Add and refactor some features about MH and attach distribution test
results based on the MH's realtive weights.

v3: Optimize some features, clean up strcutures of MH, rearrange
patchset order with new patches and so on.

v4: Attach MH state to svc->sched_data only on success and free the
state when RCU callback is called.

Inju Song (3):
  netfilter: ipvs: Keep latest weight of destination
  netfilter: ipvs: Add Maglev hashing scheduler
  netfilter: ipvs: Add configurations of Maglev hashing

 include/net/ip_vs.h            |   1 +
 net/netfilter/ipvs/Kconfig     |  37 +++
 net/netfilter/ipvs/Makefile    |   1 +
 net/netfilter/ipvs/ip_vs_ctl.c |   4 +
 net/netfilter/ipvs/ip_vs_mh.c  | 540 +++++++++++++++++++++++++++++++++++++++++
 5 files changed, 583 insertions(+)
 create mode 100644 net/netfilter/ipvs/ip_vs_mh.c

-- 
1.8.3.1


-- 
Inju Song
NAVER Corporation

--
To unsubscribe from this list: send the line "unsubscribe lvs-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

<Prev in Thread] Current Thread [Next in Thread>