A Micro-architecture that supports the Fano–Elias encoding and a hardware accelerator for approximate membership queries

We present the first hardware design that supports operations over the Fano–Elias encoding (FE-encoding). Our design is a combinational circuit (i.e., single clock cycle) that supports insertions, deletions, and queries. FE-encoding allows one to store f binary strings, each of length ℓ+logm using a...

Full description

Saved in:
Bibliographic Details
Published inMicroprocessors and microsystems Vol. 105; p. 104992
Main Authors Even, Guy, Marques Domingues, Gabriel
Format Journal Article
LanguageEnglish
Published Elsevier B.V 01.03.2024
Subjects
Online AccessGet full text
ISSN0141-9331
1872-9436
DOI10.1016/j.micpro.2023.104992

Cover

Abstract We present the first hardware design that supports operations over the Fano–Elias encoding (FE-encoding). Our design is a combinational circuit (i.e., single clock cycle) that supports insertions, deletions, and queries. FE-encoding allows one to store f binary strings, each of length ℓ+logm using a string that is m+f+fℓ bits long (rather than f(ℓ+logm)). The asymptotic gate-count of the circuit is Θ((m+f)⋅lgm+f⋅ℓ). The asymptotic delay is Θ(lgm+lgf+lgℓ). We implemented our design on an FPGA with four combinations of parameters in which the FE-encoding fits in 512 or 1024 bits. We present the first hardware design for a dynamic filter that maintains a set subject to insertions, deletions, and approximate membership queries. The design contains four main blocks: two memory banks that store FE-encodings and two combinational circuits for FE-encoding. Additional logic deals with double buffering and forwarding. We implemented the dynamic filter on an FPGA with the following parameters: (1) Elements in the dataset are 32-bit strings. (2) The supported dataset can contain up to nmax=45⋅214=737,280 elements. (3) The latency is 2-4 clock cycles. (4) Fixed (i.e., constant and stable) throughput. A new operation can be issued every clock cycle. (5) We prove that the probability of a false-positive error is bounded by 0.385⋅10−2. (6) We prove that the expected number of insertion failures is less than 1 for every 75 million insertions. Synthesis of our filter on a Xilinx Alveo U250 FPGA achieves a clock rate of 100 MHz (the critical path is due to the memory access). We measure a fixed throughput of 97.7 million operations per second (the loss of 2.3% in the throughput is due to instabilities in the bandwidth of the AXI4 Lite I/O channel). A unique feature of our filter implementation is that the throughput is stable and constant for all benchmarks and loads. Namely, the combination of operations does not influence the throughput and the throughput does not depend on the number of elements in the dataset (as long as the cardinality of the dataset is bounded by nmax). Previous dynamic filter implementations in software (implemented on x86 or GPU’s) do not exhibit stable and constant throughputs.
AbstractList We present the first hardware design that supports operations over the Fano–Elias encoding (FE-encoding). Our design is a combinational circuit (i.e., single clock cycle) that supports insertions, deletions, and queries. FE-encoding allows one to store f binary strings, each of length ℓ+logm using a string that is m+f+fℓ bits long (rather than f(ℓ+logm)). The asymptotic gate-count of the circuit is Θ((m+f)⋅lgm+f⋅ℓ). The asymptotic delay is Θ(lgm+lgf+lgℓ). We implemented our design on an FPGA with four combinations of parameters in which the FE-encoding fits in 512 or 1024 bits. We present the first hardware design for a dynamic filter that maintains a set subject to insertions, deletions, and approximate membership queries. The design contains four main blocks: two memory banks that store FE-encodings and two combinational circuits for FE-encoding. Additional logic deals with double buffering and forwarding. We implemented the dynamic filter on an FPGA with the following parameters: (1) Elements in the dataset are 32-bit strings. (2) The supported dataset can contain up to nmax=45⋅214=737,280 elements. (3) The latency is 2-4 clock cycles. (4) Fixed (i.e., constant and stable) throughput. A new operation can be issued every clock cycle. (5) We prove that the probability of a false-positive error is bounded by 0.385⋅10−2. (6) We prove that the expected number of insertion failures is less than 1 for every 75 million insertions. Synthesis of our filter on a Xilinx Alveo U250 FPGA achieves a clock rate of 100 MHz (the critical path is due to the memory access). We measure a fixed throughput of 97.7 million operations per second (the loss of 2.3% in the throughput is due to instabilities in the bandwidth of the AXI4 Lite I/O channel). A unique feature of our filter implementation is that the throughput is stable and constant for all benchmarks and loads. Namely, the combination of operations does not influence the throughput and the throughput does not depend on the number of elements in the dataset (as long as the cardinality of the dataset is bounded by nmax). Previous dynamic filter implementations in software (implemented on x86 or GPU’s) do not exhibit stable and constant throughputs.
ArticleNumber 104992
Author Marques Domingues, Gabriel
Even, Guy
Author_xml – sequence: 1
  givenname: Guy
  orcidid: 0000-0001-5407-330X
  surname: Even
  fullname: Even, Guy
  email: guy@eng.tau.ac.il
– sequence: 2
  givenname: Gabriel
  surname: Marques Domingues
  fullname: Marques Domingues, Gabriel
  email: gm@mail.tau.ac.il
