This patchset introduce a brand new NitroSketch Mode into membership library. This algorithm provides high-fidelity approximate measurements and appears as a promissing alternative to triditional approches such as packet sampling.
--- v4: - remove extra avx512 complier flags from the cflags. v3: - mark below new added APIs as "experimental": rte_member_add_byte_count() rte_member_query_count() rte_member_report_heavyhitter() - meson build file rework for potential runtime issue. v2: - attach paper link to commit log. - fix potential memory leaks in test_member.c. - build error fix according to CI build fail log. Leyi Rong (2): member: implement NitroSketch mode test/member: add functional and perf tests for sketch app/test/test_member.c | 272 ++++++++++++ app/test/test_member_perf.c | 153 ++++++- lib/member/meson.build | 42 +- lib/member/rte_member.c | 75 ++++ lib/member/rte_member.h | 154 ++++++- lib/member/rte_member_heap.h | 424 ++++++++++++++++++ lib/member/rte_member_sketch.c | 594 ++++++++++++++++++++++++++ lib/member/rte_member_sketch.h | 97 +++++ lib/member/rte_member_sketch_avx512.c | 70 +++ lib/member/rte_member_sketch_avx512.h | 35 ++ lib/member/rte_xxh64_avx512.h | 117 +++++ lib/member/version.map | 9 + 12 files changed, 2034 insertions(+), 8 deletions(-) create mode 100644 lib/member/rte_member_heap.h create mode 100644 lib/member/rte_member_sketch.c create mode 100644 lib/member/rte_member_sketch.h create mode 100644 lib/member/rte_member_sketch_avx512.c create mode 100644 lib/member/rte_member_sketch_avx512.h create mode 100644 lib/member/rte_xxh64_avx512.h -- 2.25.1