{"id":"https://openalex.org/W2301552806","doi":"https://doi.org/10.1145/2892208.2892227","title":"Reducing memory buffering overhead in software thread-level speculation","display_name":"Reducing memory buffering overhead in software thread-level speculation","publication_year":2016,"publication_date":"2016-03-14","ids":{"openalex":"https://openalex.org/W2301552806","doi":"https://doi.org/10.1145/2892208.2892227","mag":"2301552806"},"language":"en","primary_location":{"id":"doi:10.1145/2892208.2892227","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2892208.2892227","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 25th International Conference on Compiler Construction","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/A5100635849","display_name":"Zhen Cao","orcid":"https://orcid.org/0000-0001-5165-2445"},"institutions":[{"id":"https://openalex.org/I5023651","display_name":"McGill University","ror":"https://ror.org/01pxwe438","country_code":"CA","type":"education","lineage":["https://openalex.org/I5023651"]}],"countries":["CA"],"is_corresponding":true,"raw_author_name":"Zhen Cao","raw_affiliation_strings":["McGill University, Canada"],"affiliations":[{"raw_affiliation_string":"McGill University, Canada","institution_ids":["https://openalex.org/I5023651"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5001343030","display_name":"Clark Verbrugge","orcid":"https://orcid.org/0000-0003-0663-7347"},"institutions":[{"id":"https://openalex.org/I5023651","display_name":"McGill University","ror":"https://ror.org/01pxwe438","country_code":"CA","type":"education","lineage":["https://openalex.org/I5023651"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Clark Verbrugge","raw_affiliation_strings":["McGill University, Canada"],"affiliations":[{"raw_affiliation_string":"McGill University, Canada","institution_ids":["https://openalex.org/I5023651"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5100635849"],"corresponding_institution_ids":["https://openalex.org/I5023651"],"apc_list":null,"apc_paid":null,"fwci":0.6465,"has_fulltext":false,"cited_by_count":2,"citation_normalized_percentile":{"value":0.65581037,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":94},"biblio":{"volume":null,"issue":null,"first_page":"12","last_page":"22"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","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/T10054","display_name":"Parallel Computing and Optimization Techniques","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/T10772","display_name":"Distributed systems and fault tolerance","score":0.9995999932289124,"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/T11181","display_name":"Advanced Data Storage Technologies","score":0.9993000030517578,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.897369384765625},{"id":"https://openalex.org/keywords/rollback","display_name":"Rollback","score":0.7207019925117493},{"id":"https://openalex.org/keywords/speculative-multithreading","display_name":"Speculative multithreading","score":0.710864782333374},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.6055286526679993},{"id":"https://openalex.org/keywords/scalability","display_name":"Scalability","score":0.5964363813400269},{"id":"https://openalex.org/keywords/speculative-execution","display_name":"Speculative execution","score":0.5945461988449097},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.5835788249969482},{"id":"https://openalex.org/keywords/thread","display_name":"Thread (computing)","score":0.5613096952438354},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.5107462406158447},{"id":"https://openalex.org/keywords/overhead","display_name":"Overhead (engineering)","score":0.42980703711509705},{"id":"https://openalex.org/keywords/speculation","display_name":"Speculation","score":0.41306808590888977},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.34504276514053345},{"id":"https://openalex.org/keywords/distributed-computing","display_name":"Distributed computing","score":0.3400375545024872},{"id":"https://openalex.org/keywords/embedded-system","display_name":"Embedded system","score":0.3364820182323456},{"id":"https://openalex.org/keywords/multithreading","display_name":"Multithreading","score":0.3363436162471771},{"id":"https://openalex.org/keywords/computer-architecture","display_name":"Computer architecture","score":0.33217161893844604},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.20064377784729004}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.897369384765625},{"id":"https://openalex.org/C174220543","wikidata":"https://www.wikidata.org/wiki/Q395307","display_name":"Rollback","level":3,"score":0.7207019925117493},{"id":"https://openalex.org/C15296174","wikidata":"https://www.wikidata.org/wiki/Q7575343","display_name":"Speculative multithreading","level":4,"score":0.710864782333374},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.6055286526679993},{"id":"https://openalex.org/C48044578","wikidata":"https://www.wikidata.org/wiki/Q727490","display_name":"Scalability","level":2,"score":0.5964363813400269},{"id":"https://openalex.org/C141331961","wikidata":"https://www.wikidata.org/wiki/Q2164465","display_name":"Speculative execution","level":2,"score":0.5945461988449097},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5835788249969482},{"id":"https://openalex.org/C138101251","wikidata":"https://www.wikidata.org/wiki/Q213092","display_name":"Thread (computing)","level":2,"score":0.5613096952438354},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.5107462406158447},{"id":"https://openalex.org/C2779960059","wikidata":"https://www.wikidata.org/wiki/Q7113681","display_name":"Overhead (engineering)","level":2,"score":0.42980703711509705},{"id":"https://openalex.org/C47941915","wikidata":"https://www.wikidata.org/wiki/Q107885","display_name":"Speculation","level":2,"score":0.41306808590888977},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.34504276514053345},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.3400375545024872},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.3364820182323456},{"id":"https://openalex.org/C201410400","wikidata":"https://www.wikidata.org/wiki/Q1064412","display_name":"Multithreading","level":3,"score":0.3363436162471771},{"id":"https://openalex.org/C118524514","wikidata":"https://www.wikidata.org/wiki/Q173212","display_name":"Computer architecture","level":1,"score":0.33217161893844604},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.20064377784729004},{"id":"https://openalex.org/C162324750","wikidata":"https://www.wikidata.org/wiki/Q8134","display_name":"Economics","level":0,"score":0.0},{"id":"https://openalex.org/C75949130","wikidata":"https://www.wikidata.org/wiki/Q848010","display_name":"Database transaction","level":2,"score":0.0},{"id":"https://openalex.org/C139719470","wikidata":"https://www.wikidata.org/wiki/Q39680","display_name":"Macroeconomics","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/2892208.2892227","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2892208.2892227","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 25th International Conference on Compiler Construction","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G197794151","display_name":null,"funder_award_id":"249902","funder_id":"https://openalex.org/F4320334593","funder_display_name":"Natural Sciences and Engineering Research Council of Canada"}],"funders":[{"id":"https://openalex.org/F4320334593","display_name":"Natural Sciences and Engineering Research Council of Canada","ror":"https://ror.org/01h531d29"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":25,"referenced_works":["https://openalex.org/W1410829195","https://openalex.org/W1517933564","https://openalex.org/W1523021320","https://openalex.org/W1580087508","https://openalex.org/W1598901422","https://openalex.org/W2004881145","https://openalex.org/W2010220656","https://openalex.org/W2037462607","https://openalex.org/W2084817819","https://openalex.org/W2089158070","https://openalex.org/W2093145075","https://openalex.org/W2106231823","https://openalex.org/W2114251233","https://openalex.org/W2116170858","https://openalex.org/W2131143128","https://openalex.org/W2133734540","https://openalex.org/W2140043135","https://openalex.org/W2143535196","https://openalex.org/W2149037641","https://openalex.org/W2152657019","https://openalex.org/W2155410188","https://openalex.org/W2158308706","https://openalex.org/W2161733081","https://openalex.org/W4232637339","https://openalex.org/W4253095404"],"related_works":["https://openalex.org/W2124112831","https://openalex.org/W2586771600","https://openalex.org/W2107711797","https://openalex.org/W2913814439","https://openalex.org/W2371844484","https://openalex.org/W2765149243","https://openalex.org/W4310747513","https://openalex.org/W3200493004","https://openalex.org/W2650626006","https://openalex.org/W1891584596"],"abstract_inverted_index":{"Software-based,":[0],"automatic":[1],"parallelization":[2],"through":[3],"Thread-Level":[4],"Speculation":[5],"(TLS)":[6],"has":[7],"significant":[8],"practical":[9,143],"potential,":[10],"but":[11,26,38],"also":[12],"high":[13],"overhead":[14],"costs.":[15,49],"Traditional":[16],"\"lazy\"":[17],"buffering":[18,67],"mechanisms":[19,35],"enable":[20],"strong":[21],"isolation":[22],"of":[23,60,118,127,135],"speculative":[24],"threads,":[25],"imply":[27],"large":[28],"memory":[29,123],"overheads,":[30],"while":[31],"more":[32,40],"recent":[33],"\"eager\"":[34],"improve":[36,84],"scalability,":[37],"are":[39],"sensitive":[41],"to":[42],"data":[43],"dependencies":[44],"and":[45,78,87,142],"have":[46],"higher":[47],"rollback":[48],"We":[50,93],"here":[51],"describe":[52,80],"an":[53],"integrated":[54],"system":[55,101],"that":[56,83,110],"incorporates":[57],"the":[58,65,104,136],"best":[59,66],"both":[61,76,85],"designs,":[62],"automatically":[63],"selecting":[64],"mechanism.":[68],"Our":[69],"approach":[70],"builds":[71],"on":[72,103,121],"well-optimized":[73],"designs":[74],"for":[75,140],"techniques,":[77],"we":[79,111],"specific":[81],"optimizations":[82,129],"lazy":[86],"eager":[88],"buffer":[89],"management":[90],"as":[91],"well.":[92],"implement":[94],"our":[95],"design":[96],"within":[97],"MUTLS,":[98],"a":[99,132],"software-TLS":[100],"based":[102],"LLVM":[105],"compiler":[106],"framework.":[107],"Results":[108],"show":[109],"can":[112],"get":[113],"75%":[114],"geometric":[115],"mean":[116],"performance":[117],"OpenMP":[119],"versions":[120],"9":[122],"intensive":[124],"benchmarks.":[125],"Application":[126],"these":[128],"is":[130],"thus":[131],"useful":[133],"part":[134],"optimization":[137],"stack":[138],"needed":[139],"effective":[141],"software":[144],"TLS.":[145]},"counts_by_year":[{"year":2018,"cited_by_count":1},{"year":2017,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
