{"id":"https://openalex.org/W4414908952","doi":"https://doi.org/10.1109/escience65000.2025.00035","title":"Locks Must Die: Composable Mutual Exclusion Implemented by Dynamic Resource Sharing on Task Graphs","display_name":"Locks Must Die: Composable Mutual Exclusion Implemented by Dynamic Resource Sharing on Task Graphs","publication_year":2025,"publication_date":"2025-09-15","ids":{"openalex":"https://openalex.org/W4414908952","doi":"https://doi.org/10.1109/escience65000.2025.00035"},"language":"en","primary_location":{"id":"doi:10.1109/escience65000.2025.00035","is_oa":false,"landing_page_url":"https://doi.org/10.1109/escience65000.2025.00035","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2025 IEEE International Conference on eScience (eScience)","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/A5044869191","display_name":"Max D. Morris","orcid":"https://orcid.org/0000-0002-9894-2893"},"institutions":[{"id":"https://openalex.org/I121820613","display_name":"Louisiana State University","ror":"https://ror.org/05ect4e57","country_code":"US","type":"education","lineage":["https://openalex.org/I121820613"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Max Morris","raw_affiliation_strings":["Louisiana State University,USA"],"affiliations":[{"raw_affiliation_string":"Louisiana State University,USA","institution_ids":["https://openalex.org/I121820613"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5077615987","display_name":"Steven R. Brandt","orcid":"https://orcid.org/0000-0002-7979-2906"},"institutions":[{"id":"https://openalex.org/I121820613","display_name":"Louisiana State University","ror":"https://ror.org/05ect4e57","country_code":"US","type":"education","lineage":["https://openalex.org/I121820613"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Steven R. Brandt","raw_affiliation_strings":["Louisiana State University,USA"],"affiliations":[{"raw_affiliation_string":"Louisiana State University,USA","institution_ids":["https://openalex.org/I121820613"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5051320432","display_name":"Hartmut Kaiser","orcid":"https://orcid.org/0000-0002-8712-2806"},"institutions":[{"id":"https://openalex.org/I121820613","display_name":"Louisiana State University","ror":"https://ror.org/05ect4e57","country_code":"US","type":"education","lineage":["https://openalex.org/I121820613"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Hartmut Kaiser","raw_affiliation_strings":["Louisiana State University,USA"],"affiliations":[{"raw_affiliation_string":"Louisiana State University,USA","institution_ids":["https://openalex.org/I121820613"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5044869191"],"corresponding_institution_ids":["https://openalex.org/I121820613"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.34548867,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"232","last_page":"239"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10772","display_name":"Distributed systems and fault tolerance","score":0.9965000152587891,"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":0.9965000152587891,"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/T10273","display_name":"IoT and Edge/Fog Computing","score":0.9599000215530396,"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/T12288","display_name":"Optimization and Search Problems","score":0.9354000091552734,"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/semaphore","display_name":"Semaphore","score":0.9314000010490417},{"id":"https://openalex.org/keywords/executor","display_name":"Executor","score":0.8008999824523926},{"id":"https://openalex.org/keywords/mutual-exclusion","display_name":"Mutual exclusion","score":0.7282000184059143},{"id":"https://openalex.org/keywords/serialization","display_name":"Serialization","score":0.6262999773025513},{"id":"https://openalex.org/keywords/task","display_name":"Task (project management)","score":0.5803999900817871},{"id":"https://openalex.org/keywords/construct","display_name":"Construct (python library)","score":0.5364000201225281},{"id":"https://openalex.org/keywords/class","display_name":"Class (philosophy)","score":0.49050000309944153},{"id":"https://openalex.org/keywords/synchronization","display_name":"Synchronization (alternating current)","score":0.4884999990463257},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.4480000138282776}],"concepts":[{"id":"https://openalex.org/C95203288","wikidata":"https://www.wikidata.org/wiki/Q221682","display_name":"Semaphore","level":2,"score":0.9314000010490417},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8544999957084656},{"id":"https://openalex.org/C180591056","wikidata":"https://www.wikidata.org/wiki/Q654437","display_name":"Executor","level":2,"score":0.8008999824523926},{"id":"https://openalex.org/C56348326","wikidata":"https://www.wikidata.org/wiki/Q1047554","display_name":"Mutual exclusion","level":2,"score":0.7282000184059143},{"id":"https://openalex.org/C52723943","wikidata":"https://www.wikidata.org/wiki/Q1127410","display_name":"Serialization","level":2,"score":0.6262999773025513},{"id":"https://openalex.org/C2780451532","wikidata":"https://www.wikidata.org/wiki/Q759676","display_name":"Task (project management)","level":2,"score":0.5803999900817871},{"id":"https://openalex.org/C2780801425","wikidata":"https://www.wikidata.org/wiki/Q5164392","display_name":"Construct (python library)","level":2,"score":0.5364000201225281},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.5224999785423279},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.49050000309944153},{"id":"https://openalex.org/C2778562939","wikidata":"https://www.wikidata.org/wiki/Q1298791","display_name":"Synchronization (alternating current)","level":3,"score":0.4884999990463257},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.4480000138282776},{"id":"https://openalex.org/C136197465","wikidata":"https://www.wikidata.org/wiki/Q1729295","display_name":"Variety (cybernetics)","level":2,"score":0.43689998984336853},{"id":"https://openalex.org/C206345919","wikidata":"https://www.wikidata.org/wiki/Q20380951","display_name":"Resource (disambiguation)","level":2,"score":0.40299999713897705},{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.3880999982357025},{"id":"https://openalex.org/C148609458","wikidata":"https://www.wikidata.org/wiki/Q7021281","display_name":"Nexus (standard)","level":2,"score":0.37880000472068787},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.35359999537467957},{"id":"https://openalex.org/C124343487","wikidata":"https://www.wikidata.org/wiki/Q1046373","display_name":"Critical section","level":2,"score":0.33399999141693115},{"id":"https://openalex.org/C159023740","wikidata":"https://www.wikidata.org/wiki/Q623276","display_name":"Deadlock","level":2,"score":0.32260000705718994},{"id":"https://openalex.org/C51332947","wikidata":"https://www.wikidata.org/wiki/Q1172305","display_name":"Shared resource","level":2,"score":0.3181000053882599},{"id":"https://openalex.org/C98045186","wikidata":"https://www.wikidata.org/wiki/Q205663","display_name":"Process (computing)","level":2,"score":0.31299999356269836},{"id":"https://openalex.org/C2780513914","wikidata":"https://www.wikidata.org/wiki/Q18210350","display_name":"Bottleneck","level":2,"score":0.30059999227523804},{"id":"https://openalex.org/C62611344","wikidata":"https://www.wikidata.org/wiki/Q1062658","display_name":"Node (physics)","level":2,"score":0.2957000136375427},{"id":"https://openalex.org/C201410400","wikidata":"https://www.wikidata.org/wiki/Q1064412","display_name":"Multithreading","level":3,"score":0.2919999957084656},{"id":"https://openalex.org/C126831891","wikidata":"https://www.wikidata.org/wiki/Q221673","display_name":"Host (biology)","level":2,"score":0.28949999809265137},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.2815999984741211},{"id":"https://openalex.org/C2776299755","wikidata":"https://www.wikidata.org/wiki/Q432449","display_name":"Carry (investment)","level":2,"score":0.2718999981880188},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.25459998846054077},{"id":"https://openalex.org/C95713431","wikidata":"https://www.wikidata.org/wiki/Q631425","display_name":"Vulnerability (computing)","level":2,"score":0.25119999051094055},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.25099998712539673}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1109/escience65000.2025.00035","is_oa":false,"landing_page_url":"https://doi.org/10.1109/escience65000.2025.00035","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2025 IEEE International Conference on eScience (eScience)","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":15,"referenced_works":["https://openalex.org/W1973531467","https://openalex.org/W2040466547","https://openalex.org/W2045506295","https://openalex.org/W2069398819","https://openalex.org/W2092911542","https://openalex.org/W2101161997","https://openalex.org/W2114201536","https://openalex.org/W2138058557","https://openalex.org/W2156523571","https://openalex.org/W2167898851","https://openalex.org/W2462574277","https://openalex.org/W2807844756","https://openalex.org/W3082389863","https://openalex.org/W4239509566","https://openalex.org/W4248701792"],"related_works":[],"abstract_inverted_index":{"Locks,":[0],"the":[1,37,42,97,113,120,136],"enduring":[2],"de-facto":[3],"standard":[4,121],"for":[5,102],"synchronization":[6],"in":[7,55,125],"parallel":[8],"programs,":[9],"suffer":[10],"from":[11,135],"non-composability":[12],"and":[13,26,69,80,91,100,108,141],"are":[14,74],"conducive":[15],"to":[16,71],"a":[17,33,44,56],"variety":[18],"of":[19,36,53,115,129,139,143],"hard-to-find":[20],"bugs":[21],"such":[22],"as":[23],"data":[24],"races":[25],"deadlocks.":[27],"In":[28],"this":[29],"paper,":[30],"we":[31],"propose":[32],"straightforward":[34],"replacement":[35],"traditional":[38],"lock-based":[39],"mutex":[40],"with":[41,61,64,76],"Guard,":[43],"construct":[45],"providing":[46],"mutual":[47],"exclusion":[48],"through":[49,110],"efficient,":[50],"dynamic":[51,57],"serialization":[52],"tasks":[54],"task":[58],"graph.":[59],"Unlike":[60],"locks,":[62],"programming":[63],"Guards":[65,73],"is":[66],"lock-free,":[67],"composable,":[68],"immune":[70],"deadlock.":[72],"compatible":[75],"arbitrary":[77],"executor":[78],"services,":[79],"can":[81],"be":[82],"implemented":[83],"on":[84],"any":[85],"platform":[86],"which":[87],"supports":[88],"atomic":[89],"variables":[90],"compare-and-set":[92],"operations.":[93],"We":[94],"will":[95,133],"describe":[96],"general":[98],"construction":[99],"API":[101],"Guards,":[103],"introduce":[104],"our":[105,116],"reference":[106,117],"implementation,":[107],"analyze":[109],"various":[111],"benchmarks":[112],"performance":[114,142],"implementation":[118],"against":[119],"ReentrantLock":[122],"class":[123],"used":[124],"Java.":[126],"The":[127],"practice":[128],"writing":[130],"multithreaded":[131],"code":[132],"benefit":[134],"safety,":[137],"ease":[138],"use,":[140],"Guards.":[144]},"counts_by_year":[],"updated_date":"2026-03-07T16:01:11.037858","created_date":"2025-10-10T00:00:00"}
