Skip to main content
QUICK REVIEW

[論文レビュー] Buffered Count-Min Sketch on SSD: Theory and Experiments

Mayank Goswami, Dzejla Medjedovic|arXiv (Cornell University)|Apr 27, 2018
Advanced Data Storage Technologies参考文献 13被引用数 3
ひとこと要約

本論文は、ハッシュ局在化を用いて1つのSSDページに1つの要素のすべてのハッシュ操作を集約することで、ランダムI/Oを削減する、SSDに最適化されたカウントミンスケッチの変種、バッファドカウントミンスケッチ(BCMS)を提案する。この手法は、元のカウントミンスケッチの誤差保証を維持しながら、挿入処理を3.7×–4.7×高速化し、SSD上での照会処理を4.3×高速化する。また、最悪ケースにおけるI/O複雑度をO(r)から1に低減する。

ABSTRACT

Frequency estimation data structures such as the count-min sketch (CMS) have found numerous applications in databases, networking, computational biology and other domains. Many applications that use the count-min sketch process massive and rapidly evolving datasets. For data-intensive applications that aim to keep the overestimate error low, the count-min sketch may become too large to store in available RAM and may have to migrate to external storage (e.g., SSD.) Due to the random-read/write nature of hash operations of the count-min sketch, simply placing it on SSD stifles the performance of time-critical applications, requiring about 4-6 random reads/writes to SSD per estimate (lookup) and update (insert) operation. In this paper, we expand on the preliminary idea of the Buffered Count-Min Sketch (BCMS) [15], an SSD variant of the count-min sketch, that used hash localization to scale efficiently out of RAM while keeping the total error bounded. We describe the design and implementation of the buffered count-min sketch, and empirically show that our implementation achieves 3.7x-4.7x the speedup on update (insert) and 4.3x speedup on estimate (lookup) operations. Our design also offers an asymptotic improvement in the external-memory model [1] over the original data structure: r random I/Os are reduced to 1 I/O for the estimate operation. For a data structure that uses k blocks on SSD, was the word/counter size, r as the number of rows, M as the number of bits in the main memory, our data structure uses kwr/M amortized I/Os for updates, or, if kwr/M >1, 1 I/O in the worst case. In typical scenarios, kwr/M is much smaller than 1. This is in contrast to O(r) I/Os incurred for each update in the original data structure.

研究の動機と目的

  • メインメモリを超えてスケーリングされた際のカウントミンスケッチのパフォーマンスボトルネックを解消するため、ランダムI/Oが顕著に性能を低下させるSSDへの移行を目的とする。
  • SSD上での更新および照会操作の外部メモリI/Oを最小限に抑えるカウントミンスケッチの変種を設計することを目的とする。
  • ハッシュ局在化を施しても、元のカウントミンスケッチの確率的誤差保証(Pr[Error ≥ nε(1+o(1))] ≤ δ+o(1))を維持することを目的とする。
  • 実際の環境でハッシュ局在化が過大推定の質を低下させないことを経験的に検証することを目的とする。
  • 理論的および実践的証拠を提供し、BCMSが照会処理において最適なI/O複雑度、更新処理においてはほぼ最適な均等化I/Oを達成することを目的とする。

提案手法

  • バッファドカウントミンスケッチ(BCMS)は、SSD上に固定サイズのページにスケッチを構成し、特定のアイテムのすべてのハッシュ関数をページレベルのハッシュ関数により同一ページにマッピングする。
  • 各更新または照会操作は、最悪ケースで1つのSSDページのみにアクセスするため、ランダムI/OがO(r)から1に削減される。
  • データ構造はバッファを用いて更新をグループ化し、I/Oを最小限に抑える。更新処理の均等化I/Oコストは、k(ブロック数)、w(ワードサイズ)、r(行数)、M(メインメモリサイズ)を用いてkwr/Mである。
  • 理論的分析により、誤差確率が元のCMSと同様に有界であることが証明されている:Pr[Error(q) ≥ nε(1+o(1))] ≤ δ + o(1)。
  • スケッチはパラメータδ(失敗確率)、ε(誤差許容値)、およびスケッチサイズを用いて設定され、深さr = ⌈ln(1/δ)⌉、幅⌈e/ε⌉として定義される。
  • 経験的評価では、32GBのRAMを搭載した1TBのSSDを用い、さまざまなスケッチサイズとRAM対スケッチ比における挿入および照会処理のスループットを測定した。

実験結果

リサーチクエスチョン

  • RQ1カウントミンスケッチの変種におけるハッシュ局在化により、1操作あたりのSSD I/OをO(r)から1に削減しつつ、誤差保証を維持できるか?
  • RQ2I/Oの削減による性能向上が、実際のSSDワークロードにおいて測定可能な高速化に反映されるか?
  • RQ3実際の環境でハッシュ局在化が過大推定誤差にどの程度影響を与えるか?
  • RQ4BCMSにおける更新処理の均等化I/Oコストは、外部メモリモデルにおいてO(r)より著しく低いか?
  • RQ5実世界のワークロード下でも、BCMSは元のカウントミンスケッチと同等の誤差確率および過大推定バウンドを維持できるか?

主な発見

  • バッファドカウントミンスケッチは、SSD上での元のカウントミンスケッチに比べ、スケッチサイズがメインメモリを超えて拡大するに従い、挿入処理のスループットが3.7×–4.7×向上する。
  • BCMSの照会処理スループットは、元のカウントミンスケッチに比べ4.3倍高速であり、1回の照会で1回のI/Oに抑えられるのに対し、元の方法では最大r回のI/Oが必要だったためである。
  • 全テストスケッチサイズにおいて、元のカウントミンスケッチとBCMSの平均および最大の過大推定値は同一であり、誤差品質に劣化がないことが確認された。
  • 理論的I/O複雑度は、照会処理で最悪ケースにおいてO(r)から1に低減され、更新処理ではkwr/Mの均等化I/Oに低減され、実際にはしばしば1未塔の値を示す。
  • 経験的結果により、ハッシュ局在化が誤差率を著しく低下させないことが確認された。過大推定値は、元のCMSの理論的バウンド内に保たれた。
  • BCMSの設計は、照会処理において最適なI/O動作を達成し、更新処理においてはほぼ最適な均等化I/Oを達成しており、SSD上での強力な実用的効率性を示唆している。

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

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

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

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