BookMark eNp9kE1OwzAQhS1UJNrCDVj4Ain-yZ83SFXVAlIRG1hbjjMmrpo42Cl_K-7ADTkJrsKaxWg0I72n974ZmnSuA4QuKVlQQvOr3aK1uvduwQjj8ZUKwU7QlJYFS0TK8wmaEprSRHBOz9AshB0hJCM5m6LPJb632rtEed3YAfRw8ICHRg04HPre-SHEC_BGde7n63u9typg6LSrbfeMVVdjhRvl6zcVZUpr2INXg_PYxFF9DPVuWzUAbqGtwIfG9vjlAN5COEenRu0DXPztOXrarB9Xt8n24eZutdwmmmXZkDAouDGVSYtKlFDnPC8rVpaKQ8lpDTVkpkqFLoQmhJNMZ1XKtTBGVYJCyXI-R-noG2uG4MHI3sdM_kNSIo_85E6O_OSRnxz5Rdn1KIOY7dWCl0Hb2Bxq6yMmWTv7v8EvJW6BTA
Cites_doi 10.1145/3519935.3519969
10.1145/2220357.2220361
10.1145/3572848.3577507
10.1145/2433396.2433409
10.1109/COMST.2018.2889329
10.1145/3588726
10.1016/0022-0000(79)90044-8
10.1145/872757.872787
10.1145/322217.322232
10.1145/362686.362692
10.3390/computation7040063
10.1109/TVLSI.2012.2196060
10.1145/2600428.2609615
10.1007/3-540-49543-6_13
10.1145/3376122
10.1109/PCCC.2009.5403809
10.1016/S0022-2836(05)80360-2
10.14778/3213880.3213884
10.1145/3308558.3313553
10.1145/321812.321820
10.14778/3523210.3523211
10.1145/3625817
10.1080/15427951.2004.10129096
10.1145/3448016.3452841
ContentType Journal Article
Copyright 2024 Elsevier B.V.
Copyright_xml – notice: 2024 Elsevier B.V.
DBID AAYXX
CITATION
DOI 10.1016/j.micpro.2023.104992
DatabaseName CrossRef
DatabaseTitle CrossRef
DatabaseTitleList
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISSN 1872-9436
ExternalDocumentID 10_1016_j_micpro_2023_104992
S0141933123002375
GroupedDBID --K
--M
-~X
.DC
.~1
0R~
123
1B1
1~.
1~5
29M
4.4
457
4G.
5VS
7-5
71M
8P~
9JN
AACTN
AAEDT
AAEDW
AAIAV
AAIKJ
AAKOC
AALRI
AAOAW
AAQFI
AAXUO
AAYFN
ABBOA
ABJNI
ABMAC
ABXDB
ABYKQ
ACDAQ
ACGFS
ACIWK
ACNNM
ACRLP
ACZNC
ADBBV
ADEZE
ADJOM
ADMUD
ADTZH
AEBSH
AECPX
AEKER
AENEX
AFKWA
AFTJW
AGHFR
AGUBO
AGYEJ
AHHHB
AHJVU
AHZHX
AIALX
AIEXJ
AIKHN
AITUG
AJBFU
AJOXV
ALMA_UNASSIGNED_HOLDINGS
AMFUW
AMRAJ
AOUOD
AXJTR
BJAXD
BKOJK
BLXMC
CS3
DU5
EBS
EFJIC
EFLBG
EJD
EO8
EO9
EP2
EP3
F5P
FDB
FEDTE
FGOYB
FIRID
FNPLU
FYGXN
G-2
G-Q
G8K
GBLVA
GBOLZ
HLZ
HVGLF
HZ~
IHE
J1W
JJJVA
KOM
LG9
LY7
M41
MO0
N9A
O-L
O9-
OAUVE
OZT
P-8
P-9
P2P
PC.
PQQKQ
Q38
RIG
ROL
RPZ
SBC
SDF
SDG
SDP
SES
SET
SEW
SPC
SPCBC
SST
SSV
SSZ
T5K
T9H
TN5
UHS
WUQ
XOL
XPP
ZMT
~G-
AATTM
AAXKI
AAYWO
AAYXX
ABDPE
ABWVN
ACLOT
ACRPL
ACVFH
ADCNI
ADNMO
AEIPS
AEUPX
AFJKZ
AFPUW
AIGII
AIIUN
AKBMS
AKRWK
AKYEP
ANKPU
APXCP
CITATION
EFKBS
~HD
ID FETCH-LOGICAL-c255t-2e73ffbf47b98ed6368b288a3e831dede5fb49c79c00305c5b43c9ffab91e8263
IEDL.DBID .~1
ISSN 0141-9331
IngestDate Thu Oct 02 04:23:07 EDT 2025
Sat Feb 24 15:49:27 EST 2024
IsPeerReviewed true
IsScholarly true
Keywords Bloom filter
Dictionaries
FPGA
Fano–Elias encoding
Approximate membership queries
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-c255t-2e73ffbf47b98ed6368b288a3e831dede5fb49c79c00305c5b43c9ffab91e8263
ORCID 0000-0001-5407-330X
ParticipantIDs crossref_primary_10_1016_j_micpro_2023_104992
elsevier_sciencedirect_doi_10_1016_j_micpro_2023_104992
PublicationCentury 2000
PublicationDate March 2024
2024-03-00
PublicationDateYYYYMMDD 2024-03-01
PublicationDate_xml – month: 03
  year: 2024
  text: March 2024
