Tightening I/O Lower Bounds through the Hourglass Dependency Pattern
<|reference_start|>Tightening I/O Lower Bounds through the Hourglass Dependency Pattern: When designing an algorithm, one cares about arithmetic/computational complexity, but data movement (I/O) complexity plays an increasingly important role that highly impacts performance and energy consumption. For a given algorithm and a given I/O model, scheduling strategies such as loop tiling can reduce the required I/O down to a limit, called the I/O complexity, inherent to the algorithm itself. The objective of I/O complexity analysis is to compute, for a given program, its minimal I/O requirement among all valid schedules. We consider a sequential execution model with two memories, an infinite one, and a small one of size S on which the computations retrieve and produce data. The I/O is the number of reads and writes between the two memories. We identify a common "hourglass pattern" in the dependency graphs of several common linear algebra kernels. Using the properties of this pattern, we mathematically prove tighter lower bounds on their I/O complexity, which improves the previous state-of-the-art bound by a parametric ratio. This proof was integrated inside the IOLB automatic lower bound derivation tool.<|reference_end|>
@article{eyraud-dubois2024tightening,
    title={Tightening I/O Lower Bounds through the Hourglass Dependency Pattern},
    author={Lionel Eyraud-Dubois (TOPAL), Guillaume Iooss (CORSE), Julien Langou
  (ROMA), Fabrice Rastello (CORSE)},
    journal={36th ACM Symposium on Parallelism in Algorithms and Architectures
  (SPAA '24), Jun 2024, Nantes, France},
    year={2024},
    archivePrefix={arXiv},
    eprint={2404.16443},
    primaryClass={cs.CC cs.DC}
}