{"id":"https://openalex.org/W3206659166","doi":"https://doi.org/10.1145/3485497","title":"The semantics of shared memory in Intel CPU/FPGA systems","display_name":"The semantics of shared memory in Intel CPU/FPGA systems","publication_year":2021,"publication_date":"2021-10-15","ids":{"openalex":"https://openalex.org/W3206659166","doi":"https://doi.org/10.1145/3485497","mag":"3206659166"},"language":"en","primary_location":{"id":"doi:10.1145/3485497","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3485497","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3485497","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/3485497","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5022532239","display_name":"Dan Iorga","orcid":"https://orcid.org/0000-0002-2313-7910"},"institutions":[{"id":"https://openalex.org/I47508984","display_name":"Imperial College London","ror":"https://ror.org/041kmwe10","country_code":"GB","type":"education","lineage":["https://openalex.org/I47508984"]}],"countries":["GB"],"is_corresponding":true,"raw_author_name":"Dan Iorga","raw_affiliation_strings":["Imperial College London, UK"],"affiliations":[{"raw_affiliation_string":"Imperial College London, UK","institution_ids":["https://openalex.org/I47508984"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5080781439","display_name":"Alastair F. Donaldson","orcid":"https://orcid.org/0000-0002-7448-7961"},"institutions":[{"id":"https://openalex.org/I47508984","display_name":"Imperial College London","ror":"https://ror.org/041kmwe10","country_code":"GB","type":"education","lineage":["https://openalex.org/I47508984"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Alastair F. Donaldson","raw_affiliation_strings":["Imperial College London, UK"],"affiliations":[{"raw_affiliation_string":"Imperial College London, UK","institution_ids":["https://openalex.org/I47508984"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5052590511","display_name":"Tyler Sorensen","orcid":"https://orcid.org/0000-0003-1646-7935"},"institutions":[{"id":"https://openalex.org/I185103710","display_name":"University of California, Santa Cruz","ror":"https://ror.org/03s65by71","country_code":"US","type":"education","lineage":["https://openalex.org/I185103710"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Tyler Sorensen","raw_affiliation_strings":["University of California at Santa Cruz, USA"],"affiliations":[{"raw_affiliation_string":"University of California at Santa Cruz, USA","institution_ids":["https://openalex.org/I185103710"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5002846450","display_name":"John Wickerson","orcid":"https://orcid.org/0000-0001-6735-5533"},"institutions":[{"id":"https://openalex.org/I47508984","display_name":"Imperial College London","ror":"https://ror.org/041kmwe10","country_code":"GB","type":"education","lineage":["https://openalex.org/I47508984"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"John Wickerson","raw_affiliation_strings":["Imperial College London, UK"],"affiliations":[{"raw_affiliation_string":"Imperial College London, UK","institution_ids":["https://openalex.org/I47508984"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5022532239"],"corresponding_institution_ids":["https://openalex.org/I47508984"],"apc_list":null,"apc_paid":null,"fwci":1.6406,"has_fulltext":true,"cited_by_count":8,"citation_normalized_percentile":{"value":0.83480006,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":97},"biblio":{"volume":"5","issue":"OOPSLA","first_page":"1","last_page":"28"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998000264167786,"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":0.9998000264167786,"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/T10142","display_name":"Formal Methods in Verification","score":0.9984999895095825,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"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.829965353012085},{"id":"https://openalex.org/keywords/memory-model","display_name":"Memory model","score":0.6242185831069946},{"id":"https://openalex.org/keywords/shared-memory","display_name":"Shared memory","score":0.6045965552330017},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.5126585364341736},{"id":"https://openalex.org/keywords/litmus","display_name":"Litmus","score":0.49131789803504944},{"id":"https://openalex.org/keywords/field-programmable-gate-array","display_name":"Field-programmable gate array","score":0.4236922860145569},{"id":"https://openalex.org/keywords/central-processing-unit","display_name":"Central processing unit","score":0.4205654263496399},{"id":"https://openalex.org/keywords/embedded-system","display_name":"Embedded system","score":0.3864278495311737},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.3850763142108917},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.3784860372543335}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.829965353012085},{"id":"https://openalex.org/C12186640","wikidata":"https://www.wikidata.org/wiki/Q6815743","display_name":"Memory model","level":3,"score":0.6242185831069946},{"id":"https://openalex.org/C133875982","wikidata":"https://www.wikidata.org/wiki/Q764810","display_name":"Shared memory","level":2,"score":0.6045965552330017},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5126585364341736},{"id":"https://openalex.org/C157329479","wikidata":"https://www.wikidata.org/wiki/Q185082","display_name":"Litmus","level":2,"score":0.49131789803504944},{"id":"https://openalex.org/C42935608","wikidata":"https://www.wikidata.org/wiki/Q190411","display_name":"Field-programmable gate array","level":2,"score":0.4236922860145569},{"id":"https://openalex.org/C49154492","wikidata":"https://www.wikidata.org/wiki/Q5300","display_name":"Central processing unit","level":2,"score":0.4205654263496399},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.3864278495311737},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.3850763142108917},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.3784860372543335},{"id":"https://openalex.org/C147789679","wikidata":"https://www.wikidata.org/wiki/Q11372","display_name":"Physical chemistry","level":1,"score":0.0},{"id":"https://openalex.org/C185592680","wikidata":"https://www.wikidata.org/wiki/Q2329","display_name":"Chemistry","level":0,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3485497","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3485497","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3485497","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:spiral.imperial.ac.uk:10044/1/91779","is_oa":true,"landing_page_url":"http://hdl.handle.net/10044/1/91779","pdf_url":null,"source":{"id":"https://openalex.org/S4306401396","display_name":"Spiral (Imperial College London)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I47508984","host_organization_name":"Imperial College London","host_organization_lineage":["https://openalex.org/I47508984"],"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":"28","raw_type":"Journal Article"}],"best_oa_location":{"id":"doi:10.1145/3485497","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3485497","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3485497","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":[{"id":"https://metadata.un.org/sdg/16","display_name":"Peace, Justice and strong institutions","score":0.8299999833106995}],"awards":[{"id":"https://openalex.org/G1641431731","display_name":null,"funder_award_id":"EP/R006865/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G3817965589","display_name":null,"funder_award_id":"EP/R006865/1, EP/L016796/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G5201431165","display_name":"EPSRC Centre for Doctoral Training in High Performance Embedded and Distributed Systems","funder_award_id":"EP/L016796/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G6480646621","display_name":"Interface reasoning for interacting systems (IRIS).","funder_award_id":"EP/R006865/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G6653872853","display_name":null,"funder_award_id":"EP/L016","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G8372550006","display_name":null,"funder_award_id":"(EP/L016796/1)","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G8840470266","display_name":null,"funder_award_id":"R006865/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":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W3206659166.pdf","grobid_xml":"https://content.openalex.org/works/W3206659166.grobid-xml"},"referenced_works_count":42,"referenced_works":["https://openalex.org/W1525350307","https://openalex.org/W1594228127","https://openalex.org/W1895387792","https://openalex.org/W1970799414","https://openalex.org/W1997113918","https://openalex.org/W2054739713","https://openalex.org/W2111858071","https://openalex.org/W2118621726","https://openalex.org/W2129538349","https://openalex.org/W2150618958","https://openalex.org/W2153636750","https://openalex.org/W2156678748","https://openalex.org/W2242839033","https://openalex.org/W2257827631","https://openalex.org/W2260448916","https://openalex.org/W2301631282","https://openalex.org/W2492482597","https://openalex.org/W2535050116","https://openalex.org/W2605308338","https://openalex.org/W2616014673","https://openalex.org/W2738891045","https://openalex.org/W2767686507","https://openalex.org/W2769194423","https://openalex.org/W2777743316","https://openalex.org/W2788007484","https://openalex.org/W2909507673","https://openalex.org/W2912012512","https://openalex.org/W2917675277","https://openalex.org/W2920648274","https://openalex.org/W2935389012","https://openalex.org/W2947631473","https://openalex.org/W2951591319","https://openalex.org/W2971573826","https://openalex.org/W3034553463","https://openalex.org/W3035681682","https://openalex.org/W3107477519","https://openalex.org/W4234406920","https://openalex.org/W4240313904","https://openalex.org/W4240322740","https://openalex.org/W4249127270","https://openalex.org/W6912590480","https://openalex.org/W6963898437"],"related_works":["https://openalex.org/W2625764229","https://openalex.org/W2161970779","https://openalex.org/W3019068005","https://openalex.org/W2605308338","https://openalex.org/W4251930438","https://openalex.org/W51021667","https://openalex.org/W1822674892","https://openalex.org/W4317827391","https://openalex.org/W4249583756","https://openalex.org/W40577698"],"abstract_inverted_index":{"Heterogeneous":[0],"CPU/FPGA":[1,195],"devices,":[2,33],"in":[3,19,91,118,219],"which":[4],"a":[5,35,39,63,92,163,207,241,257,274],"CPU":[6,81,106,263],"and":[7,83,107,144,234,264],"an":[8,59,84],"FPGA":[9,61,85],"can":[10],"execute":[11],"together":[12],"while":[13],"sharing":[14],"memory,":[15],"are":[16,73,102,111],"becoming":[17],"popular":[18],"several":[20],"computing":[21],"sectors.":[22],"In":[23],"this":[24],"paper,":[25],"we":[26,155,192,200,249,284],"study":[27],"the":[28,45,69,135,145,172,202,244,262,265,268,291],"shared-memory":[29],"semantics":[30],"of":[31,99,131,205,236,243,246,293],"these":[32,78,100,116],"with":[34,62],"view":[36],"to":[37,254,281],"providing":[38],"firm":[40],"foundation":[41],"for":[42,140,149,171,229],"reasoning":[43],"about":[44,256],"programs":[46],"that":[47,57,72,165,191,223,276,286],"run":[48,193],"on":[49,54,77,194],"them.":[50],"Our":[51],"focus":[52],"is":[53,279],"Intel":[55,60],"platforms":[56],"combine":[58],"multicore":[64],"Xeon":[65],"CPU.":[66],"We":[67,114,127,175,221],"describe":[68],"weak-memory":[70],"behaviours":[71,101,117],"allowed":[74],"(and":[75],"observable)":[76],"devices":[79],"when":[80,197],"threads":[82],"thread":[86],"access":[87],"common":[88],"memory":[89,121],"locations":[90],"fine-grained":[93],"manner":[94],"through":[95],"multiple":[96],"channels.":[97],"Some":[98],"familiar":[103],"from":[104],"well-studied":[105],"GPU":[108],"concurrency;":[109],"others":[110],"weaker":[112],"still.":[113],"encode":[115],"two":[119],"formal":[120],"models:":[122],"one":[123,125],"operational,":[124],"axiomatic.":[126],"develop":[128],"executable":[129],"implementations":[130],"both":[132],"models,":[133],"using":[134],"CBMC":[136,173],"bounded":[137],"model-checking":[138],"tool":[139],"our":[141,150,157,178,215,224,247,251,277],"operational":[142,252],"model":[143,253,278],"Alloy":[146],"modelling":[147],"language":[148],"axiomatic":[151],"model.":[152,174],"Using":[153],"these,":[154],"cross-check":[156],"models":[158,179,225],"against":[159,180],"each":[160],"other":[161],"via":[162],"translator":[164],"converts":[166],"Alloy-generated":[167,186],"executions":[168,187],"into":[169,188],"queries":[170],"also":[176],"validate":[177],"actual":[181],"hardware":[182,208],"by":[183,213],"translating":[184],"583":[185],"litmus":[189,211],"tests":[190],"devices;":[196],"doing":[198],"this,":[199],"avoid":[201],"prohibitive":[203],"cost":[204,292],"synthesising":[206],"design":[209],"per":[210],"test":[212],"creating":[214],"own":[216],"'litmus-test":[217],"processor'":[218],"hardware.":[220],"expect":[222],"will":[226],"be":[227],"useful":[228],"low-level":[230],"programmers,":[231],"compiler":[232],"writers,":[233],"designers":[235],"analysis":[237],"tools.":[238],"Indeed,":[239],"as":[240],"demonstration":[242],"utility":[245],"work,":[248],"use":[250],"reason":[255],"producer/consumer":[258],"buffer":[259,269],"implemented":[260],"across":[261],"FPGA.":[266],"When":[267],"uses":[270],"insufficient":[271],"synchronisation":[272],"--":[273,283],"situation":[275],"able":[280],"detect":[282],"observe":[285],"its":[287],"performance":[288],"improves":[289],"at":[290],"occasional":[294],"data":[295],"corruption.":[296]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":4},{"year":2022,"cited_by_count":2}],"updated_date":"2026-03-07T16:01:11.037858","created_date":"2025-10-10T00:00:00"}
