{"id":"https://openalex.org/W2802339701","doi":"https://doi.org/10.1109/isca.2018.00030","title":"ProtoGen: Automatically Generating Directory Cache Coherence Protocols from Atomic Specifications","display_name":"ProtoGen: Automatically Generating Directory Cache Coherence Protocols from Atomic Specifications","publication_year":2018,"publication_date":"2018-06-01","ids":{"openalex":"https://openalex.org/W2802339701","doi":"https://doi.org/10.1109/isca.2018.00030","mag":"2802339701"},"language":"en","primary_location":{"id":"doi:10.1109/isca.2018.00030","doi":"https://doi.org/10.1109/isca.2018.00030","is_oa":false,"landing_page_url":"https://doi.org/10.1109/isca.2018.00030","pdf_url":null,"source":{"id":"https://openalex.org/S4393916863","display_name":"Proceedings - International Symposium on Computer Architecture/Proceedings","issn_l":"1063-6897","issn":["1063-6897"],"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":["norway-1"],"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2018 ACM/IEEE 45th Annual International Symposium on Computer Architecture (ISCA)","raw_type":"proceedings-article"},"volume":null,"type":"conference-paper","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://www.research.ed.ac.uk/files/59159239/ProtoGen.pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5036931296","display_name":"Nicolai Oswald","orcid":"https://orcid.org/0009-0009-9272-0518","observed_orcids":["https://orcid.org/0009-0009-9272-0518"]},"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":"Nicolai Oswald","raw_affiliation_strings":["The University of Edinburgh"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"The University of Edinburgh","institution_ids":["https://openalex.org/I98677209"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5056071760","display_name":"Vijay Nagarajan","orcid":"https://orcid.org/0009-0000-5045-4754","observed_orcids":["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":["The University of Edinburgh"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"The University of Edinburgh","institution_ids":["https://openalex.org/I98677209"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5072847774","display_name":"Daniel J. Sorin","orcid":"https://orcid.org/0000-0001-7013-8986","observed_orcids":["https://orcid.org/0000-0001-7013-8986"]},"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":"Daniel J. Sorin","raw_affiliation_strings":["The University of Edinburgh"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"The University of Edinburgh","institution_ids":["https://openalex.org/I98677209"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I98677209"],"apc_list":null,"apc_paid":null,"fwci":1.9356,"has_fulltext":true,"cited_by_count":19,"citation_normalized_percentile":{"value":0.86501137,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":94,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"247","last_page":"260"},"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.9009000062942505,"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.9009000062942505,"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.058800000697374344,"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.012199999764561653,"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/atomic-transactions","display_name":"atomic transactions","score":0.6570000052452087},{"id":"https://openalex.org/keywords/multi-core-processors","display_name":"multi-core processors","score":0.9580000042915344},{"id":"https://openalex.org/keywords/finite-state-machines","display_name":"finite automata","score":0.8669999837875366},{"id":"https://openalex.org/keywords/mesi-protocol","display_name":"MESI protocol","score":1.0},{"id":"https://openalex.org/keywords/deadlock-freedom","display_name":"deadlock freedom","score":0.8140000104904175},{"id":"https://openalex.org/keywords/safety-verification","display_name":"safety verification","score":0.6959999799728394}],"concepts":[{"id":"https://openalex.org/C120936851","wikidata":"https://www.wikidata.org/wiki/Q1408065","display_name":"MESI protocol","level":5,"score":0.8683416843414307},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8579075336456299},{"id":"https://openalex.org/C2777683733","wikidata":"https://www.wikidata.org/wiki/Q201456","display_name":"Directory","level":2,"score":0.8498150110244751},{"id":"https://openalex.org/C141917322","wikidata":"https://www.wikidata.org/wiki/Q1025017","display_name":"Cache coherence","level":5,"score":0.8372599482536316},{"id":"https://openalex.org/C199979278","wikidata":"https://www.wikidata.org/wiki/Q263221","display_name":"MESIF protocol","level":5,"score":0.6332419514656067},{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.5718595385551453},{"id":"https://openalex.org/C2780385302","wikidata":"https://www.wikidata.org/wiki/Q367158","display_name":"Protocol (science)","level":3,"score":0.5576984882354736},{"id":"https://openalex.org/C2781181686","wikidata":"https://www.wikidata.org/wiki/Q4226068","display_name":"Coherence (philosophical gambling strategy)","level":2,"score":0.5053287148475647},{"id":"https://openalex.org/C75949130","wikidata":"https://www.wikidata.org/wiki/Q848010","display_name":"Database transaction","level":2,"score":0.45756959915161133},{"id":"https://openalex.org/C159023740","wikidata":"https://www.wikidata.org/wiki/Q623276","display_name":"Deadlock","level":2,"score":0.44863244891166687},{"id":"https://openalex.org/C115537543","wikidata":"https://www.wikidata.org/wiki/Q165596","display_name":"Cache","level":2,"score":0.43638136982917786},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.4320872724056244},{"id":"https://openalex.org/C48103436","wikidata":"https://www.wikidata.org/wiki/Q599031","display_name":"State (computer science)","level":2,"score":0.4192357659339905},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.3774389326572418},{"id":"https://openalex.org/C38556500","wikidata":"https://www.wikidata.org/wiki/Q13404475","display_name":"Cache algorithms","level":4,"score":0.2994588017463684},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.28209632635116577},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.27147215604782104},{"id":"https://openalex.org/C189783530","wikidata":"https://www.wikidata.org/wiki/Q352090","display_name":"CPU cache","level":3,"score":0.22090160846710205},{"id":"https://openalex.org/C142724271","wikidata":"https://www.wikidata.org/wiki/Q7208","display_name":"Pathology","level":1,"score":0.0},{"id":"https://openalex.org/C71924100","wikidata":"https://www.wikidata.org/wiki/Q11190","display_name":"Medicine","level":0,"score":0.0},{"id":"https://openalex.org/C204787440","wikidata":"https://www.wikidata.org/wiki/Q188504","display_name":"Alternative medicine","level":2,"score":0.0},{"id":"https://openalex.org/C62520636","wikidata":"https://www.wikidata.org/wiki/Q944","display_name":"Quantum mechanics","level":1,"score":0.0},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1109/isca.2018.00030","doi":"https://doi.org/10.1109/isca.2018.00030","is_oa":false,"landing_page_url":"https://doi.org/10.1109/isca.2018.00030","pdf_url":null,"source":{"id":"https://openalex.org/S4393916863","display_name":"Proceedings - International Symposium on Computer Architecture/Proceedings","issn_l":"1063-6897","issn":["1063-6897"],"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":["norway-1"],"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2018 ACM/IEEE 45th Annual International Symposium on Computer Architecture (ISCA)","raw_type":"proceedings-article"},{"id":"pmh:oai:pure.ed.ac.uk:openaire/0126b2ab-e913-42c8-9bf3-30c7c8c5a405","doi":null,"is_oa":true,"landing_page_url":"https://hdl.handle.net/20.500.11820/0126b2ab-e913-42c8-9bf3-30c7c8c5a405","pdf_url":"https://www.research.ed.ac.uk/files/59159239/ProtoGen.pdf","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,"listed_in":[],"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":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Oswald, N, Nagarajan, V & Sorin, D J 2018, ProtoGen: Automatically Generating Directory Cache Coherence Protocols from Atomic Specifications. in 2018 ACM/IEEE 45th Annual International Symposium on Computer Architecture (ISCA). Institute of Electrical and Electronics Engineers, Los Angeles, California, USA, pp. 247-260, The 45th International Symposium on Computer Architecture, Los Angeles, California, United States, 2/06/18. https://doi.org/10.1109/ISCA.2018.00030","raw_type":"contributionToPeriodical"}],"best_oa_location":{"id":"pmh:oai:pure.ed.ac.uk:openaire/0126b2ab-e913-42c8-9bf3-30c7c8c5a405","doi":null,"is_oa":true,"landing_page_url":"https://hdl.handle.net/20.500.11820/0126b2ab-e913-42c8-9bf3-30c7c8c5a405","pdf_url":"https://www.research.ed.ac.uk/files/59159239/ProtoGen.pdf","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,"listed_in":[],"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":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Oswald, N, Nagarajan, V & Sorin, D J 2018, ProtoGen: Automatically Generating Directory Cache Coherence Protocols from Atomic Specifications. in 2018 ACM/IEEE 45th Annual International Symposium on Computer Architecture (ISCA). Institute of Electrical and Electronics Engineers, Los Angeles, California, USA, pp. 247-260, The 45th International Symposium on Computer Architecture, Los Angeles, California, United States, 2/06/18. https://doi.org/10.1109/ISCA.2018.00030","raw_type":"contributionToPeriodical"},"sustainable_development_goals":[],"study_designs":[],"awards":[{"id":"https://openalex.org/G2316399547","display_name":null,"funder_award_id":"EP/M027317/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G3276400090","display_name":"EPSRC Centre for Doctoral Training in Pervasive Parallelism","funder_award_id":"EP/L01503X/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G4679651227","display_name":"C3: Scalable &amp; Verified Shared Memory via Consistency-directed Cache Coherence","funder_award_id":"EP/M027317/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G5709231062","display_name":null,"funder_award_id":"CCF-142-1167","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"},{"id":"https://openalex.org/F4320319993","display_name":"Leverhulme Trust","ror":"https://ror.org/012mzw131"},{"id":"https://openalex.org/F4320320005","display_name":"Royal Academy of Engineering","ror":"https://ror.org/0526snb40"},{"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/W2802339701.pdf","grobid_xml":"https://content.openalex.org/works/W2802339701.grobid-xml"},"referenced_works_count":27,"referenced_works":["https://openalex.org/W224659930","https://openalex.org/W1548312885","https://openalex.org/W1606621385","https://openalex.org/W1965357972","https://openalex.org/W1973456473","https://openalex.org/W1983572666","https://openalex.org/W1997352364","https://openalex.org/W1997576530","https://openalex.org/W2030220202","https://openalex.org/W2054739713","https://openalex.org/W2081698031","https://openalex.org/W2090213052","https://openalex.org/W2106247017","https://openalex.org/W2111422492","https://openalex.org/W2142100382","https://openalex.org/W2148593819","https://openalex.org/W2155063683","https://openalex.org/W2161159055","https://openalex.org/W2163947040","https://openalex.org/W2164264749","https://openalex.org/W2168682824","https://openalex.org/W2169680334","https://openalex.org/W2170293694","https://openalex.org/W2617836188","https://openalex.org/W2798867273","https://openalex.org/W4231723008","https://openalex.org/W4240633153"],"related_works":["https://openalex.org/W6977631278","https://openalex.org/W3043482870","https://openalex.org/W3183627489","https://openalex.org/W2063202236","https://openalex.org/W2111588167","https://openalex.org/W2388036460","https://openalex.org/W1487340661","https://openalex.org/W2163947040","https://openalex.org/W2618531340","https://openalex.org/W2155063683"],"abstract_inverted_index":{"Designing":[0],"directory":[1,54,83],"cache":[2,81],"coherence":[3,8,18,31],"protocols":[4,108,120,133],"is":[5],"complicated":[6],"because":[7],"transactions":[9,32,58],"are":[10,92,134],"not":[11],"atomic":[12,57],"in":[13],"modern":[14],"multicore":[15,69],"processors.":[16],"A":[17],"transaction":[19],"comprises":[20],"multiple":[21],"messages,":[22],"and":[23,62,82,106,123],"these":[24],"messages":[25],"can":[26],"interleave":[27],"with":[28,56,70,94],"other":[29,35],"conflicting":[30],"initiated":[33],"by":[34],"cores.":[36],"To":[37],"overcome":[38],"this":[39],"architectural":[40],"challenge,":[41],"we":[42],"present":[43],"ProtoGen,":[44],"an":[45],"automated":[46],"tool":[47],"for":[48,67,79,121],"taking":[49],"the":[50,64,75,80,88,118,127],"description":[51],"of":[52,87],"a":[53,68],"protocol":[55,66,113],"(i.e.,":[59],"no":[60],"concurrency)":[61],"generating":[63],"corresponding":[65],"non-atomic":[71],"transactions.":[72,96],"ProtoGen":[73,100],"outputs":[74],"finite":[76],"state":[77,112],"machines":[78],"controllers,":[84],"including":[85],"all":[86],"transient":[89],"states":[90],"that":[91],"possible":[93],"concurrent":[95],"We":[97,115],"have":[98,116],"used":[99],"to":[101,136,148],"generate":[102],"complete":[103],"MSI,":[104],"MESI,":[105],"MOSI":[107],"given":[109],"their":[110],"stable":[111],"specifications.":[114],"verified":[117],"generated":[119,132,141],"safety":[122],"deadlock":[124],"freedom":[125],"using":[126],"Mur\u03c6":[128],"model":[129],"checker.":[130],"Our":[131],"identical":[135],"or":[137],"better":[138],"than":[139],"manually":[140],"protocols,":[142],"at":[143],"times":[144],"even":[145],"discovering":[146],"opportunities":[147],"reduce":[149],"stalling.":[150]},"counts_by_year":[{"year":2026,"cited_by_count":3},{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":2},{"year":2022,"cited_by_count":3},{"year":2021,"cited_by_count":4},{"year":2020,"cited_by_count":3},{"year":2019,"cited_by_count":2}],"updated_date":"2026-10-29T09:56:32.521200","created_date":"2018-05-17T00:00:00"}
