Skip to main content
QUICK REVIEW

[論文レビュー] Space-filling Curves for High-performance Data Mining

Christian Böhm|arXiv (Cornell University)|Aug 4, 2020
Algorithms and Data Compression参考文献 17被引用数 4
ひとこと要約

本稿では、従来の対数時間計算コストおよび2の累乗のグリッド制限という制限を克服することで、高速なデータマイニングにおけるキャッシュオブliviousなデータアクセスを可能にする最適化されたヒルベルト曲線アルゴリズム—FUR-Hilbert-LoopおよびFGF-Hilbert-Loop—を提示する。これらの手法は、空間充填曲線の走査を線形時間で生成し、行列乗算、k-Meansクラスタリング、類似性ジョインなどのアルゴリズムにおけるキャッシュミスを顕著に削減する。

ABSTRACT

Space-filling curves like the Hilbert-curve, Peano-curve and Z-order map natural or real numbers from a two or higher dimensional space to a one dimensional space preserving locality. They have numerous applications like search structures, computer graphics, numerical simulation, cryptographics and can be used to make various algorithms cache-oblivious. In this paper, we describe some details of the Hilbert-curve. We define the Hilbert-curve in terms of a finite automaton of Mealy-type which determines from the two-dimensional coordinate space the Hilbert order value and vice versa in a logarithmic number of steps. And we define a context-free grammar to generate the whole curve in a time which is linear in the number of generated coordinate/order value pairs, i.e. a constant time per coordinate pair or order value. We also review two different strategies which enable the generation of curves without the usual restriction to square-like grids where the side-length is a power of two. Finally, we elaborate on a few applications, namely matrix multiplication, Cholesky decomposition, the Floyd-Warshall algorithm, k-Means clustering, and the similarity join.

研究の動機と目的

  • ヒルベルト曲線の順序値と座標の間の変換にかかる高い計算コストを克服すること。これは従来、対数時間の計算量を要する。
  • グリッドの次元が2の累乗でなければならないという制限を排除することにより、任意サイズのデータグリッドへの応用を可能とすること。
  • 空間充填曲線の走査順序を活用して、基本的なデータマイニング演算のための効率的かつキャッシュオブliviousなアルゴリズムを設計すること。
  • 局所性を保つ走査パターンにより、キャッシュミスを最小限に抑えることで、メモリ制限の厳しいアルゴリズムのパフォーマンスを向上させること。
  • 曲線に基づくアクセス順序を用いて、データマイニングワークロードの効率的な並列化およびベクトル化(SIMD/MIMD)を可能とすること。

提案手法

  • 有限オートマトン(Mealy型)を用いてヒルベルト曲線を定義し、座標から順序、順序から座標へのマッピングを対数時間で計算する。
  • 空間充填曲線全体を線形時間で生成できる文脈自由文法を導入し、座標ペアごとに定数時間で生成可能にする。
  • 非2の累乗グリッドに対応するため、4×4サブグリッドでタイリングし、動的に行き先の曲線セグメントを計算するFUR-Hilbert-Loop(オーバーレイグリッド法)を提案する。
  • 事前に計算されたナノプログラムを64ビット変数に格納し、無効または不要なグリッドセルをスキップするジャンプオーバー方式を採用したFGF-Hilbert-Loop(ジャンプオーバー法)を考案する。
  • 4×4グリッドの全方向における圧縮済みで事前計算された曲線セグメント(ナノプログラム)を用い、走査の高速化とランタイムオーバーヘッドの低減を実現する。
  • 行列乗算、コレスキー分解、フロイド・ワーシャル、k-Means、類似性ジョインなどの高パフォーマンスなアルゴリズムに、曲線に基づく走査を統合し、キャッシュオブliviousな実行を可能にする。

実験結果

リサーチクエスチョン

  • RQ1座標から順序、順序から座標への変換を、対数時間計算量を要しない効率的な方法で行うにはどうすればよいか?
  • RQ2空間充填曲線の応用において、グリッド次元が2の累乗でなければならないという制約をどのように排除できるか?
  • RQ3空間充填曲線を用いることで、データマイニングアルゴリズムをキャッシュオブliviousにできないか。これにより、さまざまなキャッシュサイズにおいてパフォーマンスが向上するか?
  • RQ4ナノプログラムと高速走査メカニズムは、曲線ベースのデータアクセスパターンにおけるランタイムオーバーヘッドをどの程度低減できるか?
  • RQ5実世界のデータマイニングワークロード(類似性ジョインや行列演算など)において、ヒルベルト曲線に基づく走査が、どの程度パフォーマンスを向上させるか?

主な発見

  • FUR-Hilbert-Loopは、4×4サブグリッドでタイリングし、オーバーレイベースの曲線計算を用いることで、任意サイズのグリッドに対する効率的な走査を可能にし、2の累乗制限を排除する。
  • ジャンプオーバー機能を備えたFGF-Hilbert-Loopは、順序値と座標ペアの1対1対応を維持しながら、スパarsなデータやインデックス化されたデータに対する高速かつキャッシュ効率の良い走査を実現する。
  • 64ビット変数に格納されたナノプログラムにより、反復的処理の代わりに直接参照が可能となり、曲線走査の高速化とランタイムオーバーヘッドの低減が達成される。
  • ヒルベルト曲線に基づく走査の導入により、特に現実的なキャッシュサイズ(主記憶域の5–20%)において、標準的なネストされたループ走査と比較してキャッシュミスが顕著に削減された。
  • 類似性ジョインおよび行列乗算において、ヒルベルトベースのアクセスパターンにより、データ局所性の向上とメモリ帯域幅の圧迫低減が実現され、顕著なパフォーマンス向上が達成された。
  • SIMDおよびMIMD並列処理とヒルベルト走査を統合することで、k-MeansクラスタリングおよびGPUベースのデータマイニングワークロードにおけるパフォーマンスがさらに向上した。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。