2016
DOI: 10.1145/3022670.2951935
|View full text |Cite
|
Sign up to set email alerts
|

Hierarchical memory management for parallel programs

Abstract: An important feature of functional programs is that they are parallel by default. Implementing an efficient parallel functional language, however, is a major challenge, in part because the high rate of allocation and freeing associated with functional programs requires an efficient and scalable memory manager. In this paper, we present a technique for parallel memory management for strict functional languages with nested parallelism. At the highest level of abstraction, the approach consists of a technique to … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
13
0

Year Published

2018
2018
2021
2021

Publication Types

Select...
3
2

Relationship

3
2

Authors

Journals

citations
Cited by 6 publications
(13 citation statements)
references
References 55 publications
0
13
0
Order By: Relevance
“…We have developed a prototype implementation of PriML. Our implementation compiles PriML to mlton-parmem (Raghunathan et al, 2016), a parallel extension of Standard ML which is derived from the work of Spoonhower (2009). We have also developed a parallel scheduler for PriML programs, which plugs into the mlton-parmem runtime.…”
Section: Methodsmentioning
confidence: 99%
See 1 more Smart Citation
“…We have developed a prototype implementation of PriML. Our implementation compiles PriML to mlton-parmem (Raghunathan et al, 2016), a parallel extension of Standard ML which is derived from the work of Spoonhower (2009). We have also developed a parallel scheduler for PriML programs, which plugs into the mlton-parmem runtime.…”
Section: Methodsmentioning
confidence: 99%
“…Cooperatively threaded languages such as NESL (Blelloch et al, 1994), Cilk (Frigo et al, 1998), parallel Haskell (Chakravarty et al, 2007Keller et al, 2010) and parallel ML (Fluet et al, 2011;Jagannathan et al, 2010;Raghunathan et al, 2016), have at least two important features:…”
Section: Introductionmentioning
confidence: 99%
“…As in Raghunathan et al [31], to support parallel automatic memory management, each task is assigned its own heap in which it allocates new data. Heaps are organized into a hierarchy (tree) with the same parent/child relationships as their associated tasks.…”
Section: Overviewmentioning
confidence: 99%
“…The execution of msort in Figure 2 is disentangled, thus the two leaves of the hierarchy could both be independently collected in parallel; for example, collecting the array a after computing Seq.fromArray a but before joining with the parent task. It can be shown that all purely functional programs naturally exhibit disentanglement [31].…”
Section: Overviewmentioning
confidence: 99%
See 1 more Smart Citation