{"id":"https://openalex.org/W2038347389","doi":"https://doi.org/10.1145/2814270.2814318","title":"Declarative fence insertion","display_name":"Declarative fence insertion","publication_year":2015,"publication_date":"2015-10-23","ids":{"openalex":"https://openalex.org/W2038347389","doi":"https://doi.org/10.1145/2814270.2814318","mag":"2038347389"},"language":"en","primary_location":{"id":"doi:10.1145/2814270.2814318","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2814270.2814318","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications","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/A5043355537","display_name":"John Bender","orcid":"https://orcid.org/0000-0002-3754-6731"},"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":"John Bender","raw_affiliation_strings":["University of California at Los Angeles, USA","; University of California at Los Angeles; USA"],"affiliations":[{"raw_affiliation_string":"University of California at Los Angeles, USA","institution_ids":["https://openalex.org/I161318765"]},{"raw_affiliation_string":"; University of California at Los Angeles; USA","institution_ids":["https://openalex.org/I161318765"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5088825348","display_name":"Mohsen Lesani","orcid":"https://orcid.org/0000-0002-3165-2322"},"institutions":[{"id":"https://openalex.org/I63966007","display_name":"Massachusetts Institute of Technology","ror":"https://ror.org/042nb2s44","country_code":"US","type":"education","lineage":["https://openalex.org/I63966007"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Mohsen Lesani","raw_affiliation_strings":["Massachusetts Institute of Technology, USA","Massachusetts Institute Of Technology, USA"],"affiliations":[{"raw_affiliation_string":"Massachusetts Institute of Technology, USA","institution_ids":["https://openalex.org/I63966007"]},{"raw_affiliation_string":"Massachusetts Institute Of Technology, USA","institution_ids":["https://openalex.org/I63966007"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5011356414","display_name":"Jens Palsberg","orcid":"https://orcid.org/0000-0003-4747-365X"},"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":"Jens Palsberg","raw_affiliation_strings":["University of California at Los Angeles, USA","; University of California at Los Angeles; USA"],"affiliations":[{"raw_affiliation_string":"University of California at Los Angeles, USA","institution_ids":["https://openalex.org/I161318765"]},{"raw_affiliation_string":"; University of California at Los Angeles; USA","institution_ids":["https://openalex.org/I161318765"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5043355537"],"corresponding_institution_ids":["https://openalex.org/I161318765"],"apc_list":null,"apc_paid":null,"fwci":1.3313,"has_fulltext":false,"cited_by_count":10,"citation_normalized_percentile":{"value":0.8317852,"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":"367","last_page":"385"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10772","display_name":"Distributed systems and fault tolerance","score":1.0,"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":1.0,"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.9925000071525574,"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/T13471","display_name":"Cognitive Functions and Memory","score":0.9916999936103821,"subfield":{"id":"https://openalex.org/subfields/3205","display_name":"Experimental and Cognitive Psychology"},"field":{"id":"https://openalex.org/fields/32","display_name":"Psychology"},"domain":{"id":"https://openalex.org/domains/2","display_name":"Social Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8759000301361084},{"id":"https://openalex.org/keywords/transactional-memory","display_name":"Transactional memory","score":0.7446639537811279},{"id":"https://openalex.org/keywords/memory-model","display_name":"Memory model","score":0.6333471536636353},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.6118728518486023},{"id":"https://openalex.org/keywords/software-transactional-memory","display_name":"Software transactional memory","score":0.5497919321060181},{"id":"https://openalex.org/keywords/consistency-model","display_name":"Consistency model","score":0.5324918627738953},{"id":"https://openalex.org/keywords/consistency","display_name":"Consistency (knowledge bases)","score":0.5320488214492798},{"id":"https://openalex.org/keywords/overhead","display_name":"Overhead (engineering)","score":0.5279404520988464},{"id":"https://openalex.org/keywords/sequential-consistency","display_name":"Sequential consistency","score":0.5222421884536743},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5137284994125366},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.46944117546081543},{"id":"https://openalex.org/keywords/shared-memory","display_name":"Shared memory","score":0.4315245449542999},{"id":"https://openalex.org/keywords/memory-management","display_name":"Memory management","score":0.4283396601676941},{"id":"https://openalex.org/keywords/distributed-computing","display_name":"Distributed computing","score":0.3273988366127014},{"id":"https://openalex.org/keywords/overlay","display_name":"Overlay","score":0.20973020792007446},{"id":"https://openalex.org/keywords/database-transaction","display_name":"Database transaction","score":0.13782763481140137},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.10138395428657532}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8759000301361084},{"id":"https://openalex.org/C134277064","wikidata":"https://www.wikidata.org/wiki/Q878206","display_name":"Transactional memory","level":3,"score":0.7446639537811279},{"id":"https://openalex.org/C12186640","wikidata":"https://www.wikidata.org/wiki/Q6815743","display_name":"Memory model","level":3,"score":0.6333471536636353},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.6118728518486023},{"id":"https://openalex.org/C167149655","wikidata":"https://www.wikidata.org/wiki/Q1189004","display_name":"Software transactional memory","level":4,"score":0.5497919321060181},{"id":"https://openalex.org/C37279795","wikidata":"https://www.wikidata.org/wiki/Q2492305","display_name":"Consistency model","level":3,"score":0.5324918627738953},{"id":"https://openalex.org/C2776436953","wikidata":"https://www.wikidata.org/wiki/Q5163215","display_name":"Consistency (knowledge bases)","level":2,"score":0.5320488214492798},{"id":"https://openalex.org/C2779960059","wikidata":"https://www.wikidata.org/wiki/Q7113681","display_name":"Overhead (engineering)","level":2,"score":0.5279404520988464},{"id":"https://openalex.org/C82029504","wikidata":"https://www.wikidata.org/wiki/Q4373882","display_name":"Sequential consistency","level":4,"score":0.5222421884536743},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5137284994125366},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.46944117546081543},{"id":"https://openalex.org/C133875982","wikidata":"https://www.wikidata.org/wiki/Q764810","display_name":"Shared memory","level":2,"score":0.4315245449542999},{"id":"https://openalex.org/C176649486","wikidata":"https://www.wikidata.org/wiki/Q2308807","display_name":"Memory management","level":3,"score":0.4283396601676941},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.3273988366127014},{"id":"https://openalex.org/C136085584","wikidata":"https://www.wikidata.org/wiki/Q910289","display_name":"Overlay","level":2,"score":0.20973020792007446},{"id":"https://openalex.org/C75949130","wikidata":"https://www.wikidata.org/wiki/Q848010","display_name":"Database transaction","level":2,"score":0.13782763481140137},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.10138395428657532}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/2814270.2814318","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2814270.2814318","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G6865471441","display_name":null,"funder_award_id":"CCF-0926127","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":24,"referenced_works":["https://openalex.org/W75893787","https://openalex.org/W1542975293","https://openalex.org/W1833690663","https://openalex.org/W2039509099","https://openalex.org/W2050285203","https://openalex.org/W2058317042","https://openalex.org/W2091980304","https://openalex.org/W2092911542","https://openalex.org/W2096004601","https://openalex.org/W2096343842","https://openalex.org/W2100716766","https://openalex.org/W2113751407","https://openalex.org/W2133017912","https://openalex.org/W2141395109","https://openalex.org/W2149433427","https://openalex.org/W2158947256","https://openalex.org/W2163654949","https://openalex.org/W2205295324","https://openalex.org/W2503361011","https://openalex.org/W2728008137","https://openalex.org/W3148339845","https://openalex.org/W4236919400","https://openalex.org/W4244083566","https://openalex.org/W4248790694"],"related_works":["https://openalex.org/W2036306661","https://openalex.org/W118795575","https://openalex.org/W2145655468","https://openalex.org/W1885534640","https://openalex.org/W1738788207","https://openalex.org/W2764757682","https://openalex.org/W2106389308","https://openalex.org/W2052172665","https://openalex.org/W3141896225","https://openalex.org/W2524400765"],"abstract_inverted_index":{"Previous":[0],"work":[1],"has":[2,72,84],"shown":[3],"how":[4,192],"to":[5,25,97,178,193,198],"insert":[6,179],"fences":[7,122,162,180],"that":[8,112,123,158,163],"enforce":[9,100,124],"sequential":[10,17],"consistency.":[11],"However,":[12],"for":[13,80,138],"many":[14],"concurrent":[15],"algorithms,":[16],"consistency":[18],"is":[19,31,175],"unnecessarily":[20],"strong":[21],"and":[22,54,61,99,119,153,185],"can":[23,49],"lead":[24],"high":[26],"execution":[27,38,52,101,110,143],"overhead.":[28],"The":[29,70],"reason":[30],"that,":[32],"often,":[33],"correctness":[34,60],"relies":[35],"on":[36,67],"the":[37,82,109,125,151,170,176,188],"order":[39],"of":[40,45,65,74,191],"a":[41,94,113,199],"few":[42],"specific":[43],"pairs":[44],"instructions.":[46],"Algorithm":[47],"designers":[48],"declare":[50],"those":[51,146,167],"orders":[53,83,111],"thereby":[55],"enable":[56],"memory-model-independent":[57],"reasoning":[58],"about":[59],"also":[62],"ease":[63],"implementation":[64],"algorithms":[66,134,184,197],"multiple":[68],"platforms.":[69],"literature":[71],"examples":[73],"such":[75,196],"reasoning,":[76],"while":[77],"tool":[78,160,174],"support":[79],"enforcing":[81],"been":[85],"lacking":[86],"until":[87],"now.":[88],"In":[89],"this":[90],"paper":[91],"we":[92,140],"present":[93],"declarative":[95],"approach":[96],"specify":[98,141],"orders.":[102,144],"Our":[103,127,173],"fence":[104],"insertion":[105],"algorithm":[106],"first":[107,177],"identifies":[108],"given":[114],"memory":[115,133,155,183,201],"model":[116],"enforces":[117],"automatically,":[118],"then":[120],"inserts":[121,161],"rest.":[126],"benchmarks":[128],"include":[129],"three":[130],"off-the-shelf":[131],"transactional":[132,182],"written":[135],"in":[136],"C/C++":[137],"which":[139],"suitable":[142],"For":[145],"benchmarks,":[147],"our":[148,159],"experiments":[149],"with":[150,166],"x86":[152],"ARMv7":[154],"models":[156],"show":[157],"are":[164],"competitive":[165],"inserted":[168],"by":[169],"original":[171],"authors.":[172],"into":[181],"it":[186],"solves":[187],"long-standing":[189],"problem":[190],"easily":[194],"port":[195],"novel":[200],"model.":[202]},"counts_by_year":[{"year":2020,"cited_by_count":3},{"year":2019,"cited_by_count":3},{"year":2018,"cited_by_count":1},{"year":2017,"cited_by_count":2},{"year":2015,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
