Project

General

Profile

Actions

Feature #5288

open

DeadNonceList with hashtable buckets

Added by Junxiao Shi 9 months ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
Tables
Target version:
-
Start date:
Due date:
% Done:

0%

Estimated time:
12.00 h

Description

Lessons Learned from Fixing the Dead Nonce List in NFD technical report proposed a new data structure design.
For a DNL with expected longevity L,

  • The DNL consists of M buckets, where each bucket is a hashtable-like data structure.
  • To insert an entry, the entry is inserted into the bucket at index M-1.
  • To lookup an entry, the entry is searched among all M buckets. If it is found in any of the buckets, it exists in the DNL. Otherwise, it does not exist in the DNL.
  • Every L/M duration, the bucket at index 0 is discarded, the remaining buckets are shifted down (bucket i+1 becomes bucket i), and an empty bucket is created at index M-1.

This issue is to implement a baseline version of this data structure design.
Each bucket shall use a regular hashtable data structure std::unorderd_set; exploration of non-deterministic data structures such as Bloom filters is out of scope.
L and M parameters shall be configurable at runtime i.e. from nfd.conf; in case of parameter change during runtime configuration reload, it's OK to fully clear the DNL.

No data to display

Actions

Also available in: Atom PDF