[dpdk-dev] [PATCH v3] rte_hash: add scalable multi-writer insertion w/ Intel TSX
De Lara Guarch, Pablo
pablo.de.lara.guarch at intel.com
Fri Jun 17 00:22:32 CEST 2016
> -----Original Message-----
> From: Shen, Wei1
> Sent: Thursday, June 16, 2016 11:14 PM
> To: dev at dpdk.org
> Cc: De Lara Guarch, Pablo; Ananyev, Konstantin;
> stephen at networkplumber.org; Tai, Charlie; Maciocco, Christian; Gobriel,
> Sameh; Shen, Wei1
> Subject: [PATCH v3] rte_hash: add scalable multi-writer insertion w/ Intel TSX
> This patch introduced scalable multi-writer Cuckoo Hash insertion
> based on a split Cuckoo Search and Move operation using Intel
> TSX. It can do scalable hash insertion with 22 cores with little
> performance loss and negligible TSX abortion rate.
> * Added an extra rte_hash flag definition to switch default single writer
> Cuckoo Hash behavior to multiwriter.
> - If HTM is available, it would use hardware feature for concurrency.
> - If HTM is not available, it would fall back to spinlock.
> * Created a rte_cuckoo_hash_x86.h file to hold all x86-arch related
> cuckoo_hash functions. And rte_cuckoo_hash.c uses compile time flag to
> select x86 file or other platform-specific implementations. While HTM check
> is still done at runtime (same idea with
> * Moved rte_hash private struct definitions to rte_cuckoo_hash.h, to allow
> rte_cuckoo_hash_x86.h or future platform dependent functions to include.
> * Following new functions are created for consistent names when new
> TM support are added.
> - rte_hash_cuckoo_move_insert_mw_tm: do insertion with bucket
> - rte_hash_cuckoo_insert_mw_tm: do insertion without bucket movement.
> * One extra multi-writer test case is added.
> Signed-off-by: Shen Wei <wei1.shen at intel.com>
> Signed-off-by: Sameh Gobriel <sameh.gobriel at intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch at intel.com>
More information about the dev