{"id":"https://openalex.org/W2034963261","doi":"https://doi.org/10.1145/1233307.1233309","title":"Concurrent programming without locks","display_name":"Concurrent programming without locks","publication_year":2007,"publication_date":"2007-05-01","ids":{"openalex":"https://openalex.org/W2034963261","doi":"https://doi.org/10.1145/1233307.1233309","mag":"2034963261"},"language":"en","primary_location":{"is_oa":false,"landing_page_url":"https://doi.org/10.1145/1233307.1233309","pdf_url":null,"source":{"id":"https://openalex.org/S193109227","display_name":"ACM Transactions on Computer Systems","issn_l":"0734-2071","issn":["0734-2071","1557-7333"],"is_oa":false,"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":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false},"type":"article","type_crossref":"journal-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/A5017124490","display_name":"Keir Fraser","orcid":null},"institutions":[{"id":"https://openalex.org/I241749","display_name":"University of Cambridge","ror":"https://ror.org/013meh722","country_code":"GB","type":"education","lineage":["https://openalex.org/I241749"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Keir Fraser","raw_affiliation_strings":["University of Cambridge Computer Laboratory, Cambridge, UK"],"affiliations":[{"raw_affiliation_string":"University of Cambridge Computer Laboratory, Cambridge, UK","institution_ids":["https://openalex.org/I241749"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5018504427","display_name":"Tim Harris","orcid":"https://orcid.org/0000-0001-9628-130X"},"institutions":[{"id":"https://openalex.org/I4210164937","display_name":"Microsoft Research (United Kingdom)","ror":"https://ror.org/05k87vq12","country_code":"GB","type":"company","lineage":["https://openalex.org/I1290206253","https://openalex.org/I4210164937"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Tim Harris","raw_affiliation_strings":["Microsoft Research Cambridge, Cambridge, UK"],"affiliations":[{"raw_affiliation_string":"Microsoft Research Cambridge, Cambridge, UK","institution_ids":["https://openalex.org/I4210164937"]}]}],"institution_assertions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":30.424,"has_fulltext":false,"cited_by_count":263,"citation_normalized_percentile":{"value":0.989039,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":98,"max":99},"biblio":{"volume":"25","issue":"2","first_page":"5","last_page":"5"},"is_retracted":false,"is_paratext":false,"primary_topic":{"id":"https://openalex.org/T10772","display_name":"Distributed Fault Tolerance and Consistency in Systems","score":0.9999,"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 Fault Tolerance and Consistency in Systems","score":0.9999,"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/T11181","display_name":"Distributed Storage Systems and Network Coding","score":0.9836,"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 Performance Optimization","score":0.9819,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel Computing","score":0.531018},{"id":"https://openalex.org/keywords/multicore-architectures","display_name":"Multicore Architectures","score":0.526194},{"id":"https://openalex.org/keywords/serialization","display_name":"Serialization","score":0.47678852},{"id":"https://openalex.org/keywords/software-transactional-memory","display_name":"Software transactional memory","score":0.43427712},{"id":"https://openalex.org/keywords/concurrent-data-structure","display_name":"Concurrent data structure","score":0.4290093},{"id":"https://openalex.org/keywords/lock","display_name":"Lock (firearm)","score":0.41322508},{"id":"https://openalex.org/keywords/implementation","display_name":"Implementation","score":0.41309142}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.9117255},{"id":"https://openalex.org/C48044578","wikidata":"https://www.wikidata.org/wiki/Q727490","display_name":"Scalability","level":2,"score":0.65556324},{"id":"https://openalex.org/C56348326","wikidata":"https://www.wikidata.org/wiki/Q1047554","display_name":"Mutual exclusion","level":2,"score":0.60668415},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.5354609},{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.5246932},{"id":"https://openalex.org/C84511453","wikidata":"https://www.wikidata.org/wiki/Q2914952","display_name":"Concurrency control","level":3,"score":0.4809303},{"id":"https://openalex.org/C52723943","wikidata":"https://www.wikidata.org/wiki/Q1127410","display_name":"Serialization","level":2,"score":0.47678852},{"id":"https://openalex.org/C134277064","wikidata":"https://www.wikidata.org/wiki/Q878206","display_name":"Transactional memory","level":3,"score":0.44102168},{"id":"https://openalex.org/C167149655","wikidata":"https://www.wikidata.org/wiki/Q1189004","display_name":"Software transactional memory","level":4,"score":0.43427712},{"id":"https://openalex.org/C203222032","wikidata":"https://www.wikidata.org/wiki/Q5159104","display_name":"Concurrent data structure","level":3,"score":0.4290093},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.41391367},{"id":"https://openalex.org/C174839445","wikidata":"https://www.wikidata.org/wiki/Q1134386","display_name":"Lock (firearm)","level":2,"score":0.41322508},{"id":"https://openalex.org/C26713055","wikidata":"https://www.wikidata.org/wiki/Q245962","display_name":"Implementation","level":2,"score":0.41309142},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.3167904},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.2487733},{"id":"https://openalex.org/C75949130","wikidata":"https://www.wikidata.org/wiki/Q848010","display_name":"Database transaction","level":2,"score":0.12586436},{"id":"https://openalex.org/C78519656","wikidata":"https://www.wikidata.org/wiki/Q101333","display_name":"Mechanical engineering","level":1,"score":0.0},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"is_oa":false,"landing_page_url":"https://doi.org/10.1145/1233307.1233309","pdf_url":null,"source":{"id":"https://openalex.org/S193109227","display_name":"ACM Transactions on Computer Systems","issn_l":"0734-2071","issn":["0734-2071","1557-7333"],"is_oa":false,"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":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false}],"best_oa_location":null,"sustainable_development_goals":[{"display_name":"Reduced inequalities","score":0.75,"id":"https://metadata.un.org/sdg/10"}],"grants":[],"datasets":[],"versions":[],"referenced_works_count":66,"referenced_works":["https://openalex.org/W138652672","https://openalex.org/W1490590586","https://openalex.org/W1495128589","https://openalex.org/W1514971587","https://openalex.org/W1520380662","https://openalex.org/W1523021320","https://openalex.org/W1538199946","https://openalex.org/W1540179969","https://openalex.org/W1542975293","https://openalex.org/W1552969166","https://openalex.org/W1554388936","https://openalex.org/W1555915743","https://openalex.org/W1583464938","https://openalex.org/W1591718490","https://openalex.org/W18566131","https://openalex.org/W1964252984","https://openalex.org/W1971544679","https://openalex.org/W1974122097","https://openalex.org/W1977692753","https://openalex.org/W1978280181","https://openalex.org/W1988800505","https://openalex.org/W1996931099","https://openalex.org/W2001738739","https://openalex.org/W2029881550","https://openalex.org/W2031348459","https://openalex.org/W2032204694","https://openalex.org/W2034485694","https://openalex.org/W2056472034","https://openalex.org/W2065453668","https://openalex.org/W2072035527","https://openalex.org/W2073256416","https://openalex.org/W2092911542","https://openalex.org/W2094175977","https://openalex.org/W2099537990","https://openalex.org/W2099661831","https://openalex.org/W2101939036","https://openalex.org/W2105055683","https://openalex.org/W2105772643","https://openalex.org/W2107079306","https://openalex.org/W2107150212","https://openalex.org/W2108204150","https://openalex.org/W2108287664","https://openalex.org/W2113751407","https://openalex.org/W2119162981","https://openalex.org/W2119964141","https://openalex.org/W2127976210","https://openalex.org/W2129990308","https://openalex.org/W2133386065","https://openalex.org/W2136994812","https://openalex.org/W2141500869","https://openalex.org/W2154830615","https://openalex.org/W2159392969","https://openalex.org/W2165825461","https://openalex.org/W2167282885","https://openalex.org/W2169000705","https://openalex.org/W2170888911","https://openalex.org/W2172192453","https://openalex.org/W2187800381","https://openalex.org/W2278011425","https://openalex.org/W2431458507","https://openalex.org/W245914994","https://openalex.org/W2561675875","https://openalex.org/W3146519985","https://openalex.org/W4234703016","https://openalex.org/W4242949098","https://openalex.org/W4251385044"],"related_works":["https://openalex.org/W4254473902","https://openalex.org/W3174664046","https://openalex.org/W3019991704","https://openalex.org/W3008217702","https://openalex.org/W3003186017","https://openalex.org/W2912336518","https://openalex.org/W2751166390","https://openalex.org/W247987398","https://openalex.org/W2462574277","https://openalex.org/W2188165706"],"abstract_inverted_index":{"Mutual":[0],"exclusion":[1,75],"locks":[2,30],"remain":[3],"the":[4,216,220,249,268,271],"de":[5],"facto":[6],"mechanism":[7],"for":[8,55,83,90],"concurrency":[9],"control":[10],"on":[11,106],"shared-memory":[12],"data":[13,126,152,293],"structures.":[14,127],"However,":[15,80],"their":[16],"apparent":[17],"simplicity":[18],"is":[19,22,131,163,200,287],"deceptive:":[20],"It":[21],"hard":[23],"to":[24,57,120,149,158,175,222,257,289],"design":[25],"scalable":[26,42],"locking":[27],"strategies":[28],"because":[29],"can":[31,146,171],"harbor":[32],"problems":[33],"such":[34],"as":[35],"priority":[36],"inversion,":[37],"deadlock,":[38],"and":[39,70,183,263,277],"convoying.":[40],"Furthermore,":[41],"lock-based":[43,280,303],"systems":[44,65,86],"are":[45,87,190],"not":[46,103],"readily":[47,104],"composable":[48],"when":[49,188],"building":[50,84],"compound":[51],"operations.":[52],"In":[53,109],"looking":[54],"solutions":[56],"these":[58,234,252],"problems,":[59],"interest":[60],"has":[61],"developed":[62],"in":[63],"nonblocking":[64,85,122,292],"which":[66,116,137,170,184],"have":[67],"promised":[68],"scalability":[69,187],"robustness":[71],"by":[72,254],"eschewing":[73],"mutual":[74],"while":[76],"still":[77],"ensuring":[78],"safety.":[79],"existing":[81],"techniques":[82],"rarely":[88],"suitable":[89],"practical":[91,228],"use,":[92],"imposing":[93],"substantial":[94],"storage":[95],"overheads,":[96],"serializing":[97],"nonconflicting":[98],"operations,":[99],"or":[100,299],"requiring":[101],"instructions":[102],"available":[105,239],"today's":[107,243],"CPUs.":[108],"this":[110],"article":[111],"we":[112],"present":[113,227],"three":[114,232],"APIs":[115,253],"make":[117],"it":[118,286],"easier":[119],"develop":[121],"implementations":[123,229,273],"of":[124,142,218,230,233,242,251,270],"arbitrary":[125],"The":[128,160,197],"first":[129],"API":[130,162,199],"a":[132,140,151,164,209],"multiword":[133],"compare-and-swap":[134],"operation":[135],"(MCAS)":[136],"atomically":[138],"updates":[139],"set":[141],"memory":[143,168,205],"locations.":[144],"This":[145],"be":[147,176],"used":[148],"advance":[150],"structure":[153],"from":[154,237],"one":[155,275],"consistent":[156],"state":[157],"another.":[159],"second":[161],"word-based":[165],"software":[166,203],"transactional":[167,204],"(WSTM)":[169],"allow":[172],"sequential":[173],"code":[174,221],"reused":[177],"more":[178],"directly":[179],"than":[180,194,212],"with":[181,295],"MCAS":[182],"provides":[185],"better":[186,300],"locations":[189],"being":[191,195],"read":[192],"rather":[193],"updated.":[196],"third":[198],"an":[201],"object-based":[202],"(OSTM).":[206],"OSTM":[207,224],"allows":[208],"simpler":[210],"implementation":[211],"WSTM,":[213],"but":[214],"at":[215],"cost":[217],"reengineering":[219],"use":[223,250],"objects.":[225],"We":[226,247,266],"all":[231,241],"APIs,":[235],"built":[236],"operations":[238],"across":[240],"major":[244],"CPU":[245],"families.":[246],"illustrate":[248],"using":[255],"them":[256],"build":[258,290],"highly":[259],"concurrent":[260],"skip":[261],"lists":[262],"red-black":[264],"trees.":[265],"compare":[267],"performance":[269,296],"resulting":[272],"against":[274,278],"another":[276],"high-performance":[279],"systems.":[281],"These":[282],"results":[283],"demonstrate":[284],"that":[285],"possible":[288],"useful":[291],"structures":[294],"comparable":[297],"to,":[298],"than,":[301],"sophisticated":[302],"designs.":[304]},"cited_by_api_url":"https://api.openalex.org/works?filter=cites:W2034963261","counts_by_year":[{"year":2023,"cited_by_count":5},{"year":2022,"cited_by_count":2},{"year":2021,"cited_by_count":4},{"year":2020,"cited_by_count":6},{"year":2019,"cited_by_count":8},{"year":2018,"cited_by_count":6},{"year":2017,"cited_by_count":15},{"year":2016,"cited_by_count":5},{"year":2015,"cited_by_count":18},{"year":2014,"cited_by_count":19},{"year":2013,"cited_by_count":29},{"year":2012,"cited_by_count":16}],"updated_date":"2024-11-24T18:07:47.681809","created_date":"2016-06-24"}