These html pages are based on the PhD thesis "Cluster-Based Parallelization of Simulations on Dynamically Adaptive Grids and Dynamic Resource Management" by Martin Schreiber.
There is also more information and a PDF version available.

4.4 Classification of data lifetime

We continue by showing variants of how different data is accessed with a stack system.

(a)
Persistent access: Persistent data is never released during a traversal by either updating the associated data only or fetching it from one buffer and pushing it to another one.
Examples:
Structure stack: With the stack data handled during a forward and backward traversal, fetching data from one and pushing all data to the other stack such as the structure stack can keep the grid structure persistently in memory.
Cell data stack: This stack stores the data which is stored for every cell, e.g. the DoF stored for the DG simulation. This data can be kept persistently either by updating the data on the stacks or by copying the data from one source stack to another destination stack and using the destination as the source stack in the next traversals.
(b)
Semi-persistent access: For this type of access, we distinguish between creating access and clearing access, respectively, for the forward and backward traversal:
(c)
Non-persistent access:
This access starts with an empty stack and finishes with an empty stack. Thus, it is an interplay of creating and clearing accesses.

Adaptivity information: To refine or coarsen cells, adaptivity information requesting refinement or coarsening for cells is forwarded to adjacent cells via a stack system with the adjacent cell’s adaptivity states immediately updated. After either the forward or backward traversal is finished, the stack is empty.

This work puts its focus on data which has persistent cell- and structure-stacks only. The other stacks are assumed to be semi-persistent such as the edge communication data. Here, we describe two ways how to handle persistent edge and node data with a stack system: