LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: Connection table hashing

To: "LinuxVirtualServer.org users mailing list." <lvs-users@xxxxxxxxxxxxxxxxxxxxxx>
Subject: Re: Connection table hashing
From: Roberto Nibali <ratz@xxxxxxxxxxxx>
Date: Thu, 19 Jun 2003 02:03:56 +0200
Hi Julian,

I've just done little test with speed_1

        May be it is time to change the hash function used
for the table with connections. Today I played with some data
from my 2.2 director and fixed the tools that measure different
hash functions. I tested the default LVS function, one
that uses 2654435761 and the Jenkins hash that is present in
recent 2.4 and 2.5 kernels. We need some help from math
perspective.

I'll check on that. What kind of math problems do you have? I could punish my students with it :):)

http://www.ssi.bg/~ja/hashlvs-0.2.tgz - tools for tests

Hehe, still the awk orgy :)

of course to try them yourself. My conclusion is that 2654435761
is better and faster but I hope we will see other results.

Hey, when we chose it back then it was for a good reason. Remember how Wensong did the inline trick? ;).

gcc -g -Wall -DKV=24 -o hash_1 hash_1.c
gcc -g -Wall -DKV=24 -o hash_lvs hash_lvs.c
gcc -g -Wall -DKV=24 -o hash_jhash hash_jhash.c
gcc -g -Wall -DKV=24 -o speed_1 speed_1.c

for i in lvs 1 jhash; do time ./speed_1 12 $i; done
Count=33030144

real    0m3.037s
user    0m3.015s
sys     0m0.000s
Count=33030144

real    0m1.953s
user    0m1.880s
sys     0m0.000s
Count=33030144

real    0m6.288s
user    0m6.195s
sys     0m0.005s

gcc -O3 -mcpu=pentium3 -Wshadow -g -Wall -DKV=24 -o hash_1 hash_1.c
gcc -O3 -mcpu=pentium3 -Wshadow -g -Wall -DKV=24 -o hash_lvs hash_lvs.c
gcc -O3 -mcpu=pentium3 -Wshadow -g -Wall -DKV=24 -o hash_jhash hash_jhash.c
gcc -O3 -mcpu=pentium3 -Wshadow -g -Wall -DKV=24 -o speed_1 speed_1.c

for i in lvs 1 jhash; do time ./speed_1 12 $i; done
Count=33030144

real    0m1.213s
user    0m1.195s
sys     0m0.005s
Count=33030144

real    0m0.698s
user    0m0.645s
sys     0m0.000s
Count=33030144

real    0m2.115s
user    0m2.055s
sys     0m0.000s

I hope to find some time to test the real hash stuff in your patch.

Best regards,
Roberto Nibali, ratz
--
echo '[q]sa[ln0=aln256%Pln256/snlbx]sb3135071790101768542287578439snlbxq'|dc

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