The contributions of this paper include the following.
A hierarchical model of memory for a nested-parallel functional
language.
The precise formulation of the disentanglement property in the
context of our nested-parallel functional language, and the proof
that this language guarantees disentanglement.
The formulation of a hierarchical garbage collection technique
that allows portions of memory to be garbage collected concurrently
with other tasks.
The design of a runtime system that realizes the hierarchical
memory management techniques.
A prototype implementation as an extension to the MLton
compiler for Standard ML, and an evaluation of its performance.