{"id":"https://openalex.org/W2104542188","doi":"https://doi.org/10.1109/fpl.2010.21","title":"Automation Framework for Large-Scale Regular Expression Matching on FPGA","display_name":"Automation Framework for Large-Scale Regular Expression Matching on FPGA","publication_year":2010,"publication_date":"2010-08-01","ids":{"openalex":"https://openalex.org/W2104542188","doi":"https://doi.org/10.1109/fpl.2010.21","mag":"2104542188"},"language":"en","primary_location":{"is_oa":false,"landing_page_url":"https://doi.org/10.1109/fpl.2010.21","pdf_url":null,"source":null,"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false},"type":"article","type_crossref":"proceedings-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/A5032744750","display_name":"Thilan Ganegedara","orcid":null},"institutions":[{"id":"https://openalex.org/I1174212","display_name":"University of Southern California","ror":"https://ror.org/03taz7m60","country_code":"US","type":"education","lineage":["https://openalex.org/I1174212"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Thilan Ganegedara","raw_affiliation_strings":["Dept. of Electr. Eng. Univ. of Southern California, Los Angeles, CA, USA"],"affiliations":[{"raw_affiliation_string":"Dept. of Electr. Eng. Univ. of Southern California, Los Angeles, CA, USA","institution_ids":["https://openalex.org/I1174212"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5045357286","display_name":"Yi-Hua E. Yang","orcid":null},"institutions":[{"id":"https://openalex.org/I1174212","display_name":"University of Southern California","ror":"https://ror.org/03taz7m60","country_code":"US","type":"education","lineage":["https://openalex.org/I1174212"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Yi-Hua E. Yang","raw_affiliation_strings":["Dept. of Electr. Eng. Univ. of Southern California, Los Angeles, CA, USA"],"affiliations":[{"raw_affiliation_string":"Dept. of Electr. Eng. Univ. of Southern California, Los Angeles, CA, USA","institution_ids":["https://openalex.org/I1174212"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5033166029","display_name":"Viktor K. Prasanna","orcid":"https://orcid.org/0000-0002-1609-8589"},"institutions":[{"id":"https://openalex.org/I1174212","display_name":"University of Southern California","ror":"https://ror.org/03taz7m60","country_code":"US","type":"education","lineage":["https://openalex.org/I1174212"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Viktor K. Prasanna","raw_affiliation_strings":["Dept. of Electr. Eng. Univ. of Southern California, Los Angeles, CA, USA"],"affiliations":[{"raw_affiliation_string":"Dept. of Electr. Eng. Univ. of Southern California, Los Angeles, CA, USA","institution_ids":["https://openalex.org/I1174212"]}]}],"institution_assertions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.688,"has_fulltext":true,"fulltext_origin":"ngrams","cited_by_count":9,"citation_normalized_percentile":{"value":0.694971,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":83,"max":84},"biblio":{"volume":null,"issue":null,"first_page":"50","last_page":"55"},"is_retracted":false,"is_paratext":false,"primary_topic":{"id":"https://openalex.org/T12326","display_name":"Network Packet Processing and Optimization","score":1.0,"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"}},"topics":[{"id":"https://openalex.org/T12326","display_name":"Network Packet Processing and Optimization","score":1.0,"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/T10181","display_name":"Natural Language Processing Techniques","score":0.9855,"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"}},{"id":"https://openalex.org/T11269","display_name":"Algorithms and Data Compression","score":0.9782,"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/regular-expression","display_name":"Regular expression","score":0.8532546},{"id":"https://openalex.org/keywords/compile-time","display_name":"Compile time","score":0.4684978},{"id":"https://openalex.org/keywords/expression","display_name":"Expression (computer science)","score":0.41134062}],"concepts":[{"id":"https://openalex.org/C121329065","wikidata":"https://www.wikidata.org/wiki/Q185612","display_name":"Regular expression","level":2,"score":0.8532546},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.84275967},{"id":"https://openalex.org/C43521106","wikidata":"https://www.wikidata.org/wiki/Q2165493","display_name":"Pipeline (software)","level":2,"score":0.700756},{"id":"https://openalex.org/C101468663","wikidata":"https://www.wikidata.org/wiki/Q1620158","display_name":"Modular design","level":2,"score":0.57295007},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5631314},{"id":"https://openalex.org/C42935608","wikidata":"https://www.wikidata.org/wiki/Q190411","display_name":"Field-programmable gate array","level":2,"score":0.53031605},{"id":"https://openalex.org/C68859911","wikidata":"https://www.wikidata.org/wiki/Q1503724","display_name":"Pattern matching","level":2,"score":0.52615994},{"id":"https://openalex.org/C165064840","wikidata":"https://www.wikidata.org/wiki/Q1321061","display_name":"Matching (statistics)","level":2,"score":0.47854453},{"id":"https://openalex.org/C200833197","wikidata":"https://www.wikidata.org/wiki/Q333707","display_name":"Compile time","level":3,"score":0.4684978},{"id":"https://openalex.org/C118524514","wikidata":"https://www.wikidata.org/wiki/Q173212","display_name":"Computer architecture","level":1,"score":0.4601683},{"id":"https://openalex.org/C115901376","wikidata":"https://www.wikidata.org/wiki/Q184199","display_name":"Automation","level":2,"score":0.45698076},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.42446023},{"id":"https://openalex.org/C90559484","wikidata":"https://www.wikidata.org/wiki/Q778379","display_name":"Expression (computer science)","level":2,"score":0.41134062},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.4106531},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.3949286},{"id":"https://openalex.org/C9390403","wikidata":"https://www.wikidata.org/wiki/Q3966","display_name":"Computer hardware","level":1,"score":0.36355883},{"id":"https://openalex.org/C78519656","wikidata":"https://www.wikidata.org/wiki/Q101333","display_name":"Mechanical engineering","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},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"is_oa":false,"landing_page_url":"https://doi.org/10.1109/fpl.2010.21","pdf_url":null,"source":null,"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false}],"best_oa_location":null,"sustainable_development_goals":[],"grants":[],"datasets":[],"versions":[],"referenced_works_count":13,"referenced_works":["https://openalex.org/W1707172707","https://openalex.org/W1768003599","https://openalex.org/W1960511147","https://openalex.org/W2000667158","https://openalex.org/W2076238443","https://openalex.org/W2077224377","https://openalex.org/W2105956753","https://openalex.org/W2135932040","https://openalex.org/W2139729124","https://openalex.org/W2141607151","https://openalex.org/W2153102141","https://openalex.org/W2170523504","https://openalex.org/W2170663082"],"related_works":["https://openalex.org/W3150132563","https://openalex.org/W2740990710","https://openalex.org/W2164474969","https://openalex.org/W2086733238","https://openalex.org/W2078700326","https://openalex.org/W2072607050","https://openalex.org/W2039534605","https://openalex.org/W1782169904","https://openalex.org/W1601646354","https://openalex.org/W1482645738"],"abstract_inverted_index":{"We":[0],"present":[1],"an":[2,174],"extensible":[3],"automation":[4,175],"framework":[5,28,111,154,176],"for":[6,58,90,152],"constructing":[7],"and":[8,67,77,87,122,170],"optimizing":[9],"large-scale":[10],"regular":[11,38],"expression":[12,39],"matching":[13,105],"(REM)":[14],"circuits":[15],"on":[16,137],"FPGA.":[17],"Paralleling":[18],"the":[19,54,75,129,133,153,161],"technique":[20],"used":[21,159],"by":[22,49,128,160],"software":[23],"compilers,":[24],"we":[25],"divide":[26],"our":[27],"into":[29,41,164],"two":[30],"parts:":[31],"a":[32,42,50,59,138,150],"frontend":[33,76],"that":[34,52],"parses":[35],"each":[36],"PCRE-formatted":[37],"(regex)":[40],"modular":[43],"non-deterministic":[44],"finite":[45],"automaton":[46],"(RE-NFA),":[47],"followed":[48],"backend":[51],"generates":[53],"REM":[55,181],"circuit":[56,68],"design":[57],"multi-pipeline":[60,81],"architecture.":[61],"With":[62],"such":[63],"organization,":[64],"various":[65],"pattern":[66],"level":[69],"optimizations":[70],"can":[71,97],"be":[72,98,178],"applied":[73],"to":[74,102,115,155,180,183],"backend,":[78],"respectively.":[79],"The":[80],"architecture":[82],"utilizes":[83],"both":[84],"logic":[85,169],"slices":[86],"on-chip":[88],"BRAM":[89],"optimized":[91,168],"character":[92],"matching;":[93],"in":[94],"addition,":[95],"it":[96,146],"configured":[99],"at":[100],"compile-time":[101],"produce":[103],"concurrent":[104],"outputs":[106],"from":[107],"multiple":[108],"RE-NFAs.":[109],"Our":[110],"prototype":[112],"handles":[113],"up":[114],"64k":[116],"\"regular\"":[117],"regexes":[118,158],"with":[119,167,187],"arbitrary":[120],"complexity":[121],"number":[123],"of":[124,132],"states,":[125],"limited":[126],"only":[127],"hardware":[130],"resources":[131],"target":[134],"device.":[135],"Running":[136],"commodity":[139],"2.3":[140],"GHz":[141],"PC":[142],"(AMD":[143],"Opteron":[144],"1356),":[145],"takes":[147],"less":[148],"than":[149],"minute":[151],"convert":[156],"~1800":[157],"Snort":[162],"IDS":[163],"RTL-level":[165],"designs":[166],"memory":[171],"usage.":[172],"Such":[173],"could":[177],"invaluable":[179],"systems":[182],"update":[184],"regex":[185],"definitions":[186],"minimal":[188],"human":[189],"intervention.":[190]},"cited_by_api_url":"https://api.openalex.org/works?filter=cites:W2104542188","counts_by_year":[{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":1},{"year":2015,"cited_by_count":1},{"year":2014,"cited_by_count":2},{"year":2013,"cited_by_count":1},{"year":2012,"cited_by_count":3}],"updated_date":"2024-12-12T20:30:24.392320","created_date":"2016-06-24"}