[論文レビュー] Efficient cache use for stencil operations on structured discretization grids
本論文は、離散等周的不等式と格子幾何学に基づいて、構造化グリッド上のステンシル計算におけるキャッシュミスの最小化のための理論的枠組みを提示する。短い干渉格子のベクトルを有する「不適切な」グリッド次元は、異常に高いキャッシュミスを引き起こすことが特定され、それらを回避するパディング戦略が提案され、実ハードウェア上で最大3倍のキャッシュミス削減が達成された。
We derive tight bounds on cache misses for evaluation of explicit stencil operators on structured grids. Our lower bound is based on the isoperimetrical property of the discrete octahedron. Our upper bound is based on good surface to volume ratio of a parallelepiped spanned by a reduced basis of the inter- ference lattice of a grid. Measurements show that our algorithm typically reduces the number of cache misses by factor of three relative to a compiler optimized code. We show that stencil calculations on grids whose interference lattice have a short vector feature abnormally high numbers of cache misses. We call such grids unfavorable and suggest to avoid these in computations by appropriate padding. By direct measurements on MIPS R10000 we show a good correlation of abnormally high cache misses and unfavorable three-dimensional grids.
研究の動機と目的
- 構造化グリッド上のステンシル演算におけるキャッシュミスのタイトな理論的境界を確立すること。
- 不適切な格子構造に起因して異常に高いキャッシュミスを引き起こすグリッド次元を特定すること。
- 干渉格子の短い基底を用いたキャッシュフィッティングアルゴリズムを開発し、キャッシュミスを最小化すること。
- 戦略的なパディングを通じて、性能を低下させるグリッド次元を回避する実用的ガイドラインを提供すること。
提案手法
- 離散等周的不等式定理と離散正八面体の等周的性質を用いて、キャッシュミスの下界を導出する。
- 干渉格子の短い基底に基づくキャッシュフィッティングアルゴリズムを用いて、表面積対体積比が良好な上界を確立する。
- 2つの基準を用いて不適切なグリッドを特徴付ける:(1) グリッド次元の積がキャッシュサイズの半分の倍数に近いこと、(2) 干渉格子に短いベクトルが存在すること。
- 干渉格子の変更された基底を用いて、空間的および時間的局所性を最大化する効率的なデータレイアウトを可能にする。
- 理論的結果を実ハードウェア(MIPS R10000)に適用し、干渉格子の短いベクトルと高いキャッシュミス率との相関関係を検証する。
- 不適切なグリッドを、それらを埋め込む大きな最適化済みグリッドに変換するパディング戦略を提案する。
実験結果
リサーチクエスチョン
- RQ1構造化グリッド上のステンシル演算に必要なキャッシュミスの理論的最小値は何か? そして、それが実際の状況で達成可能か?
- RQ2干渉格子の幾何的性質、特に短いベクトルの存在がキャッシュ性能にどのように影響するか?
- RQ3離散幾何学と格子理論を用いて、キャッシュミスの下限と上限を両方とも境界づけられるか?
- RQ4キャッシュサイズの半分の倍数であるグリッド次元は、なぜ異常に高いキャッシュミス率を引き起こすのか?
- RQ5パディングと基底変換を用いて、不適切なグリッドを体系的に適切なグリッドに変換する方法を開発可能か?
主な発見
- キャッシュミスの下界は離散等周的不等式定理から導出され、避けることのできないキャッシュミスの数は、計算領域の表面積対体積比によって決定されることを示している。
- キャッシュミスの上界は、干渉格子の短い基底を用いたキャッシュフィッティングアルゴリズムによって達成され、最小限のキャッシュトラフィックを実現する最適なデータレイアウトを保証する。
- MIPS R10000プロセッサにおける実験では、干渉格子に短いベクトルが存在する場合と異常に高いキャッシュミス率が直接相関していることが示された。
- 次元積がキャッシュサイズの半分の倍数に近いグリッドは、顕著に増加したキャッシュミスを示し、強いパフォーマンスボトルネックを示している。
- 提案されたパディング戦略により、不適切なグリッドは適切なグリッドに変換され、コンパイラ最適化コードと比較してキャッシュミスが3倍に削減された。
- 理論的分析により、任意のキャッシュサイズ S = p^n(p は素数)に対して、最短ベクトルが長い干渉格子を持つ適切なグリッドが存在し、低キャッシュミス率を保証することが証明された。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。