{"id":"https://openalex.org/W2058658645","doi":"https://doi.org/10.1145/2133803.2330085","title":"Exact pattern matching with feed-forward bloom filters","display_name":"Exact pattern matching with feed-forward bloom filters","publication_year":2012,"publication_date":"2012-07-01","ids":{"openalex":"https://openalex.org/W2058658645","doi":"https://doi.org/10.1145/2133803.2330085","mag":"2058658645"},"language":"en","primary_location":{"id":"doi:10.1145/2133803.2330085","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2133803.2330085","pdf_url":null,"source":{"id":"https://openalex.org/S201104086","display_name":"ACM Journal of Experimental Algorithmics","issn_l":"1084-6654","issn":["1084-6654"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Journal of Experimental Algorithmics","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5082058927","display_name":"Iulian Moraru","orcid":null},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Iulian Moraru","raw_affiliation_strings":["Carnegie Mellon University, Pittsburgh, PA","Carnegie-Mellon University, Pittsburgh, PA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, Pittsburgh, PA","institution_ids":["https://openalex.org/I74973139"]},{"raw_affiliation_string":"Carnegie-Mellon University, Pittsburgh, PA","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5085479490","display_name":"David G. Andersen","orcid":null},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"David G. Andersen","raw_affiliation_strings":["Carnegie Mellon University, Pittsburgh, PA","Carnegie-Mellon University, Pittsburgh, PA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, Pittsburgh, PA","institution_ids":["https://openalex.org/I74973139"]},{"raw_affiliation_string":"Carnegie-Mellon University, Pittsburgh, PA","institution_ids":["https://openalex.org/I74973139"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I74973139"],"apc_list":null,"apc_paid":null,"fwci":1.5985,"has_fulltext":false,"cited_by_count":21,"citation_normalized_percentile":{"value":0.85792934,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":"17","issue":null,"first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11478","display_name":"Caching and Content Delivery","score":0.9994999766349792,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T11478","display_name":"Caching and Content Delivery","score":0.9994999766349792,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T12326","display_name":"Network Packet Processing and Optimization","score":0.9994999766349792,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11269","display_name":"Algorithms and Data Compression","score":0.9976000189781189,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/bloom-filter","display_name":"Bloom filter","score":0.9684794545173645},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7729936838150024},{"id":"https://openalex.org/keywords/string-searching-algorithm","display_name":"String searching algorithm","score":0.6497129797935486},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.6433614492416382},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.49942755699157715},{"id":"https://openalex.org/keywords/pattern-matching","display_name":"Pattern matching","score":0.48205336928367615},{"id":"https://openalex.org/keywords/cache","display_name":"Cache","score":0.4743023216724396},{"id":"https://openalex.org/keywords/matching","display_name":"Matching (statistics)","score":0.44717690348625183},{"id":"https://openalex.org/keywords/filter","display_name":"Filter (signal processing)","score":0.44016748666763306},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3566341996192932},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.13629916310310364},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.11596491932868958}],"concepts":[{"id":"https://openalex.org/C147224247","wikidata":"https://www.wikidata.org/wiki/Q885373","display_name":"Bloom filter","level":2,"score":0.9684794545173645},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7729936838150024},{"id":"https://openalex.org/C7757238","wikidata":"https://www.wikidata.org/wiki/Q374040","display_name":"String searching algorithm","level":3,"score":0.6497129797935486},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.6433614492416382},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.49942755699157715},{"id":"https://openalex.org/C68859911","wikidata":"https://www.wikidata.org/wiki/Q1503724","display_name":"Pattern matching","level":2,"score":0.48205336928367615},{"id":"https://openalex.org/C115537543","wikidata":"https://www.wikidata.org/wiki/Q165596","display_name":"Cache","level":2,"score":0.4743023216724396},{"id":"https://openalex.org/C165064840","wikidata":"https://www.wikidata.org/wiki/Q1321061","display_name":"Matching (statistics)","level":2,"score":0.44717690348625183},{"id":"https://openalex.org/C106131492","wikidata":"https://www.wikidata.org/wiki/Q3072260","display_name":"Filter (signal processing)","level":2,"score":0.44016748666763306},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3566341996192932},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.13629916310310364},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.11596491932868958},{"id":"https://openalex.org/C31972630","wikidata":"https://www.wikidata.org/wiki/Q844240","display_name":"Computer vision","level":1,"score":0.0},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"score":0.0}],"mesh":[],"locations_count":5,"locations":[{"id":"doi:10.1145/2133803.2330085","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2133803.2330085","pdf_url":null,"source":{"id":"https://openalex.org/S201104086","display_name":"ACM Journal of Experimental Algorithmics","issn_l":"1084-6654","issn":["1084-6654"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Journal of Experimental Algorithmics","raw_type":"journal-article"},{"id":"pmh:oai:repository.cmu.edu:compsci-3569","is_oa":false,"landing_page_url":"http://repository.cmu.edu/compsci/2532","pdf_url":null,"source":{"id":"https://openalex.org/S7407050927","display_name":"KiltHub Repository","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Computer Science Department","raw_type":"text"},{"id":"pmh:doi:10.1184/r1/6605369","is_oa":false,"landing_page_url":null,"pdf_url":null,"source":{"id":"https://openalex.org/S4406922384","display_name":"Open MIND","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"Journal contribution"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.185.3044","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.185.3044","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.siam.org/proceedings/alenex/2011/alx11_01_morarui.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.208.4038","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.208.4038","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.cmu.edu/%7Edga/papers/ffbf-alenex2011.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/7","display_name":"Affordable and clean energy","score":0.5899999737739563}],"awards":[{"id":"https://openalex.org/G510727475","display_name":null,"funder_award_id":"CCF-0964474","funder_id":"https://openalex.org/F4320337387","funder_display_name":"Division of Computing and Communication Foundations"},{"id":"https://openalex.org/G864484945","display_name":null,"funder_award_id":"DAAD-19-02-1-0389","funder_id":"https://openalex.org/F4320338281","funder_display_name":"Army Research Office"}],"funders":[{"id":"https://openalex.org/F4320337387","display_name":"Division of Computing and Communication Foundations","ror":"https://ror.org/01mng8331"},{"id":"https://openalex.org/F4320338281","display_name":"Army Research Office","ror":"https://ror.org/05epdh915"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":24,"referenced_works":["https://openalex.org/W124244495","https://openalex.org/W1549352151","https://openalex.org/W1577337656","https://openalex.org/W1710724155","https://openalex.org/W1972418517","https://openalex.org/W1982515170","https://openalex.org/W1984081611","https://openalex.org/W2020110631","https://openalex.org/W2023797161","https://openalex.org/W2057887529","https://openalex.org/W2063544484","https://openalex.org/W2069074882","https://openalex.org/W2099964107","https://openalex.org/W2123845384","https://openalex.org/W2133394135","https://openalex.org/W2134826720","https://openalex.org/W2157740020","https://openalex.org/W2157867464","https://openalex.org/W2176659866","https://openalex.org/W2401693723","https://openalex.org/W2582397176","https://openalex.org/W2995414748","https://openalex.org/W4238261333","https://openalex.org/W4389615669"],"related_works":["https://openalex.org/W3145288231","https://openalex.org/W2371263218","https://openalex.org/W2092552144","https://openalex.org/W2943461603","https://openalex.org/W2354196777","https://openalex.org/W2965473297","https://openalex.org/W2108265183","https://openalex.org/W2257399947","https://openalex.org/W2248278495","https://openalex.org/W2386746909"],"abstract_inverted_index":{"This":[0,24],"article":[1],"presents":[2],"a":[3,14,20,35,44,69,116,132],"new,":[4],"memory":[5,85],"efficient":[6],"and":[7,33,82,84,120],"cache-optimized":[8],"algorithm":[9,25,32,97],"for":[10,13,102,111,121,128],"simultaneously":[11],"searching":[12],"large":[15,22,89],"number":[16,127],"of":[17,38,56,73,118,134],"patterns":[18,114,124],"in":[19],"very":[21],"corpus.":[23],"builds":[26],"upon":[27],"the":[28,52,74],"Rabin-Karp":[29],"string":[30],"search":[31,110],"incorporates":[34],"new":[36],"type":[37],"Bloom":[39,46,75],"filter":[40,47],"that":[41,64],"we":[42,62],"call":[43],"feed-forward":[45],".":[48],"While":[49],"it":[50],"retains":[51],"asymptotic":[53],"time":[54],"complexity":[55],"previous":[57],"multiple":[58],"pattern":[59],"matching":[60],"algorithms,":[61],"show":[63],"this":[65],"technique,":[66],"along":[67],"with":[68,94],"CPU":[70],"architecture-aware":[71],"design":[72],"filter,":[76],"can":[77,109],"provide":[78],"speed-ups":[79],"between":[80],"2\u00d7":[81],"30\u00d7,":[83],"consumption":[86],"reductions":[87],"as":[88,90],"50\u00d7":[91],"when":[92],"compared":[93],"grep.":[95],"Our":[96],"is":[98],"also":[99],"well":[100],"suited":[101],"implementations":[103],"on":[104],"GPUs:":[105],"A":[106],"modern":[107],"GPU":[108],"3":[112],"million":[113,123],"at":[115,131],"rate":[117,133],"580MB/s,":[119],"100":[122],"(a":[125],"prohibitive":[126],"traditional":[129],"algorithms)":[130],"170MB/s.":[135]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":1},{"year":2022,"cited_by_count":1},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":5},{"year":2018,"cited_by_count":2},{"year":2017,"cited_by_count":3},{"year":2016,"cited_by_count":2},{"year":2015,"cited_by_count":1},{"year":2014,"cited_by_count":3}],"updated_date":"2026-08-01T09:00:35.917206","created_date":"2025-10-10T00:00:00"}
