Table of Contents
Fetching ...

Symmetric Locality: Definition and Initial Results

Giordan Escalona, Dylan McKellips, Chen Ding

TL;DR

This work studies a special type of data reuse in the form of repeated traversals, or re-traversals, which are based on the symmetric group, and characterize symmetric locality.

Abstract

In this short paper, we characterize symmetric locality. In designing algorithms, compilers, and systems, data movement is a common bottleneck in high-performance computation, in which we improve cache and memory performance. We study a special type of data reuse in the form of repeated traversals, or re-traversals, which are based on the symmetric group. The cyclic and sawtooth traces are previously known results in symmetric locality, and in this work, we would like to generalize this result for any re-traversal. Then, we also provide an abstract framework for applications in compiler design and machine learning models to improve the memory performance of certain programs.

Symmetric Locality: Definition and Initial Results

TL;DR

This work studies a special type of data reuse in the form of repeated traversals, or re-traversals, which are based on the symmetric group, and characterize symmetric locality.

Abstract

In this short paper, we characterize symmetric locality. In designing algorithms, compilers, and systems, data movement is a common bottleneck in high-performance computation, in which we improve cache and memory performance. We study a special type of data reuse in the form of repeated traversals, or re-traversals, which are based on the symmetric group. The cyclic and sawtooth traces are previously known results in symmetric locality, and in this work, we would like to generalize this result for any re-traversal. Then, we also provide an abstract framework for applications in compiler design and machine learning models to improve the memory performance of certain programs.
Paper Structure (36 sections, 10 theorems, 32 equations, 2 figures, 2 algorithms)

This paper contains 36 sections, 10 theorems, 32 equations, 2 figures, 2 algorithms.

Key Result

Lemma 1

Let $\sigma \in S_m$. Pick $i < j$, if $\sigma(i) > \sigma(j)$, then the pair $(\sigma(i), \sigma(j))$ is an $\textbf{inversion}$ of $\sigma$. Furthermore, $\ell$ is equivalent to the number of inversions of $\sigma$: Example: $\ell (\mathit{sawtooth}_4) = 6$. A simple way to find $\ell(\sigma)$ is to calculate $\sigma(A)$, then count how many $(i, j)$ such that $\sigma(A)[j] > \sigma(A)[i]$ (usi

Figures (2)

  • Figure 1: Average Miss Ratio Curve by Inversion Number for $S_5$
  • Figure 2: Plot of $\lambda^e$: $S_n$ vs. the count of arbitrary choices that ChainFind had to decide.

Theorems & Definitions (36)

  • Definition 1: Re-traversals
  • Definition 2: Miss Ratio
  • Definition 3
  • Definition 4: Reuse Interval
  • Definition 5: Reuse Distance
  • Definition 6
  • Lemma 1
  • Lemma 2
  • Theorem 1: Reuse Distance Calculation
  • Theorem 2: Bruhat-Locality
  • ...and 26 more