PublicationDecade 2020
PublicationTitle Microprocessors and microsystems
PublicationYear 2024
Publisher Elsevier B.V
Publisher_xml – name: Elsevier B.V
References Hunter McCoy, Steven Hofmeyr, Katherine Yelick, Prashant Pandey, High-performance filters for GPUs, in: Proceedings of the 28th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming, 2023, pp. 160–173.
Boldi, Vigna (b10) 2005
Broder, Mitzenmacher (b15) 2003; 1
Ruiz-Rosero, Ramirez-Gonzalez, Khanna (b40) 2019; 7
Conway, Farach-Colton, Johnson (b46) 2023; 1
Dillinger, Manolios (b29) 2009
Bercea, Even (b43) 2020
Luo, Guo, Ma, Rottenstreich, Luo (b16) 2018; 21
Bender, Conway, Farach-Colton, Kuszmaul, Tagliavini (b54) 2023; 70
Even, Even, Morrison (b9) 2022; 15
Breslow, Jayasena (b31) 2018; 11
Lauro B. Costa, Samer Al-Kiswany, Matei Ripeanu, GPU support for batch oriented workloads, in: 2009 IEEE 28th International Performance Computing and Communications Conference, 2009, pp. 231–238.
Wajc (b55) 2017
Bercea, Even (b23) 2020; vol.162
Bender, Farach-Colton, Johnson, Kraner, Kuszmaul, Medjedovic, Montes, Shetty, Spillane, Zadok (b30) 2012; 5
Christopher, Prabhakar, Hinrich (b4) 2008
Giuseppe Ottaviano, Rossano Venturini, Partitioned Elias-Fano indexes, in: Proceedings of the 37th International ACM SIGIR Conference on Research & Development in Information Retrieval, 2014, pp. 273–282.
(b49) 1995
Ladner, Fischer (b48) 1980; 27
Prashant Pandey, Alex Conway, Joe Durie, Michael A Bender, Martin Farach-Colton, Rob Johnson, Vector quotient filters: Overcoming the time/space trade-off in filter design, in: Proceedings of the 2021 International Conference on Management of Data, 2021, pp. 1386–1399.
Dillinger, Walzer (b27) 2021
Even, Medina (b50) 2012
Khairy, Safar, El-Kharashi (b39) 2017
Pătraşcu, Thorup (b53) 2012; 59
Goodwin, Hopcroft, Luu, Clemmer, Curmei, Elnikety, He (b20) 2017
Facebook, Folly: Facebook Open Source Library, Github.
Bercea, Even (b8) 2019
Sebastiano Vigna, Quasi-succinct indices, in: Proceedings of the Sixth ACM International Conference on Web Search and Data Mining, 2013, pp. 83–92.
Michael A Bender, Martín Farach-Colton, John Kuszmaul, William Kuszmaul, Mingmou Liu, On the optimal time/space tradeoff for hash tables, in: Proceedings of the 54th Annual ACM SIGACT Symposium on Theory of Computing, 2022, pp. 1284–1297.
Geil, Farach-Colton, Owens (b35) 2018
Mortensen, Pagh, Pătraşcu (b45) 2005
Zobrist (b52) 1970
Carter, Floyd, Gill, Markowsky, Wegman (b3) 1978
Kirsch, Mitzenmacher (b56) 2006
Putze, Sanders, Singler (b25) 2007
Carter, Wegman (b41) 1979; 18
Pagh, Pagh, Rao (b28) 2005
Bercea, Even (b42) 2021
Graf, Lemire (b26) 2020; 25
Xinyu Liu, Zhaohua Zhang, Rebecca Stones, Yusen Li, Gang Wang, Xiaoguang Liu, A Hybrid BitFunnel and Partitioned Elias-Fano Inverted Index, in: The World Wide Web Conference, 2019, pp. 1153–1163.
Demaine, Meyer auf der Heide, Pagh, Pătraşcu (b21) 2006
Dietzfelbinger (b57) 1996
Al-hisnawi, Ahmadi (b19) 2017
Chen, Schmidt, Maskell (b38) 2013; 21
Saar Cohen, Yossi Matias, Spectral Bloom filters, in: Proceedings of the 2003 ACM SIGMOD International Conference on Management of Data, 2003, pp. 241–252.
Martin Raab, Angelika Steger, ”Balls into Bins” - A Simple and Tight Analysis, in: Randomization and Approximation Techniques in Computer Science, Second International Workshop, RANDOM’98, Barcelona, Spain, October 8-10, 1998, Proceedings, 1998, pp. 159–170.
Altschul, Gish, Miller, Myers, Lipman (b37) 1990; 215
Chazelle, Kilian, Rubinfeld, Tal (b44) 2004
Fano (b1) 1971
Dietzfelbinger, Meyer auf der Heide (b51) 1990
Elias (b2) 1974; 21
Broder, Mitzenmacher (b18) 2001
Iacob, Itu, Sasu, Moldoveanu, Suciu (b34) 2015
Bloom (b12) 1970; 13
Pibiri, Venturini (b11) 2017
Fan, Andersen, Kaminsky, Mitzenmacher (b14) 2014
Arbitman, Naor, Segev (b13) 2010
Fano (10.1016/j.micpro.2023.104992_b1) 1971
10.1016/j.micpro.2023.104992_b24
Breslow (10.1016/j.micpro.2023.104992_b31) 2018; 11
Dietzfelbinger (10.1016/j.micpro.2023.104992_b57) 1996
Khairy (10.1016/j.micpro.2023.104992_b39) 2017
Even (10.1016/j.micpro.2023.104992_b50) 2012
10.1016/j.micpro.2023.104992_b22
Boldi (10.1016/j.micpro.2023.104992_b10) 2005
Pagh (10.1016/j.micpro.2023.104992_b28) 2005
Dillinger (10.1016/j.micpro.2023.104992_b29) 2009
Kirsch (10.1016/j.micpro.2023.104992_b56) 2006
Putze (10.1016/j.micpro.2023.104992_b25) 2007
10.1016/j.micpro.2023.104992_b17
Even (10.1016/j.micpro.2023.104992_b9) 2022; 15
10.1016/j.micpro.2023.104992_b7
Bercea (10.1016/j.micpro.2023.104992_b43) 2020
Elias (10.1016/j.micpro.2023.104992_b2) 1974; 21
Bender (10.1016/j.micpro.2023.104992_b54) 2023; 70
Goodwin (10.1016/j.micpro.2023.104992_b20) 2017
Conway (10.1016/j.micpro.2023.104992_b46) 2023; 1
10.1016/j.micpro.2023.104992_b5
10.1016/j.micpro.2023.104992_b6
Broder (10.1016/j.micpro.2023.104992_b15) 2003; 1
Bloom (10.1016/j.micpro.2023.104992_b12) 1970; 13
Luo (10.1016/j.micpro.2023.104992_b16) 2018; 21
10.1016/j.micpro.2023.104992_b47
Al-hisnawi (10.1016/j.micpro.2023.104992_b19) 2017
Bercea (10.1016/j.micpro.2023.104992_b42) 2021
Fan (10.1016/j.micpro.2023.104992_b14) 2014
Chazelle (10.1016/j.micpro.2023.104992_b44) 2004
Chen (10.1016/j.micpro.2023.104992_b38) 2013; 21
Bercea (10.1016/j.micpro.2023.104992_b23) 2020; vol.162
Altschul (10.1016/j.micpro.2023.104992_b37) 1990; 215
Carter (10.1016/j.micpro.2023.104992_b41) 1979; 18
Bender (10.1016/j.micpro.2023.104992_b30) 2012; 5
Iacob (10.1016/j.micpro.2023.104992_b34) 2015
Bercea (10.1016/j.micpro.2023.104992_b8) 2019
Demaine (10.1016/j.micpro.2023.104992_b21) 2006
Pătraşcu (10.1016/j.micpro.2023.104992_b53) 2012; 59
Ruiz-Rosero (10.1016/j.micpro.2023.104992_b40) 2019; 7
10.1016/j.micpro.2023.104992_b36
(10.1016/j.micpro.2023.104992_b49) 1995
Wajc (10.1016/j.micpro.2023.104992_b55) 2017
Broder (10.1016/j.micpro.2023.104992_b18) 2001
Ladner (10.1016/j.micpro.2023.104992_b48) 1980; 27
Geil (10.1016/j.micpro.2023.104992_b35) 2018
Dillinger (10.1016/j.micpro.2023.104992_b27) 2021
Dietzfelbinger (10.1016/j.micpro.2023.104992_b51) 1990
Graf (10.1016/j.micpro.2023.104992_b26) 2020; 25
10.1016/j.micpro.2023.104992_b32
10.1016/j.micpro.2023.104992_b33
Mortensen (10.1016/j.micpro.2023.104992_b45) 2005
Zobrist (10.1016/j.micpro.2023.104992_b52) 1970
Arbitman (10.1016/j.micpro.2023.104992_b13) 2010
Christopher (10.1016/j.micpro.2023.104992_b4) 2008
Carter (10.1016/j.micpro.2023.104992_b3) 1978
Pibiri (10.1016/j.micpro.2023.104992_b11) 2017
References_xml – start-page: 823
  year: 2005
  end-page: 829
  ident: b28
  article-title: An optimal Bloom filter replacement
  publication-title: SODA
