{"id":"https://openalex.org/W1965993826","doi":"https://doi.org/10.1145/1872007.1872053","title":"The case for hardware transactional memory in software packet processing","display_name":"The case for hardware transactional memory in software packet processing","publication_year":2010,"publication_date":"2010-10-25","ids":{"openalex":"https://openalex.org/W1965993826","doi":"https://doi.org/10.1145/1872007.1872053","mag":"1965993826"},"language":"en","primary_location":{"id":"doi:10.1145/1872007.1872053","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1872007.1872053","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 6th ACM/IEEE Symposium on Architectures for Networking and Communications Systems","raw_type":"proceedings-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/A5025833637","display_name":"Martin Labrecque","orcid":null},"institutions":[{"id":"https://openalex.org/I185261750","display_name":"University of Toronto","ror":"https://ror.org/03dbr7087","country_code":"CA","type":"education","lineage":["https://openalex.org/I185261750"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Martin Labrecque","raw_affiliation_strings":["University of Toronto","Dept. of Electrical and Computer Eng., Univ. of Toronto, Canada"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Toronto","institution_ids":["https://openalex.org/I185261750"]},{"raw_affiliation_string":"Dept. of Electrical and Computer Eng., Univ. of Toronto, Canada","institution_ids":["https://openalex.org/I185261750"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5110755517","display_name":"J. Gregory Steffan","orcid":null},"institutions":[{"id":"https://openalex.org/I185261750","display_name":"University of Toronto","ror":"https://ror.org/03dbr7087","country_code":"CA","type":"education","lineage":["https://openalex.org/I185261750"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"J. Gregory Steffan","raw_affiliation_strings":["University of Toronto","Dept. of Electrical and Computer Eng., Univ. of Toronto, Canada"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Toronto","institution_ids":["https://openalex.org/I185261750"]},{"raw_affiliation_string":"Dept. of Electrical and Computer Eng., Univ. of Toronto, Canada","institution_ids":["https://openalex.org/I185261750"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I185261750"],"apc_list":null,"apc_paid":null,"fwci":1.8655,"has_fulltext":false,"cited_by_count":9,"citation_normalized_percentile":{"value":0.85362919,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":97},"biblio":{"volume":null,"issue":null,"first_page":"1","last_page":"11"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10772","display_name":"Distributed systems and fault tolerance","score":0.9998999834060669,"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/T10772","display_name":"Distributed systems and fault tolerance","score":0.9998999834060669,"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/T10829","display_name":"Interconnection Networks and Systems","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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9990000128746033,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.857278048992157},{"id":"https://openalex.org/keywords/packet-processing","display_name":"Packet processing","score":0.8007351160049438},{"id":"https://openalex.org/keywords/serialization","display_name":"Serialization","score":0.5938392877578735},{"id":"https://openalex.org/keywords/network-packet","display_name":"Network packet","score":0.5752156972885132},{"id":"https://openalex.org/keywords/software-transactional-memory","display_name":"Software transactional memory","score":0.564202606678009},{"id":"https://openalex.org/keywords/transactional-memory","display_name":"Transactional memory","score":0.5606033802032471},{"id":"https://openalex.org/keywords/network-processor","display_name":"Network processor","score":0.5181611776351929},{"id":"https://openalex.org/keywords/synchronization","display_name":"Synchronization (alternating current)","score":0.5073627829551697},{"id":"https://openalex.org/keywords/programmer","display_name":"Programmer","score":0.42915087938308716},{"id":"https://openalex.org/keywords/embedded-system","display_name":"Embedded system","score":0.428066223859787},{"id":"https://openalex.org/keywords/computer-network","display_name":"Computer network","score":0.35428690910339355},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.35184741020202637},{"id":"https://openalex.org/keywords/database-transaction","display_name":"Database transaction","score":0.10130712389945984}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.857278048992157},{"id":"https://openalex.org/C2779581428","wikidata":"https://www.wikidata.org/wiki/Q7122997","display_name":"Packet processing","level":3,"score":0.8007351160049438},{"id":"https://openalex.org/C52723943","wikidata":"https://www.wikidata.org/wiki/Q1127410","display_name":"Serialization","level":2,"score":0.5938392877578735},{"id":"https://openalex.org/C158379750","wikidata":"https://www.wikidata.org/wiki/Q214111","display_name":"Network packet","level":2,"score":0.5752156972885132},{"id":"https://openalex.org/C167149655","wikidata":"https://www.wikidata.org/wiki/Q1189004","display_name":"Software transactional memory","level":4,"score":0.564202606678009},{"id":"https://openalex.org/C134277064","wikidata":"https://www.wikidata.org/wiki/Q878206","display_name":"Transactional memory","level":3,"score":0.5606033802032471},{"id":"https://openalex.org/C74366991","wikidata":"https://www.wikidata.org/wiki/Q2755335","display_name":"Network processor","level":3,"score":0.5181611776351929},{"id":"https://openalex.org/C2778562939","wikidata":"https://www.wikidata.org/wiki/Q1298791","display_name":"Synchronization (alternating current)","level":3,"score":0.5073627829551697},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.42915087938308716},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.428066223859787},{"id":"https://openalex.org/C31258907","wikidata":"https://www.wikidata.org/wiki/Q1301371","display_name":"Computer network","level":1,"score":0.35428690910339355},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.35184741020202637},{"id":"https://openalex.org/C75949130","wikidata":"https://www.wikidata.org/wiki/Q848010","display_name":"Database transaction","level":2,"score":0.10130712389945984},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.0},{"id":"https://openalex.org/C127162648","wikidata":"https://www.wikidata.org/wiki/Q16858953","display_name":"Channel (broadcasting)","level":2,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/1872007.1872053","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1872007.1872053","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 6th ACM/IEEE Symposium on Architectures for Networking and Communications Systems","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.173.7373","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.173.7373","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.eecg.toronto.edu/%7Esteffan/papers/labrecque_ancs10.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.188.6705","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.188.6705","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.eecg.utoronto.ca/%7Emartinl/papers/ancs2010.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":38,"referenced_works":["https://openalex.org/W24690305","https://openalex.org/W1526892439","https://openalex.org/W1568228276","https://openalex.org/W1569932295","https://openalex.org/W1674877186","https://openalex.org/W1960771887","https://openalex.org/W1969772443","https://openalex.org/W1980881265","https://openalex.org/W1981810829","https://openalex.org/W1989773959","https://openalex.org/W2003215931","https://openalex.org/W2024333047","https://openalex.org/W2027282026","https://openalex.org/W2035417994","https://openalex.org/W2038164414","https://openalex.org/W2047113772","https://openalex.org/W2058612860","https://openalex.org/W2072076019","https://openalex.org/W2073410927","https://openalex.org/W2082526136","https://openalex.org/W2096281944","https://openalex.org/W2098413111","https://openalex.org/W2101545021","https://openalex.org/W2110710544","https://openalex.org/W2112891124","https://openalex.org/W2115595977","https://openalex.org/W2128188789","https://openalex.org/W2129192659","https://openalex.org/W2130074753","https://openalex.org/W2138062453","https://openalex.org/W2156874421","https://openalex.org/W2160567205","https://openalex.org/W2163654949","https://openalex.org/W2241522187","https://openalex.org/W2321248633","https://openalex.org/W2598936400","https://openalex.org/W2611703827","https://openalex.org/W4234788970"],"related_works":["https://openalex.org/W2088444093","https://openalex.org/W133473147","https://openalex.org/W4252722439","https://openalex.org/W924353067","https://openalex.org/W2152491655","https://openalex.org/W2992926879","https://openalex.org/W1144911151","https://openalex.org/W2076409732","https://openalex.org/W120707803","https://openalex.org/W2104221844"],"abstract_inverted_index":{"Software":[0],"packet":[1,100,140,185,191],"processing":[2,115,141,192],"is":[3,27,41,71,94,120,127],"becoming":[4],"more":[5],"important":[6],"to":[7,30,74,98,109,122,162,196],"enable":[8],"differentiated":[9],"and":[10,20,33,43,57,76,125,137,146,181],"rapidly-evolving":[11],"network":[12,24,139],"services.":[13],"With":[14,132],"increasing":[15],"numbers":[16],"of":[17,84,116,189],"programmable":[18],"processor":[19],"accelerator":[21],"cores":[22],"per":[23],"node,":[25],"it":[26,102,119],"a":[28,38,95,130],"challenge":[29],"support":[31,152],"sharing":[32],"synchronization":[34,70],"across":[35,65],"them":[36],"in":[37,80,184],"way":[39],"that":[40,53,61,90,143,175],"scalable":[42],"easy-to-program.":[44],"In":[45],"this":[46],"paper,":[47],"we":[48,88,149,173],"focus":[49],"on":[50],"parallel/threaded":[51],"applications":[52,142,193],"have":[54],"irregular":[55],"control-flow":[56],"frequently-updated":[58],"shared":[59],"state":[60],"must":[62],"be":[63],"synchronized":[64],"threads.":[66],"However,":[67],"conventional":[68,170],"lock-based":[69,171],"both":[72,103],"difficult":[73],"use":[75],"also":[77],"often":[78],"results":[79],"frequent":[81],"conservative":[82,198],"serialization":[83],"critical":[85],"sections.":[86],"Alternatively,":[87],"propose":[89],"Transactional":[91],"memory":[92],"(TM)":[93],"good":[96],"match":[97],"software":[99],"processing:":[101],"(i)":[104],"can":[105],"allow":[106],"the":[107,114,133,157],"system":[108,168],"optimistically":[110],"exploit":[111],"parallelism":[112],"between":[113],"packets":[117],"whenever":[118],"safe":[121],"do":[123],"so,":[124],"(ii)":[126],"easy-to-use":[128],"for":[129,153,187],"programmer.":[131],"NetFPGA":[134],"[1]":[135],"platform":[136],"four":[138,190],"are":[144],"threaded":[145],"share":[147],"memory,":[148],"evaluate":[150],"hardware":[151],"TM":[154],"(HTM)":[155],"using":[156],"reconfigurable":[158],"FPGA":[159],"fabric.":[160],"Relative":[161],"NetThreads":[163],"[2],":[164],"our":[165],"two-processor":[166],"four-way-multithreaded":[167],"with":[169],"synchronization,":[172],"find":[174],"adding":[176],"HTM":[177],"achieves":[178],"6%,":[179],"54%":[180],"57%":[182],"increases":[183],"throughput":[186],"three":[188],"studied,":[194],"due":[195],"reduced":[197],"serialization.":[199]},"counts_by_year":[{"year":2016,"cited_by_count":1},{"year":2014,"cited_by_count":3},{"year":2013,"cited_by_count":1},{"year":2012,"cited_by_count":1}],"updated_date":"2026-06-26T08:34:08.712188","created_date":"2025-10-10T00:00:00"}
