I just added an useful patch, "balance-mpxor"

  • Jason Gabler
    Jason Gabler

    From the patch to the bonding.txt docs:


    balance-mpxor or 7

    A less deterministic version of the balance-xor policy.
    Balance-mpxor bases its slave choice on [(( source MAC
    XOR'd with destination MAC address) XOR'd with (source port
    XOR'd with destination port)) modula slave count]. The
    resulting behavior is a connection-based slave choosing
    process. This would be useful in a sitaution where static
    source and destination addresses are shuttling large
    of data between themselves over multiple TCP connections.

    Basically, we have an HPSS system that would get stuck
    on particular slaves while communicating with the same
    hosts if using balance-xor. This additional slave
    choosing heuristic allows the same two hosts to
    communicate using multiple slaves, each dedicated to
    somewhat unique TCP connections instead of particular
    hosts. Multiple downloads/uploads between the HPSS
    system and the same client no longer have to share the
    same slave. Of course, groups of client MAC addresses
    and port numbers can more than likely be combined to
    produce the same slave number, but it is still less
    deterministic than using only the MAC address.

    "mpxor" stands for "MAC and port XOR"

    NOTE: this patch is based upon a 2.4.23 kernel which
    has already been patched with the "Intel Contributions
    2.4" patch (bonding_cleanup_4-2.4.23.tar.bz2). So, to
    use this patch you would need to have applied the
    "Intel Contributions 2.4" patch yourself or use a kernel
    source which already incorporates it. Then apply the
    balance-mpxor ontop of it.

    Jason Gabler - Advanced Systems Group/NERSC Systems Section
    Lawrence Berkeley National Lab
    1 Cyclotron Road Mail Stop 943-225 510-486-4752
    Berkeley, CA 94720 jygabler@lbl.gov