{"id":"https://openalex.org/W2154135501","doi":"https://doi.org/10.1145/1693453.1693490","title":"Using data structure knowledge for efficient lock generation and strong atomicity","display_name":"Using data structure knowledge for efficient lock generation and strong atomicity","publication_year":2010,"publication_date":"2010-01-09","ids":{"openalex":"https://openalex.org/W2154135501","doi":"https://doi.org/10.1145/1693453.1693490","mag":"2154135501"},"language":"en","primary_location":{"id":"doi:10.1145/1693453.1693490","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1693453.1693490","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming","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/A5071877009","display_name":"Gautam Upadhyaya","orcid":null},"institutions":[{"id":"https://openalex.org/I219193219","display_name":"Purdue University West Lafayette","ror":"https://ror.org/02dqehb95","country_code":"US","type":"education","lineage":["https://openalex.org/I219193219"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Gautam Upadhyaya","raw_affiliation_strings":["Purdue University, West Lafayette, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Purdue University, West Lafayette, USA","institution_ids":["https://openalex.org/I219193219"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5013023792","display_name":"Samuel P. Midkiff","orcid":"https://orcid.org/0000-0003-0246-7192"},"institutions":[{"id":"https://openalex.org/I219193219","display_name":"Purdue University West Lafayette","ror":"https://ror.org/02dqehb95","country_code":"US","type":"education","lineage":["https://openalex.org/I219193219"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Samuel P. Midkiff","raw_affiliation_strings":["Purdue University, West Lafayette, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Purdue University, West Lafayette, USA","institution_ids":["https://openalex.org/I219193219"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5110871804","display_name":"Vijay S. Pai","orcid":null},"institutions":[{"id":"https://openalex.org/I219193219","display_name":"Purdue University West Lafayette","ror":"https://ror.org/02dqehb95","country_code":"US","type":"education","lineage":["https://openalex.org/I219193219"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Vijay S. Pai","raw_affiliation_strings":["Purdue University, West Lafayette, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Purdue University, West Lafayette, USA","institution_ids":["https://openalex.org/I219193219"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":2.9828,"has_fulltext":false,"cited_by_count":12,"citation_normalized_percentile":{"value":0.91843682,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"281","last_page":"292"},"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.9998999834060669,"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.9998999834060669,"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.9986000061035156,"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/T11181","display_name":"Advanced Data Storage Technologies","score":0.9887999892234802,"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/atomicity","display_name":"Atomicity","score":0.8979058265686035},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8937850594520569},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.6583756804466248},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.6044007539749146},{"id":"https://openalex.org/keywords/thread","display_name":"Thread (computing)","score":0.5996861457824707},{"id":"https://openalex.org/keywords/serialization","display_name":"Serialization","score":0.568132221698761},{"id":"https://openalex.org/keywords/programmer","display_name":"Programmer","score":0.5448628664016724},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5441374182701111},{"id":"https://openalex.org/keywords/optimizing-compiler","display_name":"Optimizing compiler","score":0.46240881085395813},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.33939236402511597},{"id":"https://openalex.org/keywords/database-transaction","display_name":"Database transaction","score":0.19865813851356506}],"concepts":[{"id":"https://openalex.org/C188045909","wikidata":"https://www.wikidata.org/wiki/Q3306359","display_name":"Atomicity","level":3,"score":0.8979058265686035},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8937850594520569},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.6583756804466248},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.6044007539749146},{"id":"https://openalex.org/C138101251","wikidata":"https://www.wikidata.org/wiki/Q213092","display_name":"Thread (computing)","level":2,"score":0.5996861457824707},{"id":"https://openalex.org/C52723943","wikidata":"https://www.wikidata.org/wiki/Q1127410","display_name":"Serialization","level":2,"score":0.568132221698761},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.5448628664016724},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5441374182701111},{"id":"https://openalex.org/C190902152","wikidata":"https://www.wikidata.org/wiki/Q1325106","display_name":"Optimizing compiler","level":3,"score":0.46240881085395813},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.33939236402511597},{"id":"https://openalex.org/C75949130","wikidata":"https://www.wikidata.org/wiki/Q848010","display_name":"Database transaction","level":2,"score":0.19865813851356506}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1693453.1693490","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1693453.1693490","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":28,"referenced_works":["https://openalex.org/W1483819513","https://openalex.org/W1533487732","https://openalex.org/W1536098516","https://openalex.org/W1542975293","https://openalex.org/W1590443763","https://openalex.org/W1969623450","https://openalex.org/W2009891800","https://openalex.org/W2030183445","https://openalex.org/W2078739669","https://openalex.org/W2092911542","https://openalex.org/W2105055683","https://openalex.org/W2105300857","https://openalex.org/W2106703803","https://openalex.org/W2117780839","https://openalex.org/W2129458440","https://openalex.org/W2129990308","https://openalex.org/W2138567239","https://openalex.org/W2153099072","https://openalex.org/W2156428492","https://openalex.org/W2163654949","https://openalex.org/W2168163009","https://openalex.org/W2169611673","https://openalex.org/W2171142397","https://openalex.org/W2172064476","https://openalex.org/W2293756656","https://openalex.org/W4205784557","https://openalex.org/W4246629143","https://openalex.org/W6676368405"],"related_works":["https://openalex.org/W1591836442","https://openalex.org/W2357517130","https://openalex.org/W1990697576","https://openalex.org/W1520405624","https://openalex.org/W1582361381","https://openalex.org/W2001866549","https://openalex.org/W1600422503","https://openalex.org/W2029089965","https://openalex.org/W2092466397","https://openalex.org/W1543673780"],"abstract_inverted_index":{"To":[0],"achieve":[1],"high-performance":[2],"on":[3,128,139],"multicore":[4],"systems,":[5],"sharedmemory":[6],"parallel":[7],"languages":[8],"must":[9],"efficiently":[10],"implement":[11],"atomic":[12,53],"operations.":[13],"The":[14,144],"commonly":[15],"used":[16],"and":[17,31,42,47,90,94,99,133,186],"studied":[18],"paradigms":[19],"for":[20,77,119,172,183,190,203],"atomicity":[21,45,177],"are":[22],"fine-grained":[23,137,201],"locking,":[24],"which":[25,36,55,207],"is":[26],"both":[27],"difficult":[28],"to":[29,40,57,85,117,165,213],"program":[30],"error-prone;":[32],"optimistic":[33],"software":[34,126,173],"transactions,":[35],"require":[37],"substantial":[38],"overhead":[39,182],"detect":[41],"recover":[43],"from":[44,51],"violations;":[46],"compiler-generation":[48],"of":[49,67,115,151,157,175,199],"locks":[50,138,202],"programmer-specified":[52,136,200],"sections,":[54],"leads":[56],"serialization":[58],"whenever":[59],"imprecise":[60],"pointer":[61],"analysis":[62,170],"suggests":[63],"the":[64,104,109,120,155,168,197,204],"mere":[65],"possibility":[66],"a":[68,74],"conflicting":[69],"operation.":[70],"This":[71],"paper":[72],"presents":[73],"new":[75,110,169],"strategy":[76,111,193],"compiler-generated":[78],"locking":[79],"that":[80,108,148],"uses":[81],"data":[82,152],"structure":[83],"knowledge":[84,150],"facilitate":[86],"more":[87],"precise":[88],"alias":[89],"lock":[91],"generation":[92],"analyses":[93],"reduce":[95],"unnecessary":[96],"serialization.":[97],"Implementing":[98],"evaluating":[100],"these":[101],"ideas":[102],"in":[103],"Java":[105],"language":[106],"shows":[107],"achieves":[112],"eight-thread":[113,161],"speedups":[114],"0.83":[116],"5.9":[118],"five":[121],"STAMP":[122],"benchmarks":[123,185],"studied,":[124],"outperforming":[125],"transactions":[127],"all":[129,140],"but":[130,141],"one":[131,142],"benchmark,":[132,206],"nearly":[134,195],"matching":[135],"benchmark.":[143],"results":[145],"also":[146,194],"indicate":[147],"compiler":[149,158],"structures":[153],"improves":[154],"effectiveness":[156],"analysis,":[159],"boosting":[160],"performance":[162,198],"by":[163],"up":[164],"300%.":[166],"Further,":[167],"allows":[171],"support":[174],"strong":[176],"with":[178],"less":[179,187],"than":[180,188],"1%":[181],"two":[184],"20%":[189],"three":[191],"others.The":[192],"matches":[196],"SPECjbb2000":[205],"has":[208],"traditionally":[209],"not":[210],"been":[211],"amenable":[212],"static":[214],"analyses.":[215]},"counts_by_year":[{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":2},{"year":2014,"cited_by_count":1},{"year":2013,"cited_by_count":1},{"year":2012,"cited_by_count":4}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
