DPDK patches and discussions
 help / color / mirror / Atom feed
From: "yangguangjerry@hotmail.com" <yangguangjerry@hotmail.com>
To: "\"De Lara Guarch, Pablo\"" <pablo.de.lara.guarch@intel.com>
Cc: "\"dev@dpdk.org\"" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [RFC] Cuckoo hash for DPDK 2.1
Date: Tue, 7 Apr 2015 17:46:13 +0800	[thread overview]
Message-ID: <BLU436-SMTP136F2ABCEF1D79F34511BEBD2FD0@phx.gbl> (raw)


hi Pablo,
    rte_hash uses Jenkins hash (http://burtleburtle.net/bob/hash/ ) in older dpdk veriosn,which is originated lookup2.c in 1996.Bob Jenkins updates his hash function named lookup3.c in 2006. The hash function is more faster than lookup2.c. 
   why not continue to adopt the new hash function lookup3.c ?






At 2015-04-04 04:28:06, "De Lara Guarch, Pablo" <pablo.de.lara.guarch@intel.com> wrote:
>Hi all,
>
>This RFC is to describe a proposed replacement for the existing rte_hash implementation,
>using the cuckoo hash scheme (see http://www.cs.cmu.edu/~dongz/papers/cuckooswitch.pdf),
>which should provide better performance, in terms of lookup time, as well as a higher load factor.
>
>This new implementation also shall offer several improvements compared to the existing one, such as:
>
>-        Data return: existing implementation returns an index to the bucket where the key is stored,
>
>whereas the new implementation shall return 8-byte integers or pointers to external data.
>
>
>
>-        Increased key length: key length shall be increased more than the existing 64 bytes,
>
>without having a big penalty on performance
>
>
>
>-        Increased burst size: current implementation only allows 16 lookups at the same time,
>
>whereas the new implementation shall allow more than that (probably 64)
>
>
>
>-        Opening addressing: current implementation does not allow new keys to be added
>
>if its target bucket is full, whereas with Cuckoo hash, it offers an alternative location to store the key.
>
>I am currently working on the implementation, considering several options:
>
>
>-        Using a single table to store all the signatures, regardless they have used their primary or secondary hash function.
>
>
>
>-        Using two tables to store the signatures, one for primary hashes and another for the secondary hashes.
>
>
>I need to do some testing on both implementations to know which one is more suitable for DPDK.
>
>Any comments/ideas welcome.
>
>Thanks
>Pablo
>



yangguangjerry@hotmail.com

             reply	other threads:[~2015-04-07  9:46 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-07  9:46 yangguangjerry [this message]
     [not found] ` <E115CCD9D858EF4F90C690B0DCB4D897272890D5@IRSMSX108.ger.corp.intel.com>
2015-04-15 15:08   ` De Lara Guarch, Pablo
  -- strict thread matches above, loose matches on Subject: below --
2015-04-03 20:28 De Lara Guarch, Pablo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=BLU436-SMTP136F2ABCEF1D79F34511BEBD2FD0@phx.gbl \
    --to=yangguangjerry@hotmail.com \
    --cc=dev@dpdk.org \
    --cc=pablo.de.lara.guarch@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).