{"id":"https://openalex.org/W2754664583","doi":"https://doi.org/10.1145/3139645.3139650","title":"How to implement any concurrent data structure for modern servers","display_name":"How to implement any concurrent data structure for modern servers","publication_year":2017,"publication_date":"2017-09-11","ids":{"openalex":"https://openalex.org/W2754664583","doi":"https://doi.org/10.1145/3139645.3139650","mag":"2754664583"},"language":"en","primary_location":{"id":"doi:10.1145/3139645.3139650","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3139645.3139650","pdf_url":null,"source":{"id":"https://openalex.org/S50071195","display_name":"ACM SIGOPS Operating Systems Review","issn_l":"0163-5980","issn":["0163-5980","1943-586X"],"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":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM SIGOPS Operating Systems Review","raw_type":"journal-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/A5013490348","display_name":"Irina Calciu","orcid":"https://orcid.org/0000-0002-4405-5172"},"institutions":[],"countries":[],"is_corresponding":true,"raw_author_name":"Irina Calciu","raw_affiliation_strings":["VMware Research"],"affiliations":[{"raw_affiliation_string":"VMware Research","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5103920769","display_name":"Siddhartha Sen","orcid":null},"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":"Siddhartha Sen","raw_affiliation_strings":["Microsoft Research"],"affiliations":[{"raw_affiliation_string":"Microsoft Research","institution_ids":["https://openalex.org/I4210164937"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5103479147","display_name":"Mahesh Balakrishnan","orcid":null},"institutions":[{"id":"https://openalex.org/I32971472","display_name":"Yale University","ror":"https://ror.org/03v76x132","country_code":"US","type":"education","lineage":["https://openalex.org/I32971472"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Mahesh Balakrishnan","raw_affiliation_strings":["Yale University"],"affiliations":[{"raw_affiliation_string":"Yale University","institution_ids":["https://openalex.org/I32971472"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5019483717","display_name":"Marcos K. Aguilera","orcid":"https://orcid.org/0000-0003-3489-2468"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Marcos K. Aguilera","raw_affiliation_strings":["VMware Research"],"affiliations":[{"raw_affiliation_string":"VMware Research","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5013490348"],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.8288,"has_fulltext":false,"cited_by_count":5,"citation_normalized_percentile":{"value":0.76900375,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":96},"biblio":{"volume":"51","issue":"1","first_page":"24","last_page":"32"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10772","display_name":"Distributed systems and fault tolerance","score":1.0,"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":1.0,"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.9973000288009644,"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/T12288","display_name":"Optimization and Search Problems","score":0.9940000176429749,"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/computer-science","display_name":"Computer science","score":0.9114839434623718},{"id":"https://openalex.org/keywords/concurrent-data-structure","display_name":"Concurrent data structure","score":0.8880982398986816},{"id":"https://openalex.org/keywords/data-structure","display_name":"Data structure","score":0.6837798357009888},{"id":"https://openalex.org/keywords/linearizability","display_name":"Linearizability","score":0.6293388605117798},{"id":"https://openalex.org/keywords/concurrency","display_name":"Concurrency","score":0.6156413555145264},{"id":"https://openalex.org/keywords/replication","display_name":"Replication (statistics)","score":0.55597984790802},{"id":"https://openalex.org/keywords/distributed-computing","display_name":"Distributed computing","score":0.5362991690635681},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.5126466155052185},{"id":"https://openalex.org/keywords/server","display_name":"Server","score":0.46801507472991943},{"id":"https://openalex.org/keywords/shared-memory","display_name":"Shared memory","score":0.45090359449386597},{"id":"https://openalex.org/keywords/distributed-memory","display_name":"Distributed memory","score":0.42546582221984863},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.34140902757644653},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.20068460702896118}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.9114839434623718},{"id":"https://openalex.org/C203222032","wikidata":"https://www.wikidata.org/wiki/Q5159104","display_name":"Concurrent data structure","level":3,"score":0.8880982398986816},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.6837798357009888},{"id":"https://openalex.org/C20528329","wikidata":"https://www.wikidata.org/wiki/Q513932","display_name":"Linearizability","level":3,"score":0.6293388605117798},{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.6156413555145264},{"id":"https://openalex.org/C12590798","wikidata":"https://www.wikidata.org/wiki/Q3933199","display_name":"Replication (statistics)","level":2,"score":0.55597984790802},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.5362991690635681},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5126466155052185},{"id":"https://openalex.org/C93996380","wikidata":"https://www.wikidata.org/wiki/Q44127","display_name":"Server","level":2,"score":0.46801507472991943},{"id":"https://openalex.org/C133875982","wikidata":"https://www.wikidata.org/wiki/Q764810","display_name":"Shared memory","level":2,"score":0.45090359449386597},{"id":"https://openalex.org/C91481028","wikidata":"https://www.wikidata.org/wiki/Q1054686","display_name":"Distributed memory","level":3,"score":0.42546582221984863},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.34140902757644653},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.20068460702896118},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.0},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3139645.3139650","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3139645.3139650","pdf_url":null,"source":{"id":"https://openalex.org/S50071195","display_name":"ACM SIGOPS Operating Systems Review","issn_l":"0163-5980","issn":["0163-5980","1943-586X"],"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":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM SIGOPS Operating Systems Review","raw_type":"journal-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":57,"referenced_works":["https://openalex.org/W35137626","https://openalex.org/W190062532","https://openalex.org/W982826035","https://openalex.org/W1214620947","https://openalex.org/W1599961915","https://openalex.org/W1706983970","https://openalex.org/W1842336537","https://openalex.org/W1970621822","https://openalex.org/W1970628175","https://openalex.org/W1983572666","https://openalex.org/W1985229168","https://openalex.org/W1995516763","https://openalex.org/W2003597767","https://openalex.org/W2006816934","https://openalex.org/W2006820476","https://openalex.org/W2014345013","https://openalex.org/W2029764709","https://openalex.org/W2031844067","https://openalex.org/W2049013629","https://openalex.org/W2059529113","https://openalex.org/W2062427390","https://openalex.org/W2066792155","https://openalex.org/W2070991879","https://openalex.org/W2071515131","https://openalex.org/W2074586513","https://openalex.org/W2075854425","https://openalex.org/W2083272082","https://openalex.org/W2092911542","https://openalex.org/W2101939036","https://openalex.org/W2113751407","https://openalex.org/W2114375246","https://openalex.org/W2126990153","https://openalex.org/W2132220514","https://openalex.org/W2134484933","https://openalex.org/W2139559481","https://openalex.org/W2140101134","https://openalex.org/W2140455011","https://openalex.org/W2144141804","https://openalex.org/W2147323861","https://openalex.org/W2152465173","https://openalex.org/W2157802978","https://openalex.org/W2165382766","https://openalex.org/W2165663045","https://openalex.org/W2167052930","https://openalex.org/W2168075869","https://openalex.org/W2225140656","https://openalex.org/W2227501301","https://openalex.org/W2257934964","https://openalex.org/W2274190190","https://openalex.org/W2466649529","https://openalex.org/W2588022964","https://openalex.org/W2911618311","https://openalex.org/W3098691752","https://openalex.org/W4244083566","https://openalex.org/W4293763691","https://openalex.org/W6607735624","https://openalex.org/W6646522387"],"related_works":["https://openalex.org/W2559817971","https://openalex.org/W1867941603","https://openalex.org/W4379881776","https://openalex.org/W1598809405","https://openalex.org/W3037400639","https://openalex.org/W4300963581","https://openalex.org/W4298289311","https://openalex.org/W2481004494","https://openalex.org/W8370684","https://openalex.org/W2031423623"],"abstract_inverted_index":{"In":[0],"this":[1],"paper,":[2],"we":[3],"propose":[4,73],"a":[5,44,77,97,136],"method":[6,14],"to":[7,28,80,145],"implement":[8],"any":[9],"concurrent":[10,33,62,99,110],"data":[11,63,83,90,100,111,147],"structure.":[12],"Our":[13],"produces":[15],"implementations":[16],"that":[17,65],"work":[18],"particularly":[19],"well":[20],"in":[21,109],"non-uniform":[22],"memory":[23,45,159],"access":[24],"(NUMA)":[25],"machines.":[26],"Due":[27],"recent":[29],"architecture":[30],"trends,":[31],"highly":[32],"servers":[34],"today":[35],"are":[36,66],"NUMA":[37,70,151],"machines,":[38,58],"where":[39],"the":[40,49,69,115,143],"cost":[41,154],"of":[42,68,119,155],"accessing":[43],"location":[46],"is":[47,117,157],"not":[48],"same":[50],"across":[51,150],"every":[52],"core.":[53],"To":[54],"fully":[55],"leverage":[56],"these":[57],"programmers":[59],"need":[60],"efficient":[61],"structures":[64,148],"aware":[67],"performance":[71],"artifacts.We":[72],"Node":[74],"Replication":[75],"(NR),":[76],"black-box":[78],"approach":[79],"obtaining":[81],"such":[82],"structures.":[84],"NR":[85,105,122,134,156],"takes":[86],"an":[87],"arbitrary":[88],"sequential":[89],"structure":[91,101,112],"and":[92,114,130,140,163],"automatically":[93],"transforms":[94],"it":[95],"into":[96],"NUMA-aware":[98,137],"satisfying":[102],"linearizability.":[103],"Using":[104],"requires":[106],"no":[107],"expertise":[108],"design,":[113],"result":[116],"free":[118],"concurrency":[120],"bugs.":[121],"draws":[123],"ideas":[124],"from":[125],"two":[126],"disciplines:":[127],"shared-memory":[128],"algorithms":[129],"distributed":[131],"systems.":[132],"Briefly,":[133],"implements":[135],"shared":[138],"log,":[139],"then":[141],"uses":[142],"log":[144,162],"replicate":[146],"consistently":[149],"nodes.":[152],"The":[153],"additional":[158],"for":[160],"its":[161],"replicas.":[164]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2020,"cited_by_count":2},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
