Skip to main content
QUICK REVIEW

[論文レビュー] Hierarchical Bin Buffering: Online Local Moments for Dynamic External Memory Arrays

Daniel Lemire, Owen Kaser|R-libre (Université Téluq)|Oct 21, 2006
Algorithms and Data Compression参考文献 23被引用数 5
ひとこと要約

この論文では、小さな内部バッファを用いて、大規模な外部記憶領域配列における局所モーメントを効率的に計算するための、階層的ビンバッファリングという手法を紹介する。データを重複するビンに整理し、多項式補間を適用することで、最小限のストレージで対数時間オーダーのクエリ時間実現が可能となり、ウェーブレットに類似したプログレッシブで近似可能なクエリを実現するが、メモリオーバーヘッドははるかに低い。

ABSTRACT

Local moments are used for local regression, to compute statistical measures such as sums, averages, and standard deviations, and to approximate probability distributions. We consider the case where the data source is a very large I/O array of size n and we want to compute the first N local moments, for some constant N. Without precomputation, this requires O(n) time. We develop a sequence of algorithms of increasing sophistication that use precomputation and additional buffer space to speed up queries. The simpler algorithms partition the I/O array into consecutive ranges called bins, and they are applicable not only to local-moment queries, but also to algebraic queries (MAX, AVERAGE, SUM, etc.). With N buffers of size sqrt{n}, time complexity drops to O(sqrt n). A more sophisticated approach uses hierarchical buffering and has a logarithmic time complexity (O(b log_b n)), when using N hierarchical buffers of size n/b. Using Overlapped Bin Buffering, we show that only a single buffer is needed, as with wavelet-based algorithms, but using much less storage. Applications exist in multidimensional and statistical databases over massive data sets, interactive image processing, and visualization.

研究の動機と目的

  • 大規模な外部記憶領域配列の処理におけるI/Oボトルネックを軽減し、遅いディスクアクセスに依存するのを減らすこと。
  • 大規模な配列の任意の範囲に対して、局所モーメント(例:和、分散、回帰)を迅速にオンラインで計算可能にすること。
  • ウェーブレットベースの手法と比較してストレージ要件を最小限に抑えつつ、プログレッシブなクエリ近似をサポートすること。
  • 限られた内部バッファ領域を有する外部記憶システムにおいて、動的更新および代数的クエリ(例:多項式フィッティング)を可能にすること。

提案手法

  • 配列を固定サイズbの重複するビンに分割することで、事前に計算された値の効率的なバッファリングと再利用を可能にする。
  • 複数レベルの階層的バッファリングを用いることで、N個のバッファ(各サイズn/b)を用いてクエリ時間計算量をO(b log_b n)に低減する。
  • ビン単位のラグランジュ補間を適用し、クエリ範囲の端縁付近の少数のビンのみを用いて局所モーメントを近似する。
  • 二項定理の展開を活用し、任意の点cに関する局所モーメントを範囲の開始位置に関するモーメントで表現する。
  • 複数の次数Nにわたるモーメント情報の格納と更新を、1つの実数値バッファで行うことで、マルチクエリ対応を可能にする。
  • 範囲端縁付近の必要なビンのみを取得することで、プログレッシブなクエリ評価を可能にし、時間的・ストレージ的負荷を低減する。
Figure 1: An algebraic range query supported by Bin Buffering, as in Eq. ( 2 ).
Figure 1: An algebraic range query supported by Bin Buffering, as in Eq. ( 2 ).

実験結果

リサーチクエスチョン

  • RQ1大規模な外部記憶領域配列における局所モーメントクエリを、最小限の内部メモリで効率的に計算可能か?
  • RQ2階層的バッファリングは、ストレージ要件を最小限に抑えつつ、クエリ時間計算量をどのように低減できるか?
  • RQ3範囲端縁付近の少数のビンのみを用いて、ビン単位のラグランジュ補間が局所モーメントをどの程度正確に近似できるか?
  • RQ41つのバッファが、顕著なストレージオーバーヘッドを伴わずに、複数の局所モーメントクエリを同時にサポートできるか?
  • RQ5近似誤差は、ビン端縁からの距離が増加するにつれて、どのように減少するか?

主な発見

  • N個のバッファ(各サイズ√n)を用いることで、局所モーメントクエリの時間計算量がO(√n)に低下し、ナイーブなアプローチと比較して顕著に性能向上が達成される。
  • 階層的バッファリングを用いることで、クエリ時間計算量がO(b log_b n)に達し、バッファ使用量を最小限に抑えつつ対数的スケーラビリティを実現する。
  • 重複するビンバッファリングにより、1つのバッファで複数の局所モーメントをサポートでき、ストレージ要件がウェーブレットベースの手法の数分の1にまで削減される。
  • N=16、b=8の場合、1辺あたり5つのビンを用いるだけで、誤差の97%をカバーでき、少数のビンで高い精度を達成していることが示された。
  • 補間誤差の振幅は、ビン端縁からの距離とともに指数関数的よりも速やかに減少し、部分的ビン評価の有効性が裏付けられた。
  • 本手法はプログレッシブなクエリ評価をサポートしており、ユーザーは速やかに近似結果を取得でき、より多くのビンにアクセスすることで精度を向上させることができる。
Figure 2: An algebraic range query supported by Hierarchical Bin Buffering. We essentially repeat Figure 1 over the buffer itself. In the example given, by aggregating buffer components, we replace 6 first-scale buffer components by 2 second-scale components.
Figure 2: An algebraic range query supported by Hierarchical Bin Buffering. We essentially repeat Figure 1 over the buffer itself. In the example given, by aggregating buffer components, we replace 6 first-scale buffer components by 2 second-scale components.

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

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

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

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