{"id":"https://openalex.org/W2995576800","doi":"https://doi.org/10.1145/3371115","title":"Disentanglement in nested-parallel programs","display_name":"Disentanglement in nested-parallel programs","publication_year":2019,"publication_date":"2019-12-20","ids":{"openalex":"https://openalex.org/W2995576800","doi":"https://doi.org/10.1145/3371115","mag":"2995576800"},"language":"en","primary_location":{"id":"doi:10.1145/3371115","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3371115","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3371115","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/3371115","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5052738437","display_name":"Sam Westrick","orcid":"https://orcid.org/0000-0003-2848-9808"},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Sam Westrick","raw_affiliation_strings":["Carnegie Mellon University, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, USA","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5047980263","display_name":"Rohan Yadav","orcid":"https://orcid.org/0000-0003-0746-066X"},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Rohan Yadav","raw_affiliation_strings":["Carnegie Mellon University, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, USA","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5029478793","display_name":"Matthew Fluet","orcid":"https://orcid.org/0000-0002-4194-7618"},"institutions":[{"id":"https://openalex.org/I155173764","display_name":"Rochester Institute of Technology","ror":"https://ror.org/00v4yb702","country_code":"US","type":"education","lineage":["https://openalex.org/I155173764"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Matthew Fluet","raw_affiliation_strings":["Rochester Institute of Technology, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Rochester Institute of Technology, USA","institution_ids":["https://openalex.org/I155173764"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5015051107","display_name":"Umut A. Acar","orcid":"https://orcid.org/0000-0002-2623-4986"},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Umut A. Acar","raw_affiliation_strings":["Carnegie Mellon University, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, USA","institution_ids":["https://openalex.org/I74973139"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5052738437"],"corresponding_institution_ids":["https://openalex.org/I74973139"],"apc_list":null,"apc_paid":null,"fwci":2.7149,"has_fulltext":true,"cited_by_count":19,"citation_normalized_percentile":{"value":0.90440618,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":98},"biblio":{"volume":"4","issue":"POPL","first_page":"1","last_page":"32"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":1.0,"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":1.0,"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.9993000030517578,"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.9977999925613403,"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.8518862724304199},{"id":"https://openalex.org/keywords/nested-loop-join","display_name":"Nested loop join","score":0.6742105484008789},{"id":"https://openalex.org/keywords/implicit-parallelism","display_name":"Implicit parallelism","score":0.6064119338989258},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5678809285163879},{"id":"https://openalex.org/keywords/scalability","display_name":"Scalability","score":0.5631234049797058},{"id":"https://openalex.org/keywords/concurrency","display_name":"Concurrency","score":0.5466585159301758},{"id":"https://openalex.org/keywords/haskell","display_name":"Haskell","score":0.5294109582901001},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.49202319979667664},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.4783079922199249},{"id":"https://openalex.org/keywords/programming-paradigm","display_name":"Programming paradigm","score":0.4695957899093628},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.45662936568260193},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.4396432638168335},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.4075533151626587},{"id":"https://openalex.org/keywords/parallelism","display_name":"Parallelism (grammar)","score":0.3910643458366394},{"id":"https://openalex.org/keywords/task-parallelism","display_name":"Task parallelism","score":0.38571763038635254},{"id":"https://openalex.org/keywords/database","display_name":"Database","score":0.09818786382675171}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8518862724304199},{"id":"https://openalex.org/C1306188","wikidata":"https://www.wikidata.org/wiki/Q4060687","display_name":"Nested loop join","level":2,"score":0.6742105484008789},{"id":"https://openalex.org/C3543717","wikidata":"https://www.wikidata.org/wiki/Q6007302","display_name":"Implicit parallelism","level":4,"score":0.6064119338989258},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5678809285163879},{"id":"https://openalex.org/C48044578","wikidata":"https://www.wikidata.org/wiki/Q727490","display_name":"Scalability","level":2,"score":0.5631234049797058},{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.5466585159301758},{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.5294109582901001},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.49202319979667664},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.4783079922199249},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.4695957899093628},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.45662936568260193},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.4396432638168335},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.4075533151626587},{"id":"https://openalex.org/C2781172179","wikidata":"https://www.wikidata.org/wiki/Q853109","display_name":"Parallelism (grammar)","level":2,"score":0.3910643458366394},{"id":"https://openalex.org/C42992933","wikidata":"https://www.wikidata.org/wiki/Q691169","display_name":"Task parallelism","level":3,"score":0.38571763038635254},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.09818786382675171}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3371115","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3371115","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3371115","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"}],"best_oa_location":{"id":"doi:10.1145/3371115","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3371115","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3371115","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":[{"id":"https://metadata.un.org/sdg/16","score":0.6899999976158142,"display_name":"Peace, Justice and strong institutions"}],"awards":[{"id":"https://openalex.org/G1560875024","display_name":"SHF: Medium: Collaborative Research: Automatic Locality Management for Dynamically Scheduled Parallelism","funder_award_id":"1408940","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G1574315406","display_name":null,"funder_award_id":"CCF-1408940","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G4597540222","display_name":"SHF: Medium: Collaborative Research: Automatic Locality Management for Dynamically Scheduled Parallelism","funder_award_id":"1408981","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2995576800.pdf","grobid_xml":"https://content.openalex.org/works/W2995576800.grobid-xml"},"referenced_works_count":84,"referenced_works":["https://openalex.org/W57462620","https://openalex.org/W869573524","https://openalex.org/W1543830735","https://openalex.org/W1576762382","https://openalex.org/W1583642359","https://openalex.org/W1843718812","https://openalex.org/W1963506672","https://openalex.org/W1965122136","https://openalex.org/W1965708711","https://openalex.org/W1970603441","https://openalex.org/W1972200437","https://openalex.org/W1975579741","https://openalex.org/W1979201594","https://openalex.org/W1979870592","https://openalex.org/W1981962444","https://openalex.org/W1986022261","https://openalex.org/W1986804682","https://openalex.org/W1993621349","https://openalex.org/W1994257154","https://openalex.org/W1995085071","https://openalex.org/W1995674161","https://openalex.org/W1995873479","https://openalex.org/W2003607268","https://openalex.org/W2009122662","https://openalex.org/W2010459485","https://openalex.org/W2019380637","https://openalex.org/W2025442455","https://openalex.org/W2028861803","https://openalex.org/W2034256728","https://openalex.org/W2059259057","https://openalex.org/W2063591933","https://openalex.org/W2069789831","https://openalex.org/W2085118703","https://openalex.org/W2098297530","https://openalex.org/W2098298678","https://openalex.org/W2098815550","https://openalex.org/W2101196063","https://openalex.org/W2104861744","https://openalex.org/W2105794846","https://openalex.org/W2109065830","https://openalex.org/W2110839939","https://openalex.org/W2112123380","https://openalex.org/W2119816515","https://openalex.org/W2125269219","https://openalex.org/W2125650214","https://openalex.org/W2140300123","https://openalex.org/W2148599839","https://openalex.org/W2150848984","https://openalex.org/W2164976101","https://openalex.org/W2169907127","https://openalex.org/W2170200862","https://openalex.org/W2171537091","https://openalex.org/W2172013743","https://openalex.org/W2330123543","https://openalex.org/W2436525433","https://openalex.org/W2470978318","https://openalex.org/W2475636809","https://openalex.org/W2508222108","https://openalex.org/W2554354717","https://openalex.org/W2624869780","https://openalex.org/W2779850521","https://openalex.org/W2783280912","https://openalex.org/W2786576071","https://openalex.org/W2799001871","https://openalex.org/W2900397097","https://openalex.org/W2901454403","https://openalex.org/W2913324528","https://openalex.org/W2933941175","https://openalex.org/W3098874119","https://openalex.org/W3113163436","https://openalex.org/W4230609379","https://openalex.org/W4232836277","https://openalex.org/W4238347373","https://openalex.org/W4238388226","https://openalex.org/W4240363966","https://openalex.org/W4242219660","https://openalex.org/W4244157805","https://openalex.org/W4244329725","https://openalex.org/W4248121615","https://openalex.org/W4248722156","https://openalex.org/W4248901744","https://openalex.org/W4250678240","https://openalex.org/W4256739278","https://openalex.org/W6649120592"],"related_works":["https://openalex.org/W2378666660","https://openalex.org/W2244101089","https://openalex.org/W2950543903","https://openalex.org/W1990195720","https://openalex.org/W1505553165","https://openalex.org/W2466773286","https://openalex.org/W2160559747","https://openalex.org/W3030139520","https://openalex.org/W2995576800","https://openalex.org/W1602164775"],"abstract_inverted_index":{"Nested":[0],"parallelism":[1,23,53],"has":[2],"proved":[3],"to":[4,21,37,76,109,113,240,282],"be":[5],"a":[6,25,31,35,43,146,202,224,241],"popular":[7],"approach":[8],"for":[9,132,159,166,205,254,262,279],"programming":[10,46,93],"the":[11,180,276],"rapidly":[12],"expanding":[13],"range":[14],"of":[15,151,179,213,245,260,286],"multicore":[16],"computers.":[17],"It":[18],"allows":[19,165],"programmers":[20],"express":[22],"at":[24],"high":[26,130],"level":[27],"and":[28,34,40,48,62,67,134,154,162,200,265,298],"relies":[29],"on":[30,218],"run-time":[32],"system":[33],"scheduler":[36],"deliver":[38],"efficiency":[39,161,264],"scalability.":[41,163,266],"As":[42],"result,":[44],"many":[45],"languages":[47,125],"extensions":[49],"that":[50,91,127,207,231,237,257,269,293],"support":[51,283],"nested":[52,69,214,287],"have":[54,89,129],"been":[55],"developed,":[56],"including":[57],"in":[58,111,117],"C/C++,":[59],"Java,":[60],"Haskell,":[61],"ML.":[63],"Yet,":[64],"writing":[65,96],"efficient":[66,297],"scalable":[68],"parallel":[70,97,114,215,246],"programs":[71,98,107,115,256],"remains":[72],"challenging,":[73],"primarily":[74],"due":[75],"difficult":[77],"concurrency":[78],"bugs":[79],"arising":[80],"from":[81],"destructive":[82],"updates":[83],"or":[84],"effects.":[85],"For":[86],"decades,":[87],"researchers":[88],"argued":[90],"functional":[92,106,124],"can":[94],"simplify":[95],"by":[99,184,191,274],"allowing":[100],"more":[101],"control":[102],"over":[103],"effects":[104,168],"but":[105],"continue":[108],"underperform":[110],"comparison":[112],"written":[116],"lower-level":[118],"languages.":[119],"The":[120],"fundamental":[121],"difficulty":[122],"with":[123,139,197],"is":[126],"they":[128],"demand":[131,136],"memory,":[133],"this":[135,142,219,284],"only":[137],"grows":[138],"parallelism.":[140,288],"In":[141],"paper,":[143],"we":[144,222],"identify":[145],"memory":[147,156,181,251],"property,":[148],"called":[149],"disentanglement,":[150],"nested-parallel":[152,255],"programs,":[153],"propose":[155,250],"management":[157,252],"techniques":[158,253,271,295],"improved":[160,263],"Disentanglement":[164],"(destructive)":[167],"as":[169,171],"long":[170],"concurrently":[172],"executing":[173],"threads":[174],"do":[175],"not":[176],"gain":[177],"knowledge":[178],"objects":[182],"allocated":[183],"each":[185],"other.":[186],"We":[187,248,267],"formally":[188],"define":[189],"disentanglement":[190,238,261],"considering":[192],"an":[193],"ML-like":[194],"higher-order":[195],"language":[196],"mutable":[198],"references":[199],"presenting":[201],"dynamic":[203],"semantics":[204],"it":[206,232],"enables":[208],"reasoning":[209],"about":[210],"computation":[211],"graphs":[212],"programs.":[216,247],"Based":[217],"graph":[220],"semantics,":[221],"formalize":[223],"classic":[225],"correctness":[226],"property---determinacy":[227],"race":[228],"freedom---and":[229],"prove":[230],"implies":[233],"disentanglement.":[234],"This":[235],"establishes":[236],"applies":[239],"relatively":[242],"broad":[243],"class":[244],"then":[249],"take":[258],"advantage":[259],"show":[268],"these":[270],"are":[272,296],"practical":[273],"extending":[275],"MLton":[277],"compiler":[278],"Standard":[280],"ML":[281],"form":[285],"Our":[289],"empirical":[290],"evaluation":[291],"shows":[292],"our":[294],"scale":[299],"well.":[300]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":4},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":4},{"year":2020,"cited_by_count":6}],"updated_date":"2026-04-28T14:05:53.105641","created_date":"2025-10-10T00:00:00"}