– start-page: 30
  year: 2004
  end-page: 39
  ident: b44
  article-title: The Bloomier filter: An efficient data structure for static support lookup tables
  publication-title: Proceedings of the Fifteenth Annual ACM-SIAM Symposium on Discrete Algorithms
– start-page: 451
  year: 2018
  end-page: 462
  ident: b35
  article-title: Quotient filters: Approximate membership queries on the GPU
  publication-title: 2018 IEEE International Parallel and Distributed Processing Symposium
– year: 2019
  ident: b8
  article-title: Fully-dynamic space-efficient dictionaries and filters with constant number of memory accesses
– volume: 18
  start-page: 143
  year: 1979
  end-page: 154
  ident: b41
  article-title: Universal classes of hash functions
  publication-title: J. Comput. Syst. Sci.
– reference: Saar Cohen, Yossi Matias, Spectral Bloom filters, in: Proceedings of the 2003 ACM SIGMOD International Conference on Management of Data, 2003, pp. 241–252.
– start-page: 77
  year: 1995
  end-page: 122
  ident: b49
  article-title: Design of the DLX machine
  publication-title: The Complexity of Simple Computer Architectures
– volume: 27
  start-page: 831
  year: 1980
  end-page: 838
  ident: b48
  article-title: Parallel prefix computation
  publication-title: J. ACM
– reference: Sebastiano Vigna, Quasi-succinct indices, in: Proceedings of the Sixth ACM International Conference on Web Search and Data Mining, 2013, pp. 83–92.
– start-page: 12
  year: 2009
  end-page: 31
  ident: b29
  article-title: Fast, all-purpose state storage
  publication-title: Model Checking Software: 16th International SPIN Workshop
– year: 1970
  ident: b52
  article-title: A new hashing method with application for game playing
– start-page: 349
  year: 2006
  end-page: 361
  ident: b21
  article-title: De dictionariis dynamicis pauco spatio utentibus
  publication-title: Latin American Symposium on Theoretical Informatics
– start-page: 108
  year: 2007
  end-page: 121
  ident: b25
  article-title: Cache-, hash-and space-efficient Bloom filters
  publication-title: Experimental Algorithms: 6th International Workshop
– year: 2021
  ident: b27
  article-title: Ribbon filter: Practically smaller than Bloom and Xor
– start-page: 104
  year: 2005
  end-page: 111
  ident: b45
  article-title: On dynamic range reporting in one dimension
  publication-title: Proceedings of the Thirty-Seventh Annual ACM Symposium on Theory of Computing
– volume: 15
  start-page: 1311
  year: 2022
  end-page: 1323
  ident: b9
  article-title: Prefix filter: Practically and theoretically better than Bloom
  publication-title: Proc. VLDB Endow.
– start-page: 605
  year: 2017
  end-page: 614
  ident: b20
  article-title: BitFunnel: Revisiting signatures for search
  publication-title: Proceedings of the 40th International ACM SIGIR Conference on Research and Development in Information Retrieval
– reference: Hunter McCoy, Steven Hofmeyr, Katherine Yelick, Prashant Pandey, High-performance filters for GPUs, in: Proceedings of the 28th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming, 2023, pp. 160–173.
– volume: 11
  start-page: 1041
  year: 2018
  end-page: 1055
  ident: b31
  article-title: Morton filters: Faster, space-efficient cuckoo filters via biasing, compression, and decoupled logical sparsity
  publication-title: Proc. VLDB Endowm.
– volume: 21
  start-page: 1912
  year: 2018
  end-page: 1949
  ident: b16
  article-title: Optimizing Bloom filter: Challenges, solutions, and comparisons
  publication-title: IEEE Commun. Surv. Tutor.
