Ungefärlig medlemskap fråga (AMQ) datastrukturer, såsom Bloom-filtret, kvoten filter, och guckoo filter, har hittat många applikationer i databaser, lagringssystem, nätverk, beräkningsbiologi, och andra domäner. Många applikationer måste dock arbeta kring begränsningar i förmågan eller prestandan hos nuvarande AMQs, vilket gör dessa applikationer mer komplexa och mindre prestanda. Till exempel, många aktuella AMQs kan inte ta bort eller räkna antalet förekomster av varje inmatningsobjekt, ta upp stora mängder utrymme, är långsamma, kan inte ändras storlek eller slås samman, eller har dålig lokalisering av referens och därmed fungerar dåligt när lagras på SSD eller disk. I detta dokument föreslås en ny allmän AMQ, räknarkvotfiltret (CQF). CQF stöder ungefärlig medlemstestning och räknar förekomster av objekt i en datauppsättning. Denna allmänna AMQ är liten och snabb, har god lokalitet av referens, skalor utanför RAM till SSD, och stöder raderingar, räkna (även på skev datauppsättningar), ändra storlek, sammanslagning och mycket samtidig åtkomst. Papperet rapporterar om strukturens prestanda på både tillverkade och applikationsgenererade datamängder. I våra experiment utför CQF in-minne inlägg och frågor upp till en ordning-av-magnitud snabbare än det ursprungliga quotient filtret, flera gånger snabbare än ett Bloom filter, och på liknande sätt till guckoo filtret, även om ingen av dessa andra datastrukturer stöder räkning. På SSD överträffar CQF alla strukturer med en faktor på minst 2 eftersom CQF har god datalokalisering. CQF uppnår dessa prestandavinster genom att omstrukturera metadatabitarna i kvotfiltret för att få snabba uppslag vid höga belastningsfaktorer (dvs. även när datastrukturen är nästan full). Som ett resultat, CQF erbjuder bra uppslagsprestanda även upp till en belastningsfaktor på 95%. Räknandet är i huvudsak fritt i CQF i den meningen att strukturen är jämförbar eller mer utrymmeseffektiv även än noncounting data strukturer (t.ex. Bloom, quotient, och guckoo filter). Papperet visar också hur man påskyndar CQF-operationer genom att använda nya x86 bit-manipuleringsinstruktioner som införts i Intels Haswell-serie av processorer. De omstrukturerade metadatana omvandlar många quotientfiltermetadataoperationer till rang-och-välja bit-vektor-operationer. Därför kan våra effektiva implementeringar av rank och select vara användbara för andra rank-och-select-baserade datastrukturer.
Till exempel Pandey et al. REF har visat hur man kan minska minnet overhead för kvotfilter genom att använda rank-select data strukturer.
A General-Purpose Counting Filter: Making Every Bit Count
{'venue': "SIGMOD '17", 'journal': None, 'mag_field_of_study': ['Computer Science']}