{"id":"https://openalex.org/W4251987281","doi":"https://doi.org/10.1145/1993498.1993522","title":"A case for an SC-preserving compiler","display_name":"A case for an SC-preserving compiler","publication_year":2011,"publication_date":"2011-06-04","ids":{"openalex":"https://openalex.org/W4251987281","doi":"https://doi.org/10.1145/1993498.1993522"},"language":"en","primary_location":{"id":"doi:10.1145/1993498.1993522","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1993498.1993522","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 32nd ACM SIGPLAN Conference on Programming Language Design and Implementation","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/A5062404663","display_name":"Daniel Marino","orcid":"https://orcid.org/0000-0002-8686-4752"},"institutions":[{"id":"https://openalex.org/I161318765","display_name":"University of California, Los Angeles","ror":"https://ror.org/046rm7j60","country_code":"US","type":"education","lineage":["https://openalex.org/I161318765"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Daniel Marino","raw_affiliation_strings":["University of California, Los Angeles, Los Angeles, CA, USA"],"affiliations":[{"raw_affiliation_string":"University of California, Los Angeles, Los Angeles, CA, USA","institution_ids":["https://openalex.org/I161318765"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5088982588","display_name":"Abhayendra Singh","orcid":null},"institutions":[{"id":"https://openalex.org/I27837315","display_name":"University of Michigan\u2013Ann Arbor","ror":"https://ror.org/00jmfr291","country_code":"US","type":"education","lineage":["https://openalex.org/I27837315"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Abhayendra Singh","raw_affiliation_strings":["University of Michigan, Ann Arbor, Ann Arbor, MI, USA"],"affiliations":[{"raw_affiliation_string":"University of Michigan, Ann Arbor, Ann Arbor, MI, USA","institution_ids":["https://openalex.org/I27837315"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5014067492","display_name":"Todd Millstein","orcid":"https://orcid.org/0000-0002-2031-1514"},"institutions":[{"id":"https://openalex.org/I161318765","display_name":"University of California, Los Angeles","ror":"https://ror.org/046rm7j60","country_code":"US","type":"education","lineage":["https://openalex.org/I161318765"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Todd Millstein","raw_affiliation_strings":["University of California, Los Angeles, Los Angeles, CA, USA"],"affiliations":[{"raw_affiliation_string":"University of California, Los Angeles, Los Angeles, CA, USA","institution_ids":["https://openalex.org/I161318765"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5040009052","display_name":"Madanlal Musuvathi","orcid":"https://orcid.org/0000-0002-2482-7892"},"institutions":[{"id":"https://openalex.org/I1290206253","display_name":"Microsoft (United States)","ror":"https://ror.org/00d0nc645","country_code":"US","type":"company","lineage":["https://openalex.org/I1290206253"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Madanlal Musuvathi","raw_affiliation_strings":["Microsoft Research, Redmond, Redmond, WA, USA"],"affiliations":[{"raw_affiliation_string":"Microsoft Research, Redmond, Redmond, WA, USA","institution_ids":["https://openalex.org/I1290206253"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5075649670","display_name":"Satish Narayanasamy","orcid":"https://orcid.org/0000-0001-5016-1214"},"institutions":[{"id":"https://openalex.org/I27837315","display_name":"University of Michigan\u2013Ann Arbor","ror":"https://ror.org/00jmfr291","country_code":"US","type":"education","lineage":["https://openalex.org/I27837315"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Satish Narayanasamy","raw_affiliation_strings":["University of Michigan, Ann Arbor, Ann Arbor, MI, USA"],"affiliations":[{"raw_affiliation_string":"University of Michigan, Ann Arbor, Ann Arbor, MI, USA","institution_ids":["https://openalex.org/I27837315"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":5,"corresponding_author_ids":["https://openalex.org/A5062404663"],"corresponding_institution_ids":["https://openalex.org/I161318765"],"apc_list":null,"apc_paid":null,"fwci":7.0522,"has_fulltext":false,"cited_by_count":65,"citation_normalized_percentile":{"value":0.97556552,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":100},"biblio":{"volume":null,"issue":null,"first_page":"199","last_page":"210"},"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.9994000196456909,"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/T10715","display_name":"Distributed and Parallel Computing Systems","score":0.9984999895095825,"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/compiler","display_name":"Compiler","score":0.8643563985824585},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8517299294471741},{"id":"https://openalex.org/keywords/benchmark","display_name":"Benchmark (surveying)","score":0.7136932015419006},{"id":"https://openalex.org/keywords/optimizing-compiler","display_name":"Optimizing compiler","score":0.672006368637085},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.6662752032279968},{"id":"https://openalex.org/keywords/consistency","display_name":"Consistency (knowledge bases)","score":0.5353425145149231},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.47595545649528503},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.4560627043247223},{"id":"https://openalex.org/keywords/consistency-model","display_name":"Consistency model","score":0.4518718719482422},{"id":"https://openalex.org/keywords/memory-model","display_name":"Memory model","score":0.4351402521133423},{"id":"https://openalex.org/keywords/key","display_name":"Key (lock)","score":0.4106595814228058},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.31326282024383545},{"id":"https://openalex.org/keywords/shared-memory","display_name":"Shared memory","score":0.26209455728530884}],"concepts":[{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.8643563985824585},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8517299294471741},{"id":"https://openalex.org/C185798385","wikidata":"https://www.wikidata.org/wiki/Q1161707","display_name":"Benchmark (surveying)","level":2,"score":0.7136932015419006},{"id":"https://openalex.org/C190902152","wikidata":"https://www.wikidata.org/wiki/Q1325106","display_name":"Optimizing compiler","level":3,"score":0.672006368637085},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.6662752032279968},{"id":"https://openalex.org/C2776436953","wikidata":"https://www.wikidata.org/wiki/Q5163215","display_name":"Consistency (knowledge bases)","level":2,"score":0.5353425145149231},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.47595545649528503},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.4560627043247223},{"id":"https://openalex.org/C37279795","wikidata":"https://www.wikidata.org/wiki/Q2492305","display_name":"Consistency model","level":3,"score":0.4518718719482422},{"id":"https://openalex.org/C12186640","wikidata":"https://www.wikidata.org/wiki/Q6815743","display_name":"Memory model","level":3,"score":0.4351402521133423},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.4106595814228058},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.31326282024383545},{"id":"https://openalex.org/C133875982","wikidata":"https://www.wikidata.org/wiki/Q764810","display_name":"Shared memory","level":2,"score":0.26209455728530884},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.0},{"id":"https://openalex.org/C13280743","wikidata":"https://www.wikidata.org/wiki/Q131089","display_name":"Geodesy","level":1,"score":0.0},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.0},{"id":"https://openalex.org/C205649164","wikidata":"https://www.wikidata.org/wiki/Q1071","display_name":"Geography","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1993498.1993522","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1993498.1993522","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 32nd ACM SIGPLAN Conference on Programming Language Design and Implementation","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":49,"referenced_works":["https://openalex.org/W1482397304","https://openalex.org/W1525350307","https://openalex.org/W1541537810","https://openalex.org/W1885534640","https://openalex.org/W1966151719","https://openalex.org/W1986913310","https://openalex.org/W2010497096","https://openalex.org/W2029601347","https://openalex.org/W2036853599","https://openalex.org/W2039509099","https://openalex.org/W2048319366","https://openalex.org/W2054739713","https://openalex.org/W2091085450","https://openalex.org/W2103957752","https://openalex.org/W2105900173","https://openalex.org/W2106389308","https://openalex.org/W2107529624","https://openalex.org/W2107782879","https://openalex.org/W2107859560","https://openalex.org/W2108014707","https://openalex.org/W2109875364","https://openalex.org/W2112833506","https://openalex.org/W2113751407","https://openalex.org/W2120635877","https://openalex.org/W2124622108","https://openalex.org/W2127532866","https://openalex.org/W2127591346","https://openalex.org/W2127731413","https://openalex.org/W2135742761","https://openalex.org/W2142101409","https://openalex.org/W2145021036","https://openalex.org/W2147506153","https://openalex.org/W2149538119","https://openalex.org/W2152621318","https://openalex.org/W2152885346","https://openalex.org/W2153174073","https://openalex.org/W2153185479","https://openalex.org/W2156428492","https://openalex.org/W2160963348","https://openalex.org/W2167744164","https://openalex.org/W2169875292","https://openalex.org/W2585550685","https://openalex.org/W4206635466","https://openalex.org/W4234066571","https://openalex.org/W4244157805","https://openalex.org/W4247648759","https://openalex.org/W4249000722","https://openalex.org/W6683643817","https://openalex.org/W6713632787"],"related_works":["https://openalex.org/W2971748376","https://openalex.org/W2123855908","https://openalex.org/W4290062159","https://openalex.org/W2419086420","https://openalex.org/W2068484089","https://openalex.org/W2186219931","https://openalex.org/W3010022189","https://openalex.org/W2374240972","https://openalex.org/W2077268056","https://openalex.org/W1987994623"],"abstract_inverted_index":{"The":[0,69],"most":[1,60],"intuitive":[2],"memory":[3],"consistency":[4,12],"model":[5],"for":[6,29,80],"shared-memory":[7],"multi-threaded":[8],"programming":[9,17],"is":[10,51,72],"sequential":[11],"(SC).":[13],"However,":[14],"current":[15],"concurrent":[16],"languages":[18],"support":[19],"a":[20,48,74,110,121,127],"relaxed":[21],"model,":[22],"as":[23],"such":[24],"relaxations":[25],"are":[26,82],"deemed":[27],"necessary":[28],"enabling":[30],"important":[31],"optimizations.":[32],"This":[33],"paper":[34],"demonstrates":[35],"that":[36,41,43,73],"an":[37,52,66,115],"SC-preserving":[38,85,100],"compiler,":[39,101,113],"one":[40],"ensures":[42],"every":[44],"SC":[45,53,92],"behavior":[46,54],"of":[47,55,61,65,77,96,118,124,129],"compiler-generated":[49],"binary":[50],"the":[56,62,105,133],"source":[57],"program,":[58],"retains":[59],"performance":[63,81],"benefits":[64],"optimizing":[67],"compiler.":[68],"key":[70],"observation":[71],"large":[75],"class":[76],"optimizations":[78],"crucial":[79],"either":[83],"already":[84],"or":[86],"can":[87],"be":[88],"modified":[89],"to":[90],"preserve":[91],"while":[93],"retaining":[94],"much":[95],"their":[97],"effectiveness.":[98],"An":[99],"obtained":[102],"by":[103],"restricting":[104],"optimization":[106],"phases":[107],"in":[108],"LLVM,":[109],"state-of-the-art":[111],"C/C++":[112],"incurs":[114],"average":[116],"slowdown":[117,123],"3.8%":[119],"and":[120,136],"maximum":[122],"34%":[125],"on":[126],"set":[128],"30":[130],"programs":[131],"from":[132],"SPLASH-2,":[134],"PARSEC,":[135],"SPEC":[137],"CINT2006":[138],"benchmark":[139],"suites.":[140]},"counts_by_year":[{"year":2025,"cited_by_count":2},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":3},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":3},{"year":2017,"cited_by_count":8},{"year":2016,"cited_by_count":7},{"year":2015,"cited_by_count":9},{"year":2014,"cited_by_count":3},{"year":2013,"cited_by_count":15},{"year":2012,"cited_by_count":7}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
