{"id":"https://openalex.org/W4379512336","doi":"https://doi.org/10.1145/3591267","title":"Compound Memory Models","display_name":"Compound Memory Models","publication_year":2023,"publication_date":"2023-06-06","ids":{"openalex":"https://openalex.org/W4379512336","doi":"https://doi.org/10.1145/3591267"},"language":"en","primary_location":{"id":"doi:10.1145/3591267","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3591267","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3591267","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3591267","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5045703198","display_name":"Andr\u00e9s Goens","orcid":"https://orcid.org/0000-0002-0409-1363"},"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":"Andr\u00e9s Goens","raw_affiliation_strings":["University of Edinburgh, UK"],"raw_orcid":"https://orcid.org/0000-0002-0409-1363","affiliations":[{"raw_affiliation_string":"University of Edinburgh, UK","institution_ids":["https://openalex.org/I98677209"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5076643620","display_name":"Soham Chakraborty","orcid":null},"institutions":[{"id":"https://openalex.org/I98358874","display_name":"Delft University of Technology","ror":"https://ror.org/02e2c7k09","country_code":"NL","type":"education","lineage":["https://openalex.org/I98358874"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Soham Chakraborty","raw_affiliation_strings":["TU Delft, Netherlands"],"raw_orcid":"https://orcid.org/0000-0002-4454-2050","affiliations":[{"raw_affiliation_string":"TU Delft, Netherlands","institution_ids":["https://openalex.org/I98358874"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5073254249","display_name":"Susmit Sarkar","orcid":"https://orcid.org/0000-0002-4259-9213"},"institutions":[{"id":"https://openalex.org/I16835326","display_name":"University of St Andrews","ror":"https://ror.org/02wn5qz54","country_code":"GB","type":"education","lineage":["https://openalex.org/I16835326"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Susmit Sarkar","raw_affiliation_strings":["University of St Andrews, UK"],"raw_orcid":"https://orcid.org/0000-0002-4259-9213","affiliations":[{"raw_affiliation_string":"University of St Andrews, UK","institution_ids":["https://openalex.org/I16835326"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5034837887","display_name":"Sukarn Agarwal","orcid":"https://orcid.org/0000-0003-1292-3235"},"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":"Sukarn Agarwal","raw_affiliation_strings":["University of Edinburgh, UK"],"raw_orcid":"https://orcid.org/0000-0003-1292-3235","affiliations":[{"raw_affiliation_string":"University of Edinburgh, UK","institution_ids":["https://openalex.org/I98677209"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5036931296","display_name":"Nicolai Oswald","orcid":"https://orcid.org/0009-0009-9272-0518"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Nicolai Oswald","raw_affiliation_strings":["NVIDIA Research, Switzerland"],"raw_orcid":"https://orcid.org/0009-0009-9272-0518","affiliations":[{"raw_affiliation_string":"NVIDIA Research, Switzerland","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5056071760","display_name":"Vijay Nagarajan","orcid":"https://orcid.org/0009-0000-5045-4754"},"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":"Vijay Nagarajan","raw_affiliation_strings":["University of Edinburgh, UK"],"raw_orcid":"https://orcid.org/0009-0000-5045-4754","affiliations":[{"raw_affiliation_string":"University of Edinburgh, UK","institution_ids":["https://openalex.org/I98677209"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":2.9274,"has_fulltext":true,"cited_by_count":11,"citation_normalized_percentile":{"value":0.913163,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":94,"max":99},"biblio":{"volume":"7","issue":"PLDI","first_page":"1145","last_page":"1168"},"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.9998000264167786,"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.8659795522689819},{"id":"https://openalex.org/keywords/memory-model","display_name":"Memory model","score":0.773115336894989},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.7653353214263916},{"id":"https://openalex.org/keywords/consistency-model","display_name":"Consistency model","score":0.6943569183349609},{"id":"https://openalex.org/keywords/consistency","display_name":"Consistency (knowledge bases)","score":0.6830266714096069},{"id":"https://openalex.org/keywords/sequential-consistency","display_name":"Sequential consistency","score":0.6778596043586731},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5360167026519775},{"id":"https://openalex.org/keywords/interface","display_name":"Interface (matter)","score":0.5294914841651917},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.5091957449913025},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.4871685206890106},{"id":"https://openalex.org/keywords/key","display_name":"Key (lock)","score":0.4455210566520691},{"id":"https://openalex.org/keywords/shared-memory","display_name":"Shared memory","score":0.4154701232910156},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.3660520315170288},{"id":"https://openalex.org/keywords/computer-architecture","display_name":"Computer architecture","score":0.3232179880142212},{"id":"https://openalex.org/keywords/data-consistency","display_name":"Data consistency","score":0.3207519054412842},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.07900476455688477}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8659795522689819},{"id":"https://openalex.org/C12186640","wikidata":"https://www.wikidata.org/wiki/Q6815743","display_name":"Memory model","level":3,"score":0.773115336894989},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.7653353214263916},{"id":"https://openalex.org/C37279795","wikidata":"https://www.wikidata.org/wiki/Q2492305","display_name":"Consistency model","level":3,"score":0.6943569183349609},{"id":"https://openalex.org/C2776436953","wikidata":"https://www.wikidata.org/wiki/Q5163215","display_name":"Consistency (knowledge bases)","level":2,"score":0.6830266714096069},{"id":"https://openalex.org/C82029504","wikidata":"https://www.wikidata.org/wiki/Q4373882","display_name":"Sequential consistency","level":4,"score":0.6778596043586731},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5360167026519775},{"id":"https://openalex.org/C113843644","wikidata":"https://www.wikidata.org/wiki/Q901882","display_name":"Interface (matter)","level":4,"score":0.5294914841651917},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5091957449913025},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.4871685206890106},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.4455210566520691},{"id":"https://openalex.org/C133875982","wikidata":"https://www.wikidata.org/wiki/Q764810","display_name":"Shared memory","level":2,"score":0.4154701232910156},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.3660520315170288},{"id":"https://openalex.org/C118524514","wikidata":"https://www.wikidata.org/wiki/Q173212","display_name":"Computer architecture","level":1,"score":0.3232179880142212},{"id":"https://openalex.org/C93361087","wikidata":"https://www.wikidata.org/wiki/Q4426698","display_name":"Data consistency","level":2,"score":0.3207519054412842},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.07900476455688477},{"id":"https://openalex.org/C157915830","wikidata":"https://www.wikidata.org/wiki/Q2928001","display_name":"Bubble","level":2,"score":0.0},{"id":"https://openalex.org/C129307140","wikidata":"https://www.wikidata.org/wiki/Q6795880","display_name":"Maximum bubble pressure method","level":3,"score":0.0}],"mesh":[],"locations_count":5,"locations":[{"id":"doi:10.1145/3591267","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3591267","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3591267","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},{"id":"pmh:oai:pure.ed.ac.uk:publications/98d8e99f-bd87-4db7-8a1e-f1b536c9b219","is_oa":true,"landing_page_url":"https://hdl.handle.net/20.500.11820/98d8e99f-bd87-4db7-8a1e-f1b536c9b219","pdf_url":"https://www.research.ed.ac.uk/en/publications/98d8e99f-bd87-4db7-8a1e-f1b536c9b219","source":{"id":"https://openalex.org/S4306400321","display_name":"Edinburgh Research Explorer (University of Edinburgh)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I98677209","host_organization_name":"University of Edinburgh","host_organization_lineage":["https://openalex.org/I98677209"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":""},{"id":"pmh:oai:research-repository.st-andrews.ac.uk:10023/27764","is_oa":true,"landing_page_url":"https://hdl.handle.net/10023/27764","pdf_url":"https://research-repository.st-andrews.ac.uk/bitstream/10023/27764/1/Goens_2023_PAPL_Compound_memory_CC.pdf","source":{"id":"https://openalex.org/S4306400230","display_name":"St Andrews Research Repository (St Andrews Research Repository)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I16835326","host_organization_name":"University of St Andrews","host_organization_lineage":["https://openalex.org/I16835326"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"Journal article"},{"id":"pmh:oai:pure.ed.ac.uk:openaire/98d8e99f-bd87-4db7-8a1e-f1b536c9b219","is_oa":true,"landing_page_url":"https://www.research.ed.ac.uk/files/338970915/Compound_memory_GOENS_DOA04042023_AFV_CC_BY.pdf","pdf_url":null,"source":{"id":"https://openalex.org/S4406922455","display_name":"Edinburgh Research Explorer","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Goens, A, Chakraborty, S, Sarkar, S, Agarwal, S, Oswald, N & Nagarajan, V 2023, 'Compound Memory Models', Proceedings of the ACM on Programming Languages, vol. 7, no. PLDI, 153, pp. 1145-1168. https://doi.org/10.1145/3591267","raw_type":"info:eu-repo/semantics/article"},{"id":"pmh:oai:tudelft.nl:uuid:358c3200-c5ef-4457-89f8-a3cadc3bc6a0","is_oa":true,"landing_page_url":"http://resolver.tudelft.nl/uuid:358c3200-c5ef-4457-89f8-a3cadc3bc6a0","pdf_url":null,"source":{"id":"https://openalex.org/S4306400906","display_name":"Research Repository (Delft University of Technology)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I98358874","host_organization_name":"Delft University of Technology","host_organization_lineage":["https://openalex.org/I98358874"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"journal article"}],"best_oa_location":{"id":"doi:10.1145/3591267","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3591267","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3591267","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G6385313785","display_name":"C6: Correct-by-Construction Heterogeneous Coherence","funder_award_id":"EP/V028154/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G7037259260","display_name":null,"funder_award_id":"EP/V038699/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G7415281536","display_name":"Dijkstra's Pipe: Timing-Secure Processors by Design","funder_award_id":"EP/V038699/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G7904692858","display_name":null,"funder_award_id":"EP/V038699/1, EP/V028154/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G8952434854","display_name":null,"funder_award_id":"EP/V028154/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"}],"funders":[{"id":"https://openalex.org/F4320334627","display_name":"Engineering and Physical Sciences Research Council","ror":"https://ror.org/0439y7842"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4379512336.pdf","grobid_xml":"https://content.openalex.org/works/W4379512336.grobid-xml"},"referenced_works_count":24,"referenced_works":["https://openalex.org/W1525350307","https://openalex.org/W1895387792","https://openalex.org/W2054739713","https://openalex.org/W2085773946","https://openalex.org/W2117502039","https://openalex.org/W2559594945","https://openalex.org/W2564852534","https://openalex.org/W2626631502","https://openalex.org/W2738891045","https://openalex.org/W2739250441","https://openalex.org/W2752522467","https://openalex.org/W2884767181","https://openalex.org/W2900112703","https://openalex.org/W2935389012","https://openalex.org/W3005135768","https://openalex.org/W3099115520","https://openalex.org/W3122287721","https://openalex.org/W3186023305","https://openalex.org/W3206659166","https://openalex.org/W4234066571","https://openalex.org/W4245268430","https://openalex.org/W4280557507","https://openalex.org/W4393772959","https://openalex.org/W6744276852"],"related_works":["https://openalex.org/W2036306661","https://openalex.org/W1569741251","https://openalex.org/W2034248803","https://openalex.org/W2258014168","https://openalex.org/W4300963581","https://openalex.org/W4317827391","https://openalex.org/W1496676675","https://openalex.org/W2110339542","https://openalex.org/W2497938157","https://openalex.org/W2056446432"],"abstract_inverted_index":{"Today's":[0],"mobile,":[1],"desktop,":[2],"and":[3,16,46,112,157],"server":[4],"processors":[5,21],"are":[6,22,95],"heterogeneous,":[7],"consisting":[8],"not":[9,54],"only":[10],"of":[11,35,61],"CPUs":[12],"but":[13],"also":[14],"GPUs":[15],"other":[17],"accelerators.":[18],"Such":[19],"heterogeneous":[20,63],"starting":[23],"to":[24,143,149],"expose":[25],"a":[26,41,47,81,108,113],"shared":[27],"memory":[28,49,58,77,136],"interface":[29],"across":[30],"these":[31,36],"devices.Given":[32],"that":[33,123,140],"each":[34],"individual":[37],"devices":[38,90],"typically":[39],"supports":[40],"distinct":[42,48,92],"instruction":[43],"set":[44],"architecture":[45],"consistency":[50,59,93],"model,":[51],"it":[52],"is":[53,122],"clear":[55],"what":[56],"the":[57,62,86,103,116,124,132,144,151,158],"model":[60,84,88,101,106,127],"machine":[64],"should":[65],"be.":[66],"In":[67],"this":[68,72],"paper,":[69],"we":[70,79],"answer":[71],"question":[73],"by":[74],"formalizing":[75],"\"compound\"":[76],"models:":[78],"present":[80],"compositional":[82],"operational":[83],"describing":[85],"resulting":[87],"when":[89],"with":[91,102],"models":[94],"fused":[96],"together.":[97],"We":[98],"instantiate":[99],"our":[100],"compound":[104,126],"x86TSO/PTX":[105,125],"--":[107],"CPU":[109],"enforcing":[110,115],"x86TSO":[111,145],"GPU":[114],"PTX":[117],"model.":[118,137],"A":[119],"key":[120],"result":[121],"retains":[128],"compiler":[129,155],"mappings":[130],"from":[131],"language-based":[133],"(scoped)":[134],"C":[135],"This":[138],"means":[139],"threads":[141],"mapped":[142],"device":[146],"can":[147],"continue":[148],"use":[150],"already":[152],"proven":[153],"C-to-x86TSO":[154],"mapping,":[156],"same":[159],"for":[160],"PTX.":[161]},"counts_by_year":[{"year":2026,"cited_by_count":5},{"year":2025,"cited_by_count":4},{"year":2024,"cited_by_count":2}],"updated_date":"2026-07-07T14:30:12.667765","created_date":"2025-10-10T00:00:00"}