– start-page: 144
  year: 2021
  end-page: 157
  ident: b42
  article-title: Dynamic dictionaries for multisets and counting filters with constant time operations
  publication-title: Workshop on Algorithms and Data Structures
– start-page: 6
  year: 1990
  end-page: 19
  ident: b51
  article-title: A new universal class of hash functions and dynamic hashing in real time
  publication-title: International Colloquium on Automata, Languages, and Programming
– start-page: 75
  year: 2014
  end-page: 88
  ident: b14
  article-title: Cuckoo filter: Practically better than Bloom
  publication-title: CoNEXT
– start-page: 197
  year: 2017
  end-page: 202
  ident: b19
  article-title: Deep packet inspection using Cuckoo filter
  publication-title: 2017 Annual Conference on New Trends in Information & Communications Technology Applications
– start-page: 456
  year: 2006
  end-page: 467
  ident: b56
  article-title: Less hashing, same performance: Building a better Bloom filter
  publication-title: Algorithms–ESA 2006: 14th Annual European Symposium
– volume: 215
  start-page: 403
  year: 1990
  end-page: 410
  ident: b37
  article-title: Basic local alignment search tool
  publication-title: J. Mol. Biol.
– reference: Michael A Bender, Martín Farach-Colton, John Kuszmaul, William Kuszmaul, Mingmou Liu, On the optimal time/space tradeoff for hash tables, in: Proceedings of the 54th Annual ACM SIGACT Symposium on Theory of Computing, 2022, pp. 1284–1297.
– start-page: 787
  year: 2010
  end-page: 796
  ident: b13
  article-title: Backyard cuckoo hashing: Constant worst-case operations with a succinct representation
  publication-title: 2010 IEEE 51st Annual Symposium on Foundations of Computer Science
– year: 2008
  ident: b4
  article-title: Introduction to Information Retrieval
– volume: 25
  start-page: 1
  year: 2020
  end-page: 16
  ident: b26
  article-title: XOR filters: Faster and smaller than Bloom and Cuckoo filters
  publication-title: J. Exper. Algor. (JEA)
– year: 2012
  ident: b50
  article-title: Digital Logic Design: A Rigorous Approach
– volume: 59
  start-page: 1
  year: 2012
  end-page: 50
  ident: b53
  article-title: The power of simple tabulation hashing
  publication-title: J. ACM
– year: 1971
  ident: b1
  article-title: On the number of bits required to implement an associative memory. Memorandum 61
– year: 2017
  ident: b11
  article-title: Dynamic Elias-Fano representation
  publication-title: 28th Annual Symposium on Combinatorial Pattern Matching
– volume: 13
  start-page: 422
  year: 1970
  end-page: 426
  ident: b12
  article-title: Space/time trade-offs in hash coding with allowable errors
  publication-title: Commun. ACM
– year: 2005
  ident: b10
  article-title: MG4j at TREC 2005
  publication-title: The Fourteenth Text REtrieval Conference (TREC 2005) Proceedings, no. SP 500-266
– start-page: 1454
  year: 2001
  end-page: 1463
  ident: b18
  article-title: Using multiple hash functions to improve IP lookups
  publication-title: Proceedings IEEE INFOCOM 2001. Conference on Computer Communications. Twentieth Annual Joint Conference of the IEEE Computer and Communications Society (Cat. No. 01CH37213). Vol. 3
– start-page: 872
  year: 2015
  end-page: 876
  ident: b34
  article-title: GPU accelerated information retrieval using Bloom filters
  publication-title: 2015 19th International Conference on System Theory, Control and Computing
– year: 2017
  ident: b55
  article-title: Negative association: Definition, properties, and applications
– start-page: 59
  year: 1978
  end-page: 65
  ident: b3
  article-title: Exact and approximate membership testers
  publication-title: Proceedings of the Tenth Annual ACM Symposium on Theory of Computing
– reference: Giuseppe Ottaviano, Rossano Venturini, Partitioned Elias-Fano indexes, in: Proceedings of the 37th International ACM SIGIR Conference on Research & Development in Information Retrieval, 2014, pp. 273–282.
– year: 2020
  ident: b43
  article-title: A dynamic space-efficient filter with constant time operations
– reference: Facebook, Folly: Facebook Open Source Library, Github.
– volume: vol.162
  start-page: 11:1
  year: 2020
  end-page: 11:17
  ident: b23
  article-title: A dynamic space-efficient filter with constant time operations
  publication-title: 17th Scandinavian Symposium and Workshops on Algorithm Theory
– volume: 1
  start-page: 1
  year: 2023
  end-page: 27
  ident: b46
  article-title: SplinterDB and maplets: Improving the tradeoffs in key-value store compaction policy
  publication-title: Proc. ACM Manag. Data
– start-page: 1
  year: 2017
  end-page: 6
  ident: b39
  article-title: Bloom filter acceleration: A high level synthesis approach
  publication-title: 2017 IEEE 30th Canadian Conference on Electrical and Computer Engineering
– reference: Xinyu Liu, Zhaohua Zhang, Rebecca Stones, Yusen Li, Gang Wang, Xiaoguang Liu, A Hybrid BitFunnel and Partitioned Elias-Fano Inverted Index, in: The World Wide Web Conference, 2019, pp. 1153–1163.
– start-page: 567
  year: 1996
  end-page: 580
  ident: b57
  article-title: Universal hashing and k-wise independent random variables via integer arithmetic without primes
  publication-title: STACS 96: 13th Annual Symposium on Theoretical Aspects of Computer Science Grenoble
– volume: 5
  start-page: 1627
  year: 2012
  end-page: 1637
  ident: b30
  article-title: Don’t thrash: How to cache your hash on flash
  publication-title: PVLDB
