{"id":"https://openalex.org/W2069366701","doi":"https://doi.org/10.1145/1250727.1250732","title":"A compiler cost model for speculative parallelization","display_name":"A compiler cost model for speculative parallelization","publication_year":2007,"publication_date":"2007-06-01","ids":{"openalex":"https://openalex.org/W2069366701","doi":"https://doi.org/10.1145/1250727.1250732","mag":"2069366701"},"language":"en","primary_location":{"id":"doi:10.1145/1250727.1250732","is_oa":true,"landing_page_url":"https://doi.org/10.1145/1250727.1250732","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/1250727.1250732","source":{"id":"https://openalex.org/S26056741","display_name":"ACM Transactions on Architecture and Code Optimization","issn_l":"1544-3566","issn":["1544-3566","1544-3973"],"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 Transactions on Architecture and Code Optimization","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://dl.acm.org/doi/pdf/10.1145/1250727.1250732","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5074496947","display_name":"Jialin Dou","orcid":null},"institutions":[{"id":"https://openalex.org/I2801109035","display_name":"ARM (United Kingdom)","ror":"https://ror.org/04mmhzs81","country_code":"GB","type":"company","lineage":["https://openalex.org/I2801109035"]}],"countries":["GB"],"is_corresponding":true,"raw_author_name":"Jialin Dou","raw_affiliation_strings":["ARM Ltd., Cambridge, UK"],"affiliations":[{"raw_affiliation_string":"ARM Ltd., Cambridge, UK","institution_ids":["https://openalex.org/I2801109035"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5090902844","display_name":"Marcelo Cintra","orcid":null},"institutions":[{"id":"https://openalex.org/I98677209","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90","country_code":"GB","type":"education","lineage":["https://openalex.org/I98677209"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Marcelo Cintra","raw_affiliation_strings":["University of Edinburgh, Edinburgh, United Kingdom","University of Edinburgh, edinburgh, United Kingdom"],"affiliations":[{"raw_affiliation_string":"University of Edinburgh, Edinburgh, United Kingdom","institution_ids":["https://openalex.org/I98677209"]},{"raw_affiliation_string":"University of Edinburgh, edinburgh, United Kingdom","institution_ids":["https://openalex.org/I98677209"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5074496947"],"corresponding_institution_ids":["https://openalex.org/I2801109035"],"apc_list":null,"apc_paid":null,"fwci":2.2166,"has_fulltext":true,"cited_by_count":29,"citation_normalized_percentile":{"value":0.87652848,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":99},"biblio":{"volume":"4","issue":"2","first_page":"12","last_page":"12"},"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/T10715","display_name":"Distributed and Parallel Computing Systems","score":0.9986000061035156,"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.9972000122070312,"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.9088822603225708},{"id":"https://openalex.org/keywords/speculative-multithreading","display_name":"Speculative multithreading","score":0.8834832906723022},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.7911986112594604},{"id":"https://openalex.org/keywords/thread","display_name":"Thread (computing)","score":0.7382839322090149},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.7158662676811218},{"id":"https://openalex.org/keywords/speculative-execution","display_name":"Speculative execution","score":0.6531396508216858},{"id":"https://openalex.org/keywords/commit","display_name":"Commit","score":0.6373888254165649},{"id":"https://openalex.org/keywords/heuristics","display_name":"Heuristics","score":0.6169843077659607},{"id":"https://openalex.org/keywords/spec#","display_name":"Spec#","score":0.6136971712112427},{"id":"https://openalex.org/keywords/speedup","display_name":"Speedup","score":0.6020570397377014},{"id":"https://openalex.org/keywords/multithreading","display_name":"Multithreading","score":0.551134467124939},{"id":"https://openalex.org/keywords/execution-time","display_name":"Execution time","score":0.5498270988464355},{"id":"https://openalex.org/keywords/scheduling","display_name":"Scheduling (production processes)","score":0.4912797808647156},{"id":"https://openalex.org/keywords/posix-threads","display_name":"POSIX Threads","score":0.4722541868686676},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.21943092346191406},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.11497458815574646}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.9088822603225708},{"id":"https://openalex.org/C15296174","wikidata":"https://www.wikidata.org/wiki/Q7575343","display_name":"Speculative multithreading","level":4,"score":0.8834832906723022},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.7911986112594604},{"id":"https://openalex.org/C138101251","wikidata":"https://www.wikidata.org/wiki/Q213092","display_name":"Thread (computing)","level":2,"score":0.7382839322090149},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.7158662676811218},{"id":"https://openalex.org/C141331961","wikidata":"https://www.wikidata.org/wiki/Q2164465","display_name":"Speculative execution","level":2,"score":0.6531396508216858},{"id":"https://openalex.org/C153180980","wikidata":"https://www.wikidata.org/wiki/Q19776675","display_name":"Commit","level":2,"score":0.6373888254165649},{"id":"https://openalex.org/C127705205","wikidata":"https://www.wikidata.org/wiki/Q5748245","display_name":"Heuristics","level":2,"score":0.6169843077659607},{"id":"https://openalex.org/C2778565505","wikidata":"https://www.wikidata.org/wiki/Q2207566","display_name":"Spec#","level":2,"score":0.6136971712112427},{"id":"https://openalex.org/C68339613","wikidata":"https://www.wikidata.org/wiki/Q1549489","display_name":"Speedup","level":2,"score":0.6020570397377014},{"id":"https://openalex.org/C201410400","wikidata":"https://www.wikidata.org/wiki/Q1064412","display_name":"Multithreading","level":3,"score":0.551134467124939},{"id":"https://openalex.org/C2989134064","wikidata":"https://www.wikidata.org/wiki/Q288510","display_name":"Execution time","level":2,"score":0.5498270988464355},{"id":"https://openalex.org/C206729178","wikidata":"https://www.wikidata.org/wiki/Q2271896","display_name":"Scheduling (production processes)","level":2,"score":0.4912797808647156},{"id":"https://openalex.org/C41138395","wikidata":"https://www.wikidata.org/wiki/Q928112","display_name":"POSIX Threads","level":3,"score":0.4722541868686676},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.21943092346191406},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.11497458815574646},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.0},{"id":"https://openalex.org/C162324750","wikidata":"https://www.wikidata.org/wiki/Q8134","display_name":"Economics","level":0,"score":0.0},{"id":"https://openalex.org/C21547014","wikidata":"https://www.wikidata.org/wiki/Q1423657","display_name":"Operations management","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1250727.1250732","is_oa":true,"landing_page_url":"https://doi.org/10.1145/1250727.1250732","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/1250727.1250732","source":{"id":"https://openalex.org/S26056741","display_name":"ACM Transactions on Architecture and Code Optimization","issn_l":"1544-3566","issn":["1544-3566","1544-3973"],"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 Transactions on Architecture and Code Optimization","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1145/1250727.1250732","is_oa":true,"landing_page_url":"https://doi.org/10.1145/1250727.1250732","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/1250727.1250732","source":{"id":"https://openalex.org/S26056741","display_name":"ACM Transactions on Architecture and Code Optimization","issn_l":"1544-3566","issn":["1544-3566","1544-3973"],"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 Transactions on Architecture and Code Optimization","raw_type":"journal-article"},"sustainable_development_goals":[{"display_name":"Peace, Justice and strong institutions","score":0.6899999976158142,"id":"https://metadata.un.org/sdg/16"}],"awards":[],"funders":[{"id":"https://openalex.org/F4320320332","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90"},{"id":"https://openalex.org/F4320334627","display_name":"Engineering and Physical Sciences Research Council","ror":"https://ror.org/0439y7842"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2069366701.pdf","grobid_xml":"https://content.openalex.org/works/W2069366701.grobid-xml"},"referenced_works_count":49,"referenced_works":["https://openalex.org/W51082538","https://openalex.org/W121029738","https://openalex.org/W1496503319","https://openalex.org/W1567369361","https://openalex.org/W1579674405","https://openalex.org/W1585279792","https://openalex.org/W1958945689","https://openalex.org/W1981529620","https://openalex.org/W2000490573","https://openalex.org/W2004692581","https://openalex.org/W2006471246","https://openalex.org/W2010220656","https://openalex.org/W2026585559","https://openalex.org/W2029171059","https://openalex.org/W2029479717","https://openalex.org/W2046974160","https://openalex.org/W2065705265","https://openalex.org/W2071130955","https://openalex.org/W2095703459","https://openalex.org/W2097230158","https://openalex.org/W2100932767","https://openalex.org/W2103224933","https://openalex.org/W2105121389","https://openalex.org/W2109502721","https://openalex.org/W2119786518","https://openalex.org/W2120635877","https://openalex.org/W2121054423","https://openalex.org/W2122545654","https://openalex.org/W2126800830","https://openalex.org/W2127642645","https://openalex.org/W2131667412","https://openalex.org/W2135470015","https://openalex.org/W2136674263","https://openalex.org/W2136798749","https://openalex.org/W2146781005","https://openalex.org/W2148390433","https://openalex.org/W2150547581","https://openalex.org/W2155410188","https://openalex.org/W2161943885","https://openalex.org/W2162523628","https://openalex.org/W2163488221","https://openalex.org/W2165856991","https://openalex.org/W2296006986","https://openalex.org/W3022923721","https://openalex.org/W3145491929","https://openalex.org/W4229591902","https://openalex.org/W4229975054","https://openalex.org/W4235184194","https://openalex.org/W4253095404"],"related_works":["https://openalex.org/W2371844484","https://openalex.org/W2765149243","https://openalex.org/W2124997519","https://openalex.org/W2543764088","https://openalex.org/W2650626006","https://openalex.org/W1576844086","https://openalex.org/W2099709763","https://openalex.org/W4283366496","https://openalex.org/W4244698026","https://openalex.org/W2122863560"],"abstract_inverted_index":{"Speculative":[0],"parallelization":[1,26],"is":[2,107,137,192,209,219,314],"a":[3,47,130,155,164,169,224,301],"technique":[4,37],"that":[5,9,57,142,174,197,206,237,247,304],"allows":[6],"code":[7],"sections":[8,80],"cannot":[10],"be":[11,18,59],"fully":[12],"analyzed":[13],"by":[14,296,325],"the":[15,63,71,77,83,86,97,111,120,134,146,159,227,235,245,253,270,273,289,292,310,318],"compiler":[16,49],"to":[17,61,69,249,306,316],"aggressively":[19],"executed":[20],"in":[21,42,322],"parallel.":[22],"However,":[23],"while":[24],"speculative":[25,54,79,102,149],"can":[27,38,58,229],"potentially":[28],"deliver":[29],"significant":[30],"speedups,":[31,73],"several":[32],"overheads":[33],"associated":[34],"with":[35,213,257,276],"this":[36,187,326],"limit":[39],"these":[40,124],"speedups":[41,254],"practice.":[43],"This":[44,66,126],"paper":[45],"proposes":[46],"novel":[48],"static":[50,225],"cost":[51],"model":[52,67,106,127],"of":[53,76,85,90,100,115,123,133,148,158,166,171,234,244,260,267,269,279,286,288],"multithreaded":[55,150],"execution":[56,103,113],"used":[60],"predict":[62,70],"resulting":[64],"performance.":[65],"attempts":[68,305],"expected":[72],"or":[74,255],"slowdowns,":[75],"candidate":[78],"based":[81,108],"on":[82,109,163,195,231,241],"estimation":[84],"combined":[87],"runtime":[88],"effects":[89],"various":[91],"overheads,":[92],"and":[93,117,180,183,275,313],"taking":[94],"into":[95],"account":[96],"scheduling":[98],"restrictions":[99],"most":[101],"environments.":[104],"The":[105],"estimating":[110],"likely":[112],"duration":[114],"threads":[116],"considers":[118],"all":[119,309],"possible":[121],"permutations":[122],"threads.":[125],"also":[128,193],"produces":[129],"quantitative":[131],"estimate":[132,145],"speedup,":[135],"which":[136],"different":[138],"from":[139,168,177,200],"prior":[140],"heuristics":[141],"only":[143],"qualitatively":[144],"benefits":[147],"execution.":[151],"In":[152,186],"previous":[153],"work,":[154,188],"limited":[156],"version":[157],"framework":[160,191,228,293],"was":[161],"evaluated":[162,194],"number":[165],"loops":[167,196,212,236,246,271,311],"collection":[170],"SPEC":[172],"benchmarks":[173,274],"suffer":[175,199],"mainly":[176],"load":[178],"imbalance":[179],"thread":[181],"dispatch":[182],"commit":[184],"overheads.":[185],"an":[189,258,265,277,284],"extended":[190],"may":[198],"data-dependence":[201],"violations.":[202],"Experimental":[203],"results":[204],"show":[205],"prediction":[207],"accuracy":[208,218],"lower":[210],"when":[211],"violations":[214],"are":[215],"included.":[216],"Nevertheless,":[217],"still":[220],"very":[221],"high":[222],"for":[223,264,283],"model:":[226],"identify,":[230],"average,":[232,242],"45%":[233],"cause":[238],"slowdowns":[239,256,320],"and,":[240],"96%":[243],"lead":[248],"speedups;":[250],"it":[251],"predicts":[252],"error":[259,278],"less":[261,280],"than":[262,281],"20%":[263],"average":[266,285],"28%":[268],"across":[272],"50%":[282],"80%":[287],"loops.":[290],"Overall,":[291],"often":[294],"outperforms,":[295],"as":[297,299],"much":[298],"25%,":[300],"naive":[302,327],"approach":[303],"speculatively":[307],"parallelize":[308],"considered,":[312],"able":[315],"curb":[317],"large":[319],"caused":[321],"many":[323],"cases":[324],"approach.":[328]},"counts_by_year":[{"year":2024,"cited_by_count":1},{"year":2022,"cited_by_count":1},{"year":2018,"cited_by_count":1},{"year":2017,"cited_by_count":1},{"year":2016,"cited_by_count":2},{"year":2015,"cited_by_count":1},{"year":2014,"cited_by_count":9},{"year":2013,"cited_by_count":3},{"year":2012,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
