Finding Conservation Laws of Large Dynamical Systems with Tasks and Futures: A Case Study in Utilizing Dynamic Data Dependencies
Description
As parallel workloads grow in complexity, managing fine-grained data dependencies becomes a critical challenge. Futures offer a promising model for handling these dependencies, particularly in irregular algorithms, but they also come with the restriction of value-immutability. This immutability limits the ability to perform in-place memory updates, a necessity for high-performance linear algebra where memory recycling
is paramount.
In this paper, we address these limitations by introducing a new construct, await_delete, which extends traditional future semantics to allow safe
value reuse once consumers are finished. Building on this extension, we present a novel future-based algorithm for the block-wise inversion of
dense, symmetric matrices, motivated by a recent algorithm for finding conservation laws of dynamical systems. We implement our approach in an extended version of Taskflow and evaluate it through strong-scaling experiments. Our results demonstrate that while futures incur significant overhead on smaller problem sizes, they achieve nearly linear scaling on large matrices. We analyze the amortization threshold and show that futures are a viable high-performance tool for large-scale linear algebra.
Files
TasksForConservationLaws.pdf
Files
(355.6 kB)
| Name | Size | Download all |
|---|---|---|
|
md5:93dc912b70014b2920dfe4ce5d0db327
|
355.6 kB | Preview Download |