– reference: Martin Raab, Angelika Steger, ”Balls into Bins” - A Simple and Tight Analysis, in: Randomization and Approximation Techniques in Computer Science, Second International Workshop, RANDOM’98, Barcelona, Spain, October 8-10, 1998, Proceedings, 1998, pp. 159–170.
– volume: 1
  start-page: 485
  year: 2003
  end-page: 509
  ident: b15
  article-title: Survey: Network applications of Bloom filters: A survey
  publication-title: Internet Math.
– volume: 70
  start-page: 1
  year: 2023
  end-page: 51
  ident: b54
  article-title: Iceberg hashing: Optimizing many hash-table criteria at once
  publication-title: J. ACM
– reference: Lauro B. Costa, Samer Al-Kiswany, Matei Ripeanu, GPU support for batch oriented workloads, in: 2009 IEEE 28th International Performance Computing and Communications Conference, 2009, pp. 231–238.
– reference: Prashant Pandey, Alex Conway, Joe Durie, Michael A Bender, Martin Farach-Colton, Rob Johnson, Vector quotient filters: Overcoming the time/space trade-off in filter design, in: Proceedings of the 2021 International Conference on Management of Data, 2021, pp. 1386–1399.
– volume: 7
  year: 2019
  ident: b40
  article-title: Field programmable gate array applications—A scientometric review
  publication-title: Computation
– volume: 21
  start-page: 246
  year: 1974
  end-page: 260
  ident: b2
  article-title: Efficient storage and retrieval by content and address of static files
  publication-title: J. ACM
– volume: 21
  start-page: 659
  year: 2013
  end-page: 669
  ident: b38
  article-title: Reconfigurable accelerator for the word-matching stage of BLASTN
  publication-title: IEEE Trans. Very Large Scale Integr. (VLSI) Syst.
– year: 2012
  ident: 10.1016/j.micpro.2023.104992_b50
– ident: 10.1016/j.micpro.2023.104992_b47
  doi: 10.1145/3519935.3519969
– start-page: 6
  year: 1990
  ident: 10.1016/j.micpro.2023.104992_b51
  article-title: A new universal class of hash functions and dynamic hashing in real time
– start-page: 30
  year: 2004
  ident: 10.1016/j.micpro.2023.104992_b44
  article-title: The Bloomier filter: An efficient data structure for static support lookup tables
– start-page: 75
  year: 2014
  ident: 10.1016/j.micpro.2023.104992_b14
  article-title: Cuckoo filter: Practically better than Bloom
– start-page: 108
  year: 2007
  ident: 10.1016/j.micpro.2023.104992_b25
  article-title: Cache-, hash-and space-efficient Bloom filters
– volume: 59
  start-page: 1
  issue: 3
  year: 2012
  ident: 10.1016/j.micpro.2023.104992_b53
  article-title: The power of simple tabulation hashing
  publication-title: J. ACM
  doi: 10.1145/2220357.2220361
– start-page: 567
  year: 1996
  ident: 10.1016/j.micpro.2023.104992_b57
  article-title: Universal hashing and k-wise independent random variables via integer arithmetic without primes
– volume: vol.162
  start-page: 11:1
  year: 2020
  ident: 10.1016/j.micpro.2023.104992_b23
  article-title: A dynamic space-efficient filter with constant time operations
– start-page: 872
  year: 2015
  ident: 10.1016/j.micpro.2023.104992_b34
  article-title: GPU accelerated information retrieval using Bloom filters
– ident: 10.1016/j.micpro.2023.104992_b36
  doi: 10.1145/3572848.3577507
– ident: 10.1016/j.micpro.2023.104992_b5
  doi: 10.1145/2433396.2433409
– volume: 21
  start-page: 1912
  issue: 2
  year: 2018
  ident: 10.1016/j.micpro.2023.104992_b16
  article-title: Optimizing Bloom filter: Challenges, solutions, and comparisons
  publication-title: IEEE Commun. Surv. Tutor.
  doi: 10.1109/COMST.2018.2889329
– year: 2020
  ident: 10.1016/j.micpro.2023.104992_b43
– volume: 1
  start-page: 1
  issue: 1
  year: 2023
  ident: 10.1016/j.micpro.2023.104992_b46
  article-title: SplinterDB and maplets: Improving the tradeoffs in key-value store compaction policy
  publication-title: Proc. ACM Manag. Data
  doi: 10.1145/3588726
– volume: 18
  start-page: 143
  issue: 2
  year: 1979
  ident: 10.1016/j.micpro.2023.104992_b41
  article-title: Universal classes of hash functions
  publication-title: J. Comput. Syst. Sci.
  doi: 10.1016/0022-0000(79)90044-8
– year: 1970
  ident: 10.1016/j.micpro.2023.104992_b52
– ident: 10.1016/j.micpro.2023.104992_b17
  doi: 10.1145/872757.872787
– start-page: 1454
  year: 2001
  ident: 10.1016/j.micpro.2023.104992_b18
  article-title: Using multiple hash functions to improve IP lookups
– start-page: 77
  year: 1995
  ident: 10.1016/j.micpro.2023.104992_b49
  article-title: Design of the DLX machine
– volume: 27
  start-page: 831
  issue: 4
  year: 1980
  ident: 10.1016/j.micpro.2023.104992_b48
  article-title: Parallel prefix computation
  publication-title: J. ACM
  doi: 10.1145/322217.322232
– start-page: 787
  year: 2010
  ident: 10.1016/j.micpro.2023.104992_b13
  article-title: Backyard cuckoo hashing: Constant worst-case operations with a succinct representation
– start-page: 104
  year: 2005
  ident: 10.1016/j.micpro.2023.104992_b45
  article-title: On dynamic range reporting in one dimension
– volume: 13
  start-page: 422
  issue: 7
  year: 1970
  ident: 10.1016/j.micpro.2023.104992_b12
  article-title: Space/time trade-offs in hash coding with allowable errors
  publication-title: Commun. ACM
  doi: 10.1145/362686.362692
– volume: 7
  issue: 4
  year: 2019
  ident: 10.1016/j.micpro.2023.104992_b40
  article-title: Field programmable gate array applications—A scientometric review
  publication-title: Computation
  doi: 10.3390/computation7040063
