numam-dpdk/doc/guides/rel_notes
Wei Shen be856325cb hash: add scalable multi-writer insertion with 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
  RTE_HASH_EXTRA_FLAGS_TRANS_MEM_SUPPORT)

* 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 platform
  TM support are added.
    - rte_hash_cuckoo_move_insert_mw_tm: do insertion with bucket movement.
    - rte_hash_cuckoo_insert_mw_tm: do insertion without bucket movement.

* One extra multi-writer test case is added.

Signed-off-by: Wei Shen <wei1.shen@intel.com>
Signed-off-by: Sameh Gobriel <sameh.gobriel@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2016-06-24 16:25:07 +02:00
..
deprecation.rst mempool: support handler operations 2016-06-24 11:01:05 +02:00
index.rst doc: add template release notes for 16.07 2016-04-14 10:00:48 +02:00
known_issues.rst doc: add known issue in EAL argument parsing 2016-06-14 16:56:04 +02:00
rel_description.rst doc: simplify release notes cover 2015-08-12 09:15:27 +02:00
release_1_8.rst doc: fix spellings 2015-12-15 13:50:42 +01:00
release_2_0.rst doc: add missing release notes for mlx4 availability in 2.0 2015-08-17 19:35:37 +02:00
release_2_1.rst doc: add mlx4 release notes for version 2.1 2015-08-17 19:35:37 +02:00
release_2_2.rst doc: add statistics fixes in release notes 2015-12-15 13:50:42 +01:00
release_16_04.rst doc: remove residual template from release notes 2016-04-11 23:56:34 +02:00
release_16_07.rst hash: add scalable multi-writer insertion with Intel TSX 2016-06-24 16:25:07 +02:00
supported_os.rst doc: restructure release notes 2015-08-11 17:28:13 +02:00