{"id":"https://openalex.org/W2898306128","doi":"https://doi.org/10.1145/3276478","title":"Parallelization of dynamic languages: synchronizing built-in collections","display_name":"Parallelization of dynamic languages: synchronizing built-in collections","publication_year":2018,"publication_date":"2018-10-24","ids":{"openalex":"https://openalex.org/W2898306128","doi":"https://doi.org/10.1145/3276478","mag":"2898306128"},"language":"en","primary_location":{"id":"doi:10.1145/3276478","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3276478","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3276478","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","license_id":"https://openalex.org/licenses/cc-by","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":["crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3276478","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5019646899","display_name":"Benoit Daloze","orcid":null},"institutions":[],"countries":[],"is_corresponding":true,"raw_author_name":"Benoit Daloze","raw_affiliation_strings":["JKU Linz, Austria"],"affiliations":[{"raw_affiliation_string":"JKU Linz, Austria","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5109047850","display_name":"Arie Tal","orcid":null},"institutions":[{"id":"https://openalex.org/I174306211","display_name":"Technion \u2013 Israel Institute of Technology","ror":"https://ror.org/03qryx823","country_code":"IL","type":"education","lineage":["https://openalex.org/I174306211"]}],"countries":["IL"],"is_corresponding":false,"raw_author_name":"Arie Tal","raw_affiliation_strings":["Technion, Israel"],"affiliations":[{"raw_affiliation_string":"Technion, Israel","institution_ids":["https://openalex.org/I174306211"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5015543736","display_name":"Stefan Marr","orcid":"https://orcid.org/0000-0001-9059-5180"},"institutions":[{"id":"https://openalex.org/I20581793","display_name":"University of Kent","ror":"https://ror.org/00xkeyj56","country_code":"GB","type":"education","lineage":["https://openalex.org/I20581793"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Stefan Marr","raw_affiliation_strings":["University of Kent, UK"],"affiliations":[{"raw_affiliation_string":"University of Kent, UK","institution_ids":["https://openalex.org/I20581793"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5011678778","display_name":"Hanspeter M\u00f6ssenb\u00f6ck","orcid":"https://orcid.org/0000-0001-7706-7308"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Hanspeter M\u00f6ssenb\u00f6ck","raw_affiliation_strings":["JKU Linz, Austria"],"affiliations":[{"raw_affiliation_string":"JKU Linz, Austria","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5073517584","display_name":"Erez Petrank","orcid":"https://orcid.org/0000-0002-6353-956X"},"institutions":[{"id":"https://openalex.org/I174306211","display_name":"Technion \u2013 Israel Institute of Technology","ror":"https://ror.org/03qryx823","country_code":"IL","type":"education","lineage":["https://openalex.org/I174306211"]}],"countries":["IL"],"is_corresponding":false,"raw_author_name":"Erez Petrank","raw_affiliation_strings":["Technion, Israel"],"affiliations":[{"raw_affiliation_string":"Technion, Israel","institution_ids":["https://openalex.org/I174306211"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":5,"corresponding_author_ids":["https://openalex.org/A5019646899"],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":1.051,"has_fulltext":true,"cited_by_count":7,"citation_normalized_percentile":{"value":0.76378952,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":96},"biblio":{"volume":"2","issue":"OOPSLA","first_page":"1","last_page":"30"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998999834060669,"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"}},"topics":[{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998999834060669,"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/T10772","display_name":"Distributed systems and fault tolerance","score":0.9986000061035156,"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":"Advanced Data Storage Technologies","score":0.9980000257492065,"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.8805593252182007},{"id":"https://openalex.org/keywords/scalability","display_name":"Scalability","score":0.775905430316925},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.7012317776679993},{"id":"https://openalex.org/keywords/thread","display_name":"Thread (computing)","score":0.6493358612060547},{"id":"https://openalex.org/keywords/python","display_name":"Python (programming language)","score":0.5659887790679932},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.5474614500999451},{"id":"https://openalex.org/keywords/synchronization","display_name":"Synchronization (alternating current)","score":0.5098716020584106},{"id":"https://openalex.org/keywords/hash-function","display_name":"Hash function","score":0.48956069350242615},{"id":"https://openalex.org/keywords/hash-table","display_name":"Hash table","score":0.488698273897171},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.46194037795066833},{"id":"https://openalex.org/keywords/implementation","display_name":"Implementation","score":0.4315432608127594},{"id":"https://openalex.org/keywords/posix-threads","display_name":"POSIX Threads","score":0.428003191947937},{"id":"https://openalex.org/keywords/garbage-collection","display_name":"Garbage collection","score":0.4228660464286804},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.23727306723594666}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8805593252182007},{"id":"https://openalex.org/C48044578","wikidata":"https://www.wikidata.org/wiki/Q727490","display_name":"Scalability","level":2,"score":0.775905430316925},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.7012317776679993},{"id":"https://openalex.org/C138101251","wikidata":"https://www.wikidata.org/wiki/Q213092","display_name":"Thread (computing)","level":2,"score":0.6493358612060547},{"id":"https://openalex.org/C519991488","wikidata":"https://www.wikidata.org/wiki/Q28865","display_name":"Python (programming language)","level":2,"score":0.5659887790679932},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.5474614500999451},{"id":"https://openalex.org/C2778562939","wikidata":"https://www.wikidata.org/wiki/Q1298791","display_name":"Synchronization (alternating current)","level":3,"score":0.5098716020584106},{"id":"https://openalex.org/C99138194","wikidata":"https://www.wikidata.org/wiki/Q183427","display_name":"Hash function","level":2,"score":0.48956069350242615},{"id":"https://openalex.org/C67388219","wikidata":"https://www.wikidata.org/wiki/Q207440","display_name":"Hash table","level":3,"score":0.488698273897171},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.46194037795066833},{"id":"https://openalex.org/C26713055","wikidata":"https://www.wikidata.org/wiki/Q245962","display_name":"Implementation","level":2,"score":0.4315432608127594},{"id":"https://openalex.org/C41138395","wikidata":"https://www.wikidata.org/wiki/Q928112","display_name":"POSIX Threads","level":3,"score":0.428003191947937},{"id":"https://openalex.org/C105122174","wikidata":"https://www.wikidata.org/wiki/Q322202","display_name":"Garbage collection","level":3,"score":0.4228660464286804},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.23727306723594666},{"id":"https://openalex.org/C127162648","wikidata":"https://www.wikidata.org/wiki/Q16858953","display_name":"Channel (broadcasting)","level":2,"score":0.0},{"id":"https://openalex.org/C75403996","wikidata":"https://www.wikidata.org/wiki/Q5521979","display_name":"Garbage","level":2,"score":0.0},{"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/3276478","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3276478","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3276478","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","license_id":"https://openalex.org/licenses/cc-by","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:kar.kent.ac.uk:69156","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3276478>)","pdf_url":null,"source":{"id":"https://openalex.org/S4377196264","display_name":"Kent Academic Repository (University of Kent)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I20581793","host_organization_name":"University of Kent","host_organization_lineage":["https://openalex.org/I20581793"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"acceptedVersion","is_accepted":true,"is_published":false,"raw_source_name":null,"raw_type":"PeerReviewed"}],"best_oa_location":{"id":"doi:10.1145/3276478","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3276478","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3276478","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","license_id":"https://openalex.org/licenses/cc-by","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/G1619410280","display_name":null,"funder_award_id":"274/14","funder_id":"https://openalex.org/F4320322252","funder_display_name":"Israel Science Foundation"},{"id":"https://openalex.org/G2857197338","display_name":null,"funder_award_id":"I2491-N31","funder_id":"https://openalex.org/F4320321181","funder_display_name":"Austrian Science Fund"},{"id":"https://openalex.org/G6731013838","display_name":null,"funder_award_id":"274/14","funder_id":"https://openalex.org/F4320320950","funder_display_name":"United States-Israel Binational Science Foundation"},{"id":"https://openalex.org/G6783783255","display_name":null,"funder_award_id":"number","funder_id":"https://openalex.org/F4320321181","funder_display_name":"Austrian Science Fund"},{"id":"https://openalex.org/G7315415636","display_name":null,"funder_award_id":"Grant","funder_id":"https://openalex.org/F4320322252","funder_display_name":"Israel Science Foundation"}],"funders":[{"id":"https://openalex.org/F4320307904","display_name":"Oracle","ror":"https://ror.org/006c77m33"},{"id":"https://openalex.org/F4320320950","display_name":"United States-Israel Binational Science Foundation","ror":"https://ror.org/00j8z2m73"},{"id":"https://openalex.org/F4320321181","display_name":"Austrian Science Fund","ror":"https://ror.org/013tf3c58"},{"id":"https://openalex.org/F4320322252","display_name":"Israel Science Foundation","ror":"https://ror.org/04sazxf24"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2898306128.pdf","grobid_xml":"https://content.openalex.org/works/W2898306128.grobid-xml"},"referenced_works_count":39,"referenced_works":["https://openalex.org/W125251596","https://openalex.org/W193325121","https://openalex.org/W593998747","https://openalex.org/W649605789","https://openalex.org/W1520380662","https://openalex.org/W1590194659","https://openalex.org/W1974715526","https://openalex.org/W1976323078","https://openalex.org/W1983572666","https://openalex.org/W1993335798","https://openalex.org/W2021030008","https://openalex.org/W2029215055","https://openalex.org/W2048517152","https://openalex.org/W2058639022","https://openalex.org/W2075675735","https://openalex.org/W2091228796","https://openalex.org/W2096830363","https://openalex.org/W2098365678","https://openalex.org/W2100148636","https://openalex.org/W2112121929","https://openalex.org/W2126060880","https://openalex.org/W2130235146","https://openalex.org/W2132594816","https://openalex.org/W2135416495","https://openalex.org/W2144921123","https://openalex.org/W2267028622","https://openalex.org/W2417309458","https://openalex.org/W2483515109","https://openalex.org/W2505470356","https://openalex.org/W2533990317","https://openalex.org/W2537964555","https://openalex.org/W2539394636","https://openalex.org/W2582659305","https://openalex.org/W2606444700","https://openalex.org/W2731881248","https://openalex.org/W2810876875","https://openalex.org/W2898373289","https://openalex.org/W4236519034","https://openalex.org/W4298077439"],"related_works":["https://openalex.org/W2488080660","https://openalex.org/W3132999948","https://openalex.org/W1835589799","https://openalex.org/W2144265691","https://openalex.org/W1605991620","https://openalex.org/W4387251676","https://openalex.org/W180975739","https://openalex.org/W4385261619","https://openalex.org/W2538534817","https://openalex.org/W2733115356"],"abstract_inverted_index":{"Dynamic":[0],"programming":[1],"languages":[2,55],"such":[3],"as":[4,182],"Python":[5],"and":[6,11,45,78,89,123,134,156,175,184,190],"Ruby":[7,195,198],"are":[8,64,72],"widely":[9],"used,":[10],"much":[12],"effort":[13,23],"is":[14,27,47],"spent":[15],"on":[16,168,197],"making":[17,40],"them":[18],"efficient.":[19],"One":[20],"substantial":[21],"research":[22],"in":[24,53,118],"this":[25,81],"direction":[26],"the":[28,99,125,130,144,179],"enabling":[29],"of":[30,68,102,146],"parallel":[31,188],"code":[32],"execution.":[33],"While":[34],"there":[35],"has":[36,165],"been":[37],"significant":[38],"progress,":[39],"dynamic":[41,54,69,100,147],"collections":[42,63,91],"efficient,":[43,77],"scalable,":[44],"thread-safe":[46],"an":[48,65,85],"open":[49],"issue.":[50],"Typical":[51],"programs":[52],"use":[56],"few":[57],"but":[58,71],"versatile":[59],"collection":[60,104],"types.":[61],"Such":[62],"important":[66],"ingredient":[67],"environments,":[70],"difficult":[73],"to":[74,98,153],"make":[75],"safe,":[76],"scalable.":[79],"In":[80],"paper,":[82],"we":[83,128],"propose":[84],"approach":[86,152,164],"for":[87,124,173,186],"efficient":[88],"concurrent":[90],"by":[92,109],"gradually":[93],"increasing":[94],"synchronization":[95],"levels":[96],"according":[97],"needs":[101],"each":[103],"instance.":[105],"Collections":[106],"reachable":[107],"only":[108],"a":[110,139],"single":[111],"thread":[112],"have":[113,120],"no":[114,166],"synchronization,":[115,122],"arrays":[116],"accessed":[117],"bounds":[119],"minimal":[121],"general":[126],"case,":[127],"adopt":[129],"Layout":[131],"Lock":[132],"paradigm":[133],"extend":[135],"its":[136],"design":[137],"with":[138],"lightweight":[140],"version":[141],"that":[142,162],"fits":[143],"setting":[145],"languages.":[148],"We":[149],"apply":[150],"our":[151,163],"Ruby's":[154],"Array":[155,174],"Hash":[157,176],"collections.":[158],"Our":[159],"experiments":[160],"show":[161],"overhead":[167],"single-threaded":[169],"benchmarks,":[170],"scales":[171,191],"linearly":[172],"accesses,":[177],"achieves":[178],"same":[180],"scalability":[181],"Fortran":[183],"Java":[185],"classic":[187],"algorithms,":[189],"better":[192],"than":[193],"other":[194],"implementations":[196],"workloads.":[199]},"counts_by_year":[{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":2},{"year":2021,"cited_by_count":1},{"year":2019,"cited_by_count":2},{"year":2018,"cited_by_count":1}],"updated_date":"2026-04-10T15:06:20.359241","created_date":"2025-10-10T00:00:00"}