– year: 2019
  ident: 10.1016/j.micpro.2023.104992_b8
– ident: 10.1016/j.micpro.2023.104992_b24
– start-page: 12
  year: 2009
  ident: 10.1016/j.micpro.2023.104992_b29
  article-title: Fast, all-purpose state storage
– start-page: 59
  year: 1978
  ident: 10.1016/j.micpro.2023.104992_b3
  article-title: Exact and approximate membership testers
– start-page: 605
  year: 2017
  ident: 10.1016/j.micpro.2023.104992_b20
  article-title: BitFunnel: Revisiting signatures for search
– year: 2021
  ident: 10.1016/j.micpro.2023.104992_b27
– start-page: 197
  year: 2017
  ident: 10.1016/j.micpro.2023.104992_b19
  article-title: Deep packet inspection using Cuckoo filter
– volume: 21
  start-page: 659
  issue: 4
  year: 2013
  ident: 10.1016/j.micpro.2023.104992_b38
  article-title: Reconfigurable accelerator for the word-matching stage of BLASTN
  publication-title: IEEE Trans. Very Large Scale Integr. (VLSI) Syst.
  doi: 10.1109/TVLSI.2012.2196060
– ident: 10.1016/j.micpro.2023.104992_b6
  doi: 10.1145/2600428.2609615
– ident: 10.1016/j.micpro.2023.104992_b22
  doi: 10.1007/3-540-49543-6_13
– volume: 25
  start-page: 1
  year: 2020
  ident: 10.1016/j.micpro.2023.104992_b26
  article-title: XOR filters: Faster and smaller than Bloom and Cuckoo filters
  publication-title: J. Exper. Algor. (JEA)
  doi: 10.1145/3376122
– ident: 10.1016/j.micpro.2023.104992_b33
  doi: 10.1109/PCCC.2009.5403809
– volume: 215
  start-page: 403
  issue: 3
  year: 1990
  ident: 10.1016/j.micpro.2023.104992_b37
  article-title: Basic local alignment search tool
  publication-title: J. Mol. Biol.
  doi: 10.1016/S0022-2836(05)80360-2
– volume: 11
  start-page: 1041
  issue: 9
  year: 2018
  ident: 10.1016/j.micpro.2023.104992_b31
  article-title: Morton filters: Faster, space-efficient cuckoo filters via biasing, compression, and decoupled logical sparsity
  publication-title: Proc. VLDB Endowm.
  doi: 10.14778/3213880.3213884
– ident: 10.1016/j.micpro.2023.104992_b7
  doi: 10.1145/3308558.3313553
– volume: 21
  start-page: 246
  issue: 2
  year: 1974
  ident: 10.1016/j.micpro.2023.104992_b2
  article-title: Efficient storage and retrieval by content and address of static files
  publication-title: J. ACM
  doi: 10.1145/321812.321820
– start-page: 144
  year: 2021
  ident: 10.1016/j.micpro.2023.104992_b42
  article-title: Dynamic dictionaries for multisets and counting filters with constant time operations
– year: 2017
  ident: 10.1016/j.micpro.2023.104992_b55
– year: 2005
  ident: 10.1016/j.micpro.2023.104992_b10
  article-title: MG4j at TREC 2005
– year: 2008
  ident: 10.1016/j.micpro.2023.104992_b4
– volume: 15
  start-page: 1311
  issue: 7
  year: 2022
  ident: 10.1016/j.micpro.2023.104992_b9
  article-title: Prefix filter: Practically and theoretically better than Bloom
  publication-title: Proc. VLDB Endow.
  doi: 10.14778/3523210.3523211
– start-page: 1
  year: 2017
  ident: 10.1016/j.micpro.2023.104992_b39
  article-title: Bloom filter acceleration: A high level synthesis approach
– volume: 70
  start-page: 1
  issue: 6
  year: 2023
  ident: 10.1016/j.micpro.2023.104992_b54
  article-title: Iceberg hashing: Optimizing many hash-table criteria at once
  publication-title: J. ACM
  doi: 10.1145/3625817
– start-page: 451
  year: 2018
  ident: 10.1016/j.micpro.2023.104992_b35
  article-title: Quotient filters: Approximate membership queries on the GPU
– volume: 5
  start-page: 1627
  issue: 11
  year: 2012
  ident: 10.1016/j.micpro.2023.104992_b30
  article-title: Don’t thrash: How to cache your hash on flash
  publication-title: PVLDB
– year: 1971
  ident: 10.1016/j.micpro.2023.104992_b1
– start-page: 823
  year: 2005
  ident: 10.1016/j.micpro.2023.104992_b28
  article-title: An optimal Bloom filter replacement
– volume: 1
  start-page: 485
  issue: 4
  year: 2003
  ident: 10.1016/j.micpro.2023.104992_b15
  article-title: Survey: Network applications of Bloom filters: A survey
  publication-title: Internet Math.
  doi: 10.1080/15427951.2004.10129096
– start-page: 349
  year: 2006
  ident: 10.1016/j.micpro.2023.104992_b21
  article-title: De dictionariis dynamicis pauco spatio utentibus
– start-page: 456
  year: 2006
  ident: 10.1016/j.micpro.2023.104992_b56
  article-title: Less hashing, same performance: Building a better Bloom filter
– year: 2017
  ident: 10.1016/j.micpro.2023.104992_b11
  article-title: Dynamic Elias-Fano representation
– ident: 10.1016/j.micpro.2023.104992_b32
  doi: 10.1145/3448016.3452841
