Matches in SemOpenAlex for { <https://semopenalex.org/work/W2995576800> ?p ?o ?g. }
- W2995576800 endingPage "32" @default.
- W2995576800 startingPage "1" @default.
- W2995576800 abstract "Nested parallelism has proved to be a popular approach for programming the rapidly expanding range of multicore computers. It allows programmers to express parallelism at a high level and relies on a run-time system and a scheduler to deliver efficiency and scalability. As a result, many programming languages and extensions that support nested parallelism have been developed, including in C/C++, Java, Haskell, and ML. Yet, writing efficient and scalable nested parallel programs remains challenging, primarily due to difficult concurrency bugs arising from destructive updates or effects. For decades, researchers have argued that functional programming can simplify writing parallel programs by allowing more control over effects but functional programs continue to underperform in comparison to parallel programs written in lower-level languages. The fundamental difficulty with functional languages is that they have high demand for memory, and this demand only grows with parallelism. In this paper, we identify a memory property, called disentanglement, of nested-parallel programs, and propose memory management techniques for improved efficiency and scalability. Disentanglement allows for (destructive) effects as long as concurrently executing threads do not gain knowledge of the memory objects allocated by each other. We formally define disentanglement by considering an ML-like higher-order language with mutable references and presenting a dynamic semantics for it that enables reasoning about computation graphs of nested parallel programs. Based on this graph semantics, we formalize a classic correctness property---determinacy race freedom---and prove that it implies disentanglement. This establishes that disentanglement applies to a relatively broad class of parallel programs. We then propose memory management techniques for nested-parallel programs that take advantage of disentanglement for improved efficiency and scalability. We show that these techniques are practical by extending the MLton compiler for Standard ML to support this form of nested parallelism. Our empirical evaluation shows that our techniques are efficient and scale well." @default.
- W2995576800 created "2019-12-26" @default.
- W2995576800 creator A5015051107 @default.
- W2995576800 creator A5029478793 @default.
- W2995576800 creator A5047980263 @default.
- W2995576800 creator A5052738437 @default.
- W2995576800 date "2019-12-20" @default.
- W2995576800 modified "2023-09-26" @default.
- W2995576800 title "Disentanglement in nested-parallel programs" @default.
- W2995576800 cites W1963506672 @default.
- W2995576800 cites W1965122136 @default.
- W2995576800 cites W1965708711 @default.
- W2995576800 cites W1970603441 @default.
- W2995576800 cites W1972200437 @default.
- W2995576800 cites W1975579741 @default.
- W2995576800 cites W1979870592 @default.
- W2995576800 cites W1981962444 @default.
- W2995576800 cites W1986022261 @default.
- W2995576800 cites W1993621349 @default.
- W2995576800 cites W1995085071 @default.
- W2995576800 cites W1995674161 @default.
- W2995576800 cites W1995873479 @default.
- W2995576800 cites W2003607268 @default.
- W2995576800 cites W2009122662 @default.
- W2995576800 cites W2010459485 @default.
- W2995576800 cites W2019380637 @default.
- W2995576800 cites W2025442455 @default.
- W2995576800 cites W2028861803 @default.
- W2995576800 cites W2034256728 @default.
- W2995576800 cites W2059259057 @default.
- W2995576800 cites W2063591933 @default.
- W2995576800 cites W2069789831 @default.
- W2995576800 cites W2085118703 @default.
- W2995576800 cites W2098297530 @default.
- W2995576800 cites W2098298678 @default.
- W2995576800 cites W2098815550 @default.
- W2995576800 cites W2101196063 @default.
- W2995576800 cites W2104861744 @default.
- W2995576800 cites W2105794846 @default.
- W2995576800 cites W2109065830 @default.
- W2995576800 cites W2110839939 @default.
- W2995576800 cites W2112123380 @default.
- W2995576800 cites W2119816515 @default.
- W2995576800 cites W2125269219 @default.
- W2995576800 cites W2125650214 @default.
- W2995576800 cites W2140300123 @default.
- W2995576800 cites W2148599839 @default.
- W2995576800 cites W2150848984 @default.
- W2995576800 cites W2164976101 @default.
- W2995576800 cites W2169907127 @default.
- W2995576800 cites W2170200862 @default.
- W2995576800 cites W2171537091 @default.
- W2995576800 cites W2172013743 @default.
- W2995576800 cites W2330123543 @default.
- W2995576800 cites W2436525433 @default.
- W2995576800 cites W2470978318 @default.
- W2995576800 cites W2475636809 @default.
- W2995576800 cites W2508222108 @default.
- W2995576800 cites W2554354717 @default.
- W2995576800 cites W2779850521 @default.
- W2995576800 cites W2786576071 @default.
- W2995576800 cites W2799001871 @default.
- W2995576800 cites W2900397097 @default.
- W2995576800 cites W2901454403 @default.
- W2995576800 cites W2913324528 @default.
- W2995576800 cites W2933941175 @default.
- W2995576800 cites W3098874119 @default.
- W2995576800 cites W4230609379 @default.
- W2995576800 cites W4232836277 @default.
- W2995576800 cites W4238388226 @default.
- W2995576800 cites W4240363966 @default.
- W2995576800 cites W4244157805 @default.
- W2995576800 cites W4244329725 @default.
- W2995576800 cites W4248121615 @default.
- W2995576800 cites W4248722156 @default.
- W2995576800 cites W4248901744 @default.
- W2995576800 cites W4256739278 @default.
- W2995576800 cites W2624869780 @default.
- W2995576800 doi "https://doi.org/10.1145/3371115" @default.
- W2995576800 hasPublicationYear "2019" @default.
- W2995576800 type Work @default.
- W2995576800 sameAs 2995576800 @default.
- W2995576800 citedByCount "8" @default.
- W2995576800 countsByYear W29955768002020 @default.
- W2995576800 countsByYear W29955768002021 @default.
- W2995576800 countsByYear W29955768002022 @default.
- W2995576800 countsByYear W29955768002023 @default.
- W2995576800 crossrefType "journal-article" @default.
- W2995576800 hasAuthorship W2995576800A5015051107 @default.
- W2995576800 hasAuthorship W2995576800A5029478793 @default.
- W2995576800 hasAuthorship W2995576800A5047980263 @default.
- W2995576800 hasAuthorship W2995576800A5052738437 @default.
- W2995576800 hasBestOaLocation W29955768001 @default.
- W2995576800 hasConcept C1306188 @default.
- W2995576800 hasConcept C173608175 @default.
- W2995576800 hasConcept C184337299 @default.
- W2995576800 hasConcept C193702766 @default.
- W2995576800 hasConcept C199360897 @default.