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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Filesystem Devel]     [Linux NFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]     [X.Org]

  Powered by Linux