SSID ssj0005062
Score 2.3204494
Snippet We present the first hardware design that supports operations over the Fano–Elias encoding (FE-encoding). Our design is a combinational circuit (i.e., single...
SourceID crossref
elsevier
SourceType Index Database
Publisher
StartPage 104992
SubjectTerms Approximate membership queries
Bloom filter
Dictionaries
Fano–Elias encoding
FPGA
Title A Micro-architecture that supports the Fano–Elias encoding and a hardware accelerator for approximate membership queries
URI https://dx.doi.org/10.1016/j.micpro.2023.104992
Volume 105
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
journalDatabaseRights – providerCode: PRVESC
  databaseName: Baden-Württemberg Complete Freedom Collection (Elsevier)
  customDbUrl:
  eissn: 1872-9436
  dateEnd: 99991231
  omitProxy: true
  ssIdentifier: ssj0005062
  issn: 0141-9331
  databaseCode: GBLVA
  dateStart: 20110101
  isFulltext: true
  titleUrlDefault: https://www.sciencedirect.com
  providerName: Elsevier
– providerCode: PRVESC
  databaseName: Elsevier SD Complete Freedom Collection [SCCMFC]
  customDbUrl:
  eissn: 1872-9436
  dateEnd: 99991231
  omitProxy: true
  ssIdentifier: ssj0005062
  issn: 0141-9331
  databaseCode: ACRLP
  dateStart: 19950101
  isFulltext: true
  titleUrlDefault: https://www.sciencedirect.com
  providerName: Elsevier
– providerCode: PRVESC
  databaseName: Elsevier SD Freedom Collection
  customDbUrl:
  eissn: 1872-9436
  dateEnd: 99991231
  omitProxy: true
  ssIdentifier: ssj0005062
  issn: 0141-9331
  databaseCode: .~1
  dateStart: 19950101
  isFulltext: true
  titleUrlDefault: https://www.sciencedirect.com
  providerName: Elsevier
– providerCode: PRVESC
  databaseName: Elsevier SD Freedom Collection Journals [SCFCJ]
  customDbUrl:
  eissn: 1872-9436
  dateEnd: 99991231
  omitProxy: true
  ssIdentifier: ssj0005062
  issn: 0141-9331
  databaseCode: AIKHN
  dateStart: 19950101
  isFulltext: true
  titleUrlDefault: https://www.sciencedirect.com
  providerName: Elsevier
– providerCode: PRVLSH
  databaseName: Elsevier Journals
  customDbUrl:
  mediaType: online
  eissn: 1872-9436
  dateEnd: 99991231
  omitProxy: true
  ssIdentifier: ssj0005062
  issn: 0141-9331
  databaseCode: AKRWK
  dateStart: 19790101
  isFulltext: true
  providerName: Library Specific Holdings
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV1NS8QwEA2yXrz4La5f5OA1bttkm-a4yC6rsp4UvJUknWLF7S5uRfEg_gf_ob_ETNrCCuLBY0oCZZq-mWHezCPkNNRR0M8kktpDYCKyEVNcGZYDBJmEkFtfwZ9cx-NbcXnXv1sh520vDNIqG-yvMd2jdfOk11izNy-KHtKSXPTBHfSi45HYaC6ERBWDs_clmkfgRUVxM8Pdbfuc53hNC-tw6gwlxLHYqVT0u3tacjmjTbLexIp0UL_OFlmBcptstDoMtPktd8jbgE6QV8eWqwK0utcVXTzPfU3ArYCOdDn7-vgcPhZ6QXGAJfotqsuMaorNVy_aHdPWOk_ki-_UBbTUDx1_LVxgC3QKKB-C_C7q3Akm2bvkdjS8OR-zRlOBWZc8VCwCyfPc5EIalUAW8zgxUZJoDgkPM8ignxuhrFTWZxe2b4T7XHmujQrBpSJ8j3TKWQn7hMYKXLRlOHa0CWONFjrOEgh1wmMpgqRLWGvKdF6PzkhbTtlDWps-RdOntem7RLb2Tn9cgdSh-58nD_598pCsuZWoSWVHpFM9PcOxizIqc-Kv0QlZHVxcja-_AaEz1RA
linkProvider Elsevier
linkToHtml http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV1LS8QwEA66HvTiW3ybg9e42yZtmqMsLutjPSl4K0k6xYpbF60oHsT_4D_0l5hJW1hBPHhsm4HyNZ1vhvkmQ8hhoMNelEkUtQfARGhDprgyLAfoZRICbn0Ff3QZD6_F2U10M0P6bS8Myiob31_7dO-tmzvdBs3upCi6KEty0Qd3rheJR0azZE5EocQM7Oh9SufR81NFcTXD5W3_nBd5jQvrHNURzhDHaqdS4e_8NMU5g2Wy2ASL9Lh-nxUyA-UqWWoHMdDmv1wjb8d0hMI6Nl0WoNWtrujT88QXBdwV0IEuH74-Pk_uC_1E8QRLJC6qy4xqit1XL9qZaWsdFfnqO3URLfWnjr8WLrIFOgacH4ICL-r4BLPsdXI9OLnqD1kzVIFZlz1ULATJ89zkQhqVQBbzODFhkmgOCQ8yyCDKjVBWKuvTCxsZ4b5XnmujAnC5CN8gnfKhhE1CYwUu3DIcW9qEsUYLHWcJBDrhsRS9ZIuwFsp0Up-dkbaisru0hj5F6NMa-i0iW7zTH3sgde79T8vtf1sekPnh1egivTi9PN8hC-6JqBVmu6RTPT7Dngs5KrPvt9Q3tP_WpQ
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=A+Micro-architecture+that+supports+the+Fano%E2%80%93Elias+encoding+and+a+hardware+accelerator+for+approximate+membership+queries&rft.jtitle=Microprocessors+and+microsystems&rft.au=Even%2C+Guy&rft.au=Marques+Domingues%2C+Gabriel&rft.date=2024-03-01&rft.pub=Elsevier+B.V&rft.issn=0141-9331&rft.eissn=1872-9436&rft.volume=105&rft_id=info:doi/10.1016%2Fj.micpro.2023.104992&rft.externalDocID=S0141933123002375
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0141-9331&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0141-9331&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0141-9331&client=summon