{"id":"https://openalex.org/W2089467613","doi":"https://doi.org/10.1145/1065944.1065963","title":"Automatic multithreading and multiprocessing of C programs for IXP","display_name":"Automatic multithreading and multiprocessing of C programs for IXP","publication_year":2005,"publication_date":"2005-06-15","ids":{"openalex":"https://openalex.org/W2089467613","doi":"https://doi.org/10.1145/1065944.1065963","mag":"2089467613"},"language":"en","primary_location":{"id":"doi:10.1145/1065944.1065963","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1065944.1065963","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming","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/A5100408777","display_name":"Long Li","orcid":"https://orcid.org/0000-0002-7131-9495"},"institutions":[{"id":"https://openalex.org/I1343180700","display_name":"Intel (United States)","ror":"https://ror.org/01ek73717","country_code":"US","type":"company","lineage":["https://openalex.org/I1343180700"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Long Li","raw_affiliation_strings":["Intel China Software Center, Shanghai, PRC","Intel China Software Center, Shanghai, PRC#TAB#"],"affiliations":[{"raw_affiliation_string":"Intel China Software Center, Shanghai, PRC","institution_ids":[]},{"raw_affiliation_string":"Intel China Software Center, Shanghai, PRC#TAB#","institution_ids":["https://openalex.org/I1343180700"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5091173322","display_name":"Bo Huang","orcid":"https://orcid.org/0000-0001-5126-7192"},"institutions":[{"id":"https://openalex.org/I1343180700","display_name":"Intel (United States)","ror":"https://ror.org/01ek73717","country_code":"US","type":"company","lineage":["https://openalex.org/I1343180700"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Bo Huang","raw_affiliation_strings":["Intel China Software Center, Shanghai, PRC","Intel China Software Center, Shanghai, PRC#TAB#"],"affiliations":[{"raw_affiliation_string":"Intel China Software Center, Shanghai, PRC","institution_ids":[]},{"raw_affiliation_string":"Intel China Software Center, Shanghai, PRC#TAB#","institution_ids":["https://openalex.org/I1343180700"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5100909399","display_name":"Jinquan Dai","orcid":null},"institutions":[{"id":"https://openalex.org/I1343180700","display_name":"Intel (United States)","ror":"https://ror.org/01ek73717","country_code":"US","type":"company","lineage":["https://openalex.org/I1343180700"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Jinquan Dai","raw_affiliation_strings":["Intel China Software Center, Shanghai, PRC","Intel China Software Center, Shanghai, PRC#TAB#"],"affiliations":[{"raw_affiliation_string":"Intel China Software Center, Shanghai, PRC","institution_ids":[]},{"raw_affiliation_string":"Intel China Software Center, Shanghai, PRC#TAB#","institution_ids":["https://openalex.org/I1343180700"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5011890471","display_name":"Luddy Harrison","orcid":null},"institutions":[{"id":"https://openalex.org/I157725225","display_name":"University of Illinois Urbana-Champaign","ror":"https://ror.org/047426m28","country_code":"US","type":"education","lineage":["https://openalex.org/I157725225"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Luddy Harrison","raw_affiliation_strings":["Univ. of Illinois at Urbana-Champaign, Urbana, IL","[University of Illinois at Urbana-Champaign,Urbana,IL]"],"affiliations":[{"raw_affiliation_string":"Univ. of Illinois at Urbana-Champaign, Urbana, IL","institution_ids":["https://openalex.org/I157725225"]},{"raw_affiliation_string":"[University of Illinois at Urbana-Champaign,Urbana,IL]","institution_ids":["https://openalex.org/I157725225"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5100408777"],"corresponding_institution_ids":["https://openalex.org/I1343180700"],"apc_list":null,"apc_paid":null,"fwci":3.0937,"has_fulltext":false,"cited_by_count":22,"citation_normalized_percentile":{"value":0.91252126,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"132","last_page":"141"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998999834060669,"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998999834060669,"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/T10829","display_name":"Interconnection Networks and Systems","score":0.9997000098228455,"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/T10904","display_name":"Embedded Systems Design Techniques","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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.9000053405761719},{"id":"https://openalex.org/keywords/packet-processing","display_name":"Packet processing","score":0.701042890548706},{"id":"https://openalex.org/keywords/speedup","display_name":"Speedup","score":0.6856126189231873},{"id":"https://openalex.org/keywords/multithreading","display_name":"Multithreading","score":0.5971867442131042},{"id":"https://openalex.org/keywords/network-processor","display_name":"Network processor","score":0.5853328704833984},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.5825868248939514},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.5082463622093201},{"id":"https://openalex.org/keywords/network-packet","display_name":"Network packet","score":0.49240362644195557},{"id":"https://openalex.org/keywords/thread","display_name":"Thread (computing)","score":0.47117120027542114},{"id":"https://openalex.org/keywords/initialization","display_name":"Initialization","score":0.4667383134365082},{"id":"https://openalex.org/keywords/multiprocessing","display_name":"Multiprocessing","score":0.45783567428588867},{"id":"https://openalex.org/keywords/simultaneous-multithreading","display_name":"Simultaneous multithreading","score":0.4415963590145111},{"id":"https://openalex.org/keywords/embedded-system","display_name":"Embedded system","score":0.3428170680999756},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.3406252861022949},{"id":"https://openalex.org/keywords/computer-network","display_name":"Computer network","score":0.28004705905914307},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.16853103041648865}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.9000053405761719},{"id":"https://openalex.org/C2779581428","wikidata":"https://www.wikidata.org/wiki/Q7122997","display_name":"Packet processing","level":3,"score":0.701042890548706},{"id":"https://openalex.org/C68339613","wikidata":"https://www.wikidata.org/wiki/Q1549489","display_name":"Speedup","level":2,"score":0.6856126189231873},{"id":"https://openalex.org/C201410400","wikidata":"https://www.wikidata.org/wiki/Q1064412","display_name":"Multithreading","level":3,"score":0.5971867442131042},{"id":"https://openalex.org/C74366991","wikidata":"https://www.wikidata.org/wiki/Q2755335","display_name":"Network processor","level":3,"score":0.5853328704833984},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5825868248939514},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5082463622093201},{"id":"https://openalex.org/C158379750","wikidata":"https://www.wikidata.org/wiki/Q214111","display_name":"Network packet","level":2,"score":0.49240362644195557},{"id":"https://openalex.org/C138101251","wikidata":"https://www.wikidata.org/wiki/Q213092","display_name":"Thread (computing)","level":2,"score":0.47117120027542114},{"id":"https://openalex.org/C114466953","wikidata":"https://www.wikidata.org/wiki/Q6034165","display_name":"Initialization","level":2,"score":0.4667383134365082},{"id":"https://openalex.org/C4822641","wikidata":"https://www.wikidata.org/wiki/Q846651","display_name":"Multiprocessing","level":2,"score":0.45783567428588867},{"id":"https://openalex.org/C85717602","wikidata":"https://www.wikidata.org/wiki/Q82178","display_name":"Simultaneous multithreading","level":4,"score":0.4415963590145111},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.3428170680999756},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.3406252861022949},{"id":"https://openalex.org/C31258907","wikidata":"https://www.wikidata.org/wiki/Q1301371","display_name":"Computer network","level":1,"score":0.28004705905914307},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.16853103041648865}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1065944.1065963","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1065944.1065963","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":22,"referenced_works":["https://openalex.org/W53719497","https://openalex.org/W79448102","https://openalex.org/W1967940685","https://openalex.org/W1970195395","https://openalex.org/W1976611694","https://openalex.org/W1990008205","https://openalex.org/W1994013739","https://openalex.org/W1999637392","https://openalex.org/W2036520154","https://openalex.org/W2058360616","https://openalex.org/W2065818693","https://openalex.org/W2087086761","https://openalex.org/W2104076282","https://openalex.org/W2123412205","https://openalex.org/W2131135493","https://openalex.org/W2157758640","https://openalex.org/W2168822998","https://openalex.org/W2585550685","https://openalex.org/W2589217375","https://openalex.org/W3144368627","https://openalex.org/W4232919122","https://openalex.org/W4252742548"],"related_works":["https://openalex.org/W2118532220","https://openalex.org/W2374902472","https://openalex.org/W4298274492","https://openalex.org/W2123485597","https://openalex.org/W2149310471","https://openalex.org/W2106589441","https://openalex.org/W2040030161","https://openalex.org/W2026724920","https://openalex.org/W2145023239","https://openalex.org/W2108156146"],"abstract_inverted_index":{"Effective":[0],"compilation":[1],"of":[2,19,32,70,82,88,159],"packet":[3,135],"processing":[4,26,136],"applications":[5],"onto":[6],"the":[7,16,29,45,52,65,80,86,93,100,107,126,157],"Intel":[8,53],"IXP":[9,58],"network":[10],"processors":[11],"requires,":[12],"among":[13],"other":[14],"things,":[15],"automatic":[17,30,147,151],"use":[18,91],"multiple":[20],"threads":[21],"on":[22],"one":[23],"or":[24],"more":[25],"elements,":[27],"and":[28,98],"introduction":[31],"synchronization":[33],"as":[34],"required":[35],"to":[36,59,76,92],"correctly":[37],"enforce":[38,77],"dependences":[39],"between":[40],"such":[41,83],"threads.":[42],"We":[43],"describe":[44],"program":[46,63],"transformation":[47,68,153],"that":[48,72,113],"is":[49],"used":[50,128],"in":[51,90,96,106,125],"Auto-partitioning":[54],"C":[55],"Compiler":[56],"for":[57,64,103,119],"automatically":[60],"multithread/multi-process":[61],"a":[62],"IXP.":[66],"This":[67],"consists":[69],"steps":[71],"introduce":[73],"inter-thread":[74],"signaling":[75],"dependences,":[78],"optimize":[79],"placement":[81],"signaling,":[84],"reduce":[85],"number":[87,94],"signals":[89],"available":[95],"hardware,":[97],"transform":[99],"initialization":[101],"code":[102],"correct":[104],"execution":[105],"multithreaded":[108],"version.":[109],"Experimental":[110],"results":[111],"show":[112],"our":[114,138],"method":[115],"provides":[116],"impressive":[117],"speedup":[118,158],"six":[120],"PPSes":[121],"(Packet":[122],"Processing":[123],"Stages)":[124],"widely":[127],"NPF":[129],"IP":[130],"forwarding":[131],"benchmarks.":[132],"For":[133],"most":[134],"stages,":[137],"algorithms":[139],"can":[140],"achieve":[141],"almost":[142],"linear":[143],"performance":[144],"improvement":[145],"after":[146],"multi-threading":[148],"transformation.":[149],"The":[150],"multi-processing":[152],"help":[154],"further":[155],"boost":[156],"two":[160],"PPSes.":[161]},"counts_by_year":[{"year":2018,"cited_by_count":1},{"year":2013,"cited_by_count":1},{"year":2012,"cited_by_count":4}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
