{"id":"https://openalex.org/W4402701745","doi":"https://doi.org/10.1145/3689775","title":"Concurrent Data Structures Made Easy","display_name":"Concurrent Data Structures Made Easy","publication_year":2024,"publication_date":"2024-10-08","ids":{"openalex":"https://openalex.org/W4402701745","doi":"https://doi.org/10.1145/3689775"},"language":"en","primary_location":{"id":"doi:10.1145/3689775","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3689775","pdf_url":null,"source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"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":"cc-by-sa","license_id":"https://openalex.org/licenses/cc-by-sa","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"type":"article","indexed_in":["arxiv","crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://doi.org/10.1145/3689775","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5107810813","display_name":"Callista Le","orcid":"https://orcid.org/0009-0009-6689-9542"},"institutions":[{"id":"https://openalex.org/I3089745140","display_name":"Yale-NUS College","ror":"https://ror.org/04g9wch13","country_code":"SG","type":"education","lineage":["https://openalex.org/I3089745140"]}],"countries":["SG"],"is_corresponding":true,"raw_author_name":"Callista Le","raw_affiliation_strings":["Yale-NUS College, Singapore, Singapore"],"raw_orcid":"https://orcid.org/0009-0009-6689-9542","affiliations":[{"raw_affiliation_string":"Yale-NUS College, Singapore, Singapore","institution_ids":["https://openalex.org/I3089745140"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5037850706","display_name":"Kiran Gopinathan","orcid":"https://orcid.org/0000-0002-1877-9871"},"institutions":[{"id":"https://openalex.org/I165932596","display_name":"National University of Singapore","ror":"https://ror.org/01tgyzw49","country_code":"SG","type":"education","lineage":["https://openalex.org/I165932596"]}],"countries":["SG"],"is_corresponding":false,"raw_author_name":"Kiran Gopinathan","raw_affiliation_strings":["National University of Singapore, Singapore, Singapore"],"raw_orcid":"https://orcid.org/0000-0002-1877-9871","affiliations":[{"raw_affiliation_string":"National University of Singapore, Singapore, Singapore","institution_ids":["https://openalex.org/I165932596"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5082613569","display_name":"K. Lee","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Koon Wen Lee","raw_affiliation_strings":["Ahrefs, Singapore, Singapore"],"raw_orcid":"https://orcid.org/0009-0008-0971-7530","affiliations":[{"raw_affiliation_string":"Ahrefs, Singapore, Singapore","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5042520814","display_name":"Seth Gilbert","orcid":"https://orcid.org/0000-0003-3298-7412"},"institutions":[{"id":"https://openalex.org/I165932596","display_name":"National University of Singapore","ror":"https://ror.org/01tgyzw49","country_code":"SG","type":"education","lineage":["https://openalex.org/I165932596"]}],"countries":["SG"],"is_corresponding":false,"raw_author_name":"Seth Gilbert","raw_affiliation_strings":["National University of Singapore, Singapore, Singapore"],"raw_orcid":"https://orcid.org/0000-0003-3298-7412","affiliations":[{"raw_affiliation_string":"National University of Singapore, Singapore, Singapore","institution_ids":["https://openalex.org/I165932596"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5009639508","display_name":"Ilya Sergey","orcid":"https://orcid.org/0000-0003-4250-5392"},"institutions":[{"id":"https://openalex.org/I165932596","display_name":"National University of Singapore","ror":"https://ror.org/01tgyzw49","country_code":"SG","type":"education","lineage":["https://openalex.org/I165932596"]}],"countries":["SG"],"is_corresponding":false,"raw_author_name":"Ilya Sergey","raw_affiliation_strings":["National University of Singapore, Singapore, Singapore"],"raw_orcid":"https://orcid.org/0000-0003-4250-5392","affiliations":[{"raw_affiliation_string":"National University of Singapore, Singapore, Singapore","institution_ids":["https://openalex.org/I165932596"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":5,"corresponding_author_ids":["https://openalex.org/A5107810813"],"corresponding_institution_ids":["https://openalex.org/I3089745140"],"apc_list":null,"apc_paid":null,"fwci":0.3364,"has_fulltext":true,"cited_by_count":1,"citation_normalized_percentile":{"value":0.60563229,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":91,"max":95},"biblio":{"volume":"8","issue":"OOPSLA2","first_page":"1814","last_page":"1842"},"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.9997000098228455,"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.9972000122070312,"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.8748108148574829},{"id":"https://openalex.org/keywords/thread","display_name":"Thread (computing)","score":0.7789943218231201},{"id":"https://openalex.org/keywords/asynchronous-communication","display_name":"Asynchronous communication","score":0.7446911334991455},{"id":"https://openalex.org/keywords/concurrent-data-structure","display_name":"Concurrent data structure","score":0.6543694734573364},{"id":"https://openalex.org/keywords/data-structure","display_name":"Data structure","score":0.5861448645591736},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.5751716494560242},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.5671796202659607},{"id":"https://openalex.org/keywords/distributed-computing","display_name":"Distributed computing","score":0.49831581115722656},{"id":"https://openalex.org/keywords/implementation","display_name":"Implementation","score":0.43158066272735596},{"id":"https://openalex.org/keywords/workload","display_name":"Workload","score":0.4141533374786377},{"id":"https://openalex.org/keywords/concurrency","display_name":"Concurrency","score":0.375785231590271},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.27330493927001953},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.18238869309425354}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8748108148574829},{"id":"https://openalex.org/C138101251","wikidata":"https://www.wikidata.org/wiki/Q213092","display_name":"Thread (computing)","level":2,"score":0.7789943218231201},{"id":"https://openalex.org/C151319957","wikidata":"https://www.wikidata.org/wiki/Q752739","display_name":"Asynchronous communication","level":2,"score":0.7446911334991455},{"id":"https://openalex.org/C203222032","wikidata":"https://www.wikidata.org/wiki/Q5159104","display_name":"Concurrent data structure","level":3,"score":0.6543694734573364},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.5861448645591736},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5751716494560242},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.5671796202659607},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.49831581115722656},{"id":"https://openalex.org/C26713055","wikidata":"https://www.wikidata.org/wiki/Q245962","display_name":"Implementation","level":2,"score":0.43158066272735596},{"id":"https://openalex.org/C2778476105","wikidata":"https://www.wikidata.org/wiki/Q628539","display_name":"Workload","level":2,"score":0.4141533374786377},{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.375785231590271},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.27330493927001953},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.18238869309425354},{"id":"https://openalex.org/C31258907","wikidata":"https://www.wikidata.org/wiki/Q1301371","display_name":"Computer network","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3689775","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3689775","pdf_url":null,"source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"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":"cc-by-sa","license_id":"https://openalex.org/licenses/cc-by-sa","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},{"id":"pmh:oai:arXiv.org:2408.13779","is_oa":true,"landing_page_url":"http://arxiv.org/abs/2408.13779","pdf_url":"https://arxiv.org/pdf/2408.13779","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-sa","license_id":"https://openalex.org/licenses/cc-by-sa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"}],"best_oa_location":{"id":"doi:10.1145/3689775","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3689775","pdf_url":null,"source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"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":"cc-by-sa","license_id":"https://openalex.org/licenses/cc-by-sa","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G3952734959","display_name":null,"funder_award_id":"MOE-MOET32021-0001","funder_id":"https://openalex.org/F4320320751","funder_display_name":"Ministry of Education - Singapore"}],"funders":[{"id":"https://openalex.org/F4320320751","display_name":"Ministry of Education - Singapore","ror":"https://ror.org/01kcva023"},{"id":"https://openalex.org/F4320322724","display_name":"Ministry of Education, India","ror":"https://ror.org/048xjjh50"},{"id":"https://openalex.org/F4320323346","display_name":"B\u1ed9 Gi\u00e1o d\u1ee5c v\u00e0 \u00d0\u00e0o t\u1ea1o","ror":"https://ror.org/00drv3378"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":48,"referenced_works":["https://openalex.org/W172574161","https://openalex.org/W1517389573","https://openalex.org/W1972027649","https://openalex.org/W1975301927","https://openalex.org/W1980806195","https://openalex.org/W1986878949","https://openalex.org/W1998676013","https://openalex.org/W2003969379","https://openalex.org/W2063301486","https://openalex.org/W2070991879","https://openalex.org/W2072725684","https://openalex.org/W2073407658","https://openalex.org/W2090021115","https://openalex.org/W2099844038","https://openalex.org/W2101939036","https://openalex.org/W2104959526","https://openalex.org/W2106984698","https://openalex.org/W2110692415","https://openalex.org/W2125712182","https://openalex.org/W2132220514","https://openalex.org/W2132818695","https://openalex.org/W2153082529","https://openalex.org/W2227501301","https://openalex.org/W2244101089","https://openalex.org/W2763550552","https://openalex.org/W2946046356","https://openalex.org/W2952539154","https://openalex.org/W2963992435","https://openalex.org/W2964265366","https://openalex.org/W3000335563","https://openalex.org/W3004078918","https://openalex.org/W3025430826","https://openalex.org/W3041507026","https://openalex.org/W3110101717","https://openalex.org/W3124031623","https://openalex.org/W3149432941","https://openalex.org/W3170236839","https://openalex.org/W3173346874","https://openalex.org/W4220661618","https://openalex.org/W4223472867","https://openalex.org/W4237715445","https://openalex.org/W4280508381","https://openalex.org/W4281711013","https://openalex.org/W4307888112","https://openalex.org/W4366572218","https://openalex.org/W4391957918","https://openalex.org/W6930241162","https://openalex.org/W6948218956"],"related_works":["https://openalex.org/W2522020790","https://openalex.org/W2066792155","https://openalex.org/W3006268170","https://openalex.org/W4310742963","https://openalex.org/W2982518754","https://openalex.org/W2754664583","https://openalex.org/W2559817971","https://openalex.org/W2901261369","https://openalex.org/W2063893885","https://openalex.org/W2413028252"],"abstract_inverted_index":{"Design":[0],"of":[1,88,107,122,141,155,183,207,224,250,254,283],"an":[2],"efficient":[3,232],"thread-safe":[4],"concurrent":[5,19,50,96],"data":[6,20,97],"structure":[7,144],"is":[8,114,203,218],"a":[9,77,84,100,105,108,120,156,196,222,247],"balancing":[10],"act":[11],"between":[12],"its":[13],"implementation":[14],"complexity":[15],"and":[16,32,63,151,181,235,273],"performance.":[17],"Lock-based":[18],"structures,":[21],"which":[22],"are":[23,57],"relatively":[24,85],"easy":[25],"to":[26,33,60,67,79,136,143,147,159,192,216],"derive":[27],"from":[28,37],"their":[29,70,276],"sequential":[30,229],"counterparts":[31],"prove":[34],"thread-safe,":[35],"suffer":[36],"poor":[38],"throughput":[39,277],"under":[40],"even":[41],"light":[42],"multi-threaded":[43,145],"workload.":[44],"At":[45],"the":[46,139,153,178,188,256,268,281],"same":[47],"time,":[48],"lock-free":[49],"structures":[51,98,128,162,230],"allow":[52],"for":[53,93,119,226],"high":[54],"throughput,":[55],"but":[56],"notoriously":[58],"difficult":[59],"get":[61],"right":[62],"require":[64],"careful":[65],"reasoning":[66],"formally":[68],"establish":[69],"correctness.":[71],"In":[72],"this":[73,80],"work,":[74],"we":[75],"explore":[76],"solution":[78],"conundrum":[81],"based":[82],"on":[83,205,258],"old":[86],"idea":[87],"batch":[89,106],"parallelism":[90],"\u2014an":[91],"approach":[92],"designing":[94],"high-throughput":[95],"via":[99],"simple":[101],"insight:":[102],"efficiently":[103],"processing":[104],"priori":[109],"known":[110],"operations":[111,150],"in":[112],"parallel":[113],"easier":[115],"than":[116],"optimising":[117],"performance":[118],"stream":[121],"arbitrary":[123],"asynchronous":[124,209,260],"requests.":[125],"Alas,":[126],"batch-parallel":[127,161,184,233],"have":[129],"not":[130],"seen":[131],"wide":[132],"practical":[133],"adoption":[134],"due":[135],"(i":[137],")":[138],"inconvenience":[140],"having":[142],"programs":[146],"explicitly":[148],"group":[149],"(ii)":[152],"lack":[154],"systematic":[157],"methodology":[158],"implement":[160],"as":[163,165],"simply":[164],"lock-based":[166,271],"ones.":[167],"We":[168,243],"present":[169],"OB":[170],"atcher":[171],"\u2014a":[172],"Multicore":[173],"OCaml":[174],"library":[175],"that":[176,202,239,263,274],"streamlines":[177],"design,":[179],"implementation,":[180],"usage":[182],"structures.":[185],"It":[186],"solves":[187],"first":[189],"challenge":[190,214],"(how":[191,215],"use)":[193],"by":[194,220,236],"suggesting":[195],"new":[197],"lightweight":[198],"implicit":[199],"batching":[200],"design":[201],"built":[204],"top":[206],"generic":[208],"programming":[210],"mechanisms.":[211],"The":[212],"second":[213],"implement)":[217],"addressed":[219],"identifying":[221],"family":[223],"strategies":[225],"converting":[227],"common":[228],"into":[231],"ones,":[234],"providing":[237],"functors":[238],"embody":[240],"those":[241],"strategies.":[242],"showcase":[244],"OBatcher":[245],"with":[246,280],"diverse":[248],"set":[249],"benchmarks.":[251],"Our":[252],"evaluation":[253],"all":[255],"implementations":[257,272],"large":[259],"workloads":[261],"shows":[262],"(a)":[264],"they":[265],"consistently":[266],"outperform":[267],"corresponding":[269],"coarse-grained":[270],"(b)":[275],"scales":[278],"reasonably":[279],"number":[282],"processors.":[284]},"counts_by_year":[{"year":2025,"cited_by_count":1}],"updated_date":"2026-02-07T06:11:34.122080","created_date":"2024-09-21T00:00:00"}
