Skip to main content
QUICK REVIEW

[論文レビュー] PHOBIC: Perfect Hashing With Optimized Bucket Sizes and Interleaved Coding

Stefan Hermann, Hans‐Peter Lehmann|arXiv (Cornell University)|Jan 1, 2024
Algorithms and Data Compression被引用数 2
ひとこと要約

PHOBICは、PTHashに基づく最小完全ハッシュ関数の空間効率と構築速度を向上させるために、最適化されたバケットサイズ分布とインタリーブドコーディングを導入する。期待されるバケットサイズの最適分布を特定し、パーティション間でシードを統計的に均等にインタリーブドに符号化することで、同等のクエリ速度を維持しながら、PTHashに比べて0.17ビット/キーの空間効率を向上させ、構築速度は最大83倍に向上。GPUアクセラレーションにより、1.76ビット/キーの空間効率で28ナノ秒/キーの構築速度を達成する。

ABSTRACT

A minimal perfect hash function (MPHF) maps a set of n keys to {1, ..., n} without collisions. Such functions find widespread application e.g. in bioinformatics and databases. In this paper we revisit PTHash - a construction technique particularly designed for fast queries. PTHash distributes the input keys into small buckets and, for each bucket, it searches for a hash function seed that places its keys in the output domain without collisions. The collection of all seeds is then stored in a compressed way. Since the first buckets are easier to place, buckets are considered in non-increasing order of size. Additionally, PTHash heuristically produces an imbalanced distribution of bucket sizes by distributing 60% of the keys into 30% of the buckets. Our main contribution is to characterize, up to lower order terms, an optimal distribution of expected bucket sizes. We arrive at a simple, closed form solution which improves construction throughput for space efficient configurations in practice. Our second contribution is a novel encoding scheme for the seeds. We split the keys into partitions. Within each partition, we run the bucket distribution and search step. We then store the seeds in an interleaved way by consecutively placing the seeds for the i-th buckets from all partitions. The seeds for the i-th bucket of each partition follow the same statistical distribution. This allows us to tune a compressor for each bucket. Hence, we call our technique PHOBIC - Perfect Hashing with Optimized Bucket sizes and Interleaved Coding. Compared to PTHash, PHOBIC is 0.17 bits/key more space efficient for same query time and construction throughput. We also contribute a GPU implementation to further accelerate MPHF construction. For a configuration with fast queries, PHOBIC-GPU can construct a perfect hash function at 2.17 bits/key in 28 ns per key, which can be queried in 37 ns on the CPU.

研究の動機と目的

  • クエリ速度を維持したまま、PTHashに基づく最小完全ハッシュ関数の空間効率と構築速度を向上させること。
  • 構築時間と空間使用量を最小化するため、下位の項まで含めた期待されるバケットサイズの最適分布を特定すること。
  • パーティションベースのインタリーブド方式により、効率的な圧縮を可能にするハッシュ関数シードの新しい符号化方式を設計すること。
  • さらなるパフォーマンス向上を図るため、GPUアクセラレーテッド構築パイプラインの実装と評価を行うこと。
  • 提案手法が、既存の最先端MPHF実装と比較して優れた空間-時間トレードオフを達成することを示すこと。

提案手法

  • 論文は、構築コストを最小化する閉形式の最適期待バケットサイズ分布を導出しており、PTHashのアンバランス戦略を論理的結論まで押し進めている。
  • インタリーブドコーディングを導入:各パーティションのi番目のバケットからのシードを連続して格納することで、各バケットごとの均一な圧縮を可能にする。
  • 並列構築を可能にするためのパーティショニングを用い、バケット間の統計的類似性を保ったままシードを格納することで、効果的な圧縮を実現する。
  • 大規模なキーセットに対して特に有効な、シード特定フェーズのGPU実装を開発した。
  • 最適化されたバケットサイズとパーティショニング・インタリーブドシード符号化を組み合わせることで、圧縮効率の向上と構築時間の短縮を達成する。
  • 各バケットごとに調整可能な圧縮方式(例:Riceコーディング)を採用し、全体の空間効率を向上させる。

実験結果

リサーチクエスチョン

  • RQ1最小完全ハッシュ関数の構築コストを最小化するための、期待されるバケットサイズの最適分布は何か?(下位の項まで含めて)
  • RQ2パーティショニングされた構築を用いる場合、シード符号化をどのように再設計すれば圧縮効率を向上させられるか?
  • RQ3異なるパーティション間で同じ位置のバケットからのシードをインタリーブドに格納することで、より良い圧縮とより速い構築が達成できるか?
  • RQ4GPUアクセラレーションは、最小完全ハッシュ関数の構築スループットをどの程度向上させられるか?
  • RQ5提案手法は、既存の最先端MPHF技術と比較して、空間効率、構築時間、クエリ速度のどの点で優れているか?

主な発見

  • PHOBICは、クエリパフォーマンスを同等に保ったまま、PTHashに比べて0.17ビット/キーの空間効率を向上させた。
  • 1.86ビット/キーの設定でクエリ時間と同等の速度を維持した場合、PHOBICは元のPTHash実装に比べて83倍速い構築速度を達成した。
  • GPUアクセラレーテッドPHOBIC-GPUは、2.17ビット/キーの空間効率で1キーあたり28ナノ秒の構築時間を達成し、CPU上で1クエリあたり37ナノ秒のクエリ時間を記録した。
  • λ=9でインタリーブドRiceコーディングを用いた場合、PHOBIC-GPUはマルチスレッドCPUバージョンに比べて62倍の構築速度向上を達成した。
  • GPU構築のエネルギー消費量は、マルチスレッドCPU構築に比べて約30倍低く、ピーク段階で405W対195Wであった。
  • 空間効率が低いものの、SIMDRecSplitはPHOBICよりも速い構築を実現しており、設計選択のトレードオフを示している。

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

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

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

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