Skip to main content
QUICK REVIEW

[論文レビュー] Perfect Consistent Hashing

M Sackman|arXiv (Cornell University)|Mar 17, 2015
Algorithms and Data Compression参考文献 6被引用数 5
ひとこと要約

本稿では、円上へのランダム配置の代わりに、置換のユニバーサルサイクルを用いることで、追加または削除時の正確な均一性と最小限の再マッピングを達成する決定的で完全な一致ハッシュアルゴリズムを提示する。古典的手法とは異なり、確率的仮定に依存せず、近似的に均一性を達成するのではなく、組合せ的置換生成によって正確な分布を保証する。その代償として計算コストが高くなるが、完全な正しさと決定的性質を有する。

ABSTRACT

Consistent Hashing functions are widely used for load balancing across a variety of applications. However, the original presentation and typical implementations of Consistent Hashing rely on randomised allocation of hash codes to keys which results in a flawed and approximately-uniform allocation of keys to hash codes. We analyse the desired properties and present an algorithm that perfectly achieves them without resorting to any random distributions. The algorithm is simple and adds to our understanding of what is necessary to create a consistent hash function.

研究の動機と目的

  • 古典的手法に内在する欠陥、すなわちランダムなハッシュコード配置に依存し、均一性を近似的に達成するという点を是正すること。
  • ハッシュコードの追加または削除時にも完全な均一性を達成する決定的アルゴリズムの開発。
  • 既存のマッピングを変更せずに、新たに追加または削除されたハッシュコードに割り当てられていたキーのみを再配置する、最小限の再マッピングを保証すること。
  • ランダム分布への依存を排除しつつ、一貫ハッシュのコア特性(決定的性質、均一性、最小限の再マッピング)を維持すること。
  • 数学的に厳密な代替手法を提供し、正当性を証明可能にし、理論的理解を向上させること。

提案手法

  • 古典的手法の円形ハッシュ空間を、短縮表記置換のユニバーサルサイクルを用いた置換ベースの構成に置き換える。
  • キーのエントロピーをモジュロ算術と事前に定義されたハッシュコード列を用いて再帰的に分割することで、各キーに対して完全なハッシュコードの置換を生成する。
  • 新しいハッシュコードが追加された場合、各既存のハッシュコードがそのキーの 1/|C′| を新しいコードに割り当てるよう保証され、均一性が維持される。
  • キーを消費する過程で置換を動的に構築することで、完全な木構造の保存を回避し、メモリオーバーヘッドを低減する。
  • 階乗数体系による決定的マッピングにより、キー値から置換へと変換され、キーのエントロピーが十分であればすべての可能な置換に到達可能である。
  • ハッシュコードの挿入および削除の両方を正確に再分散可能にし、既存のキーのマッピングを変更せずに均一性を維持する。

実験結果

リサーチクエスチョン

  • RQ1ランダム分布に依存せずに、完全な均一性を達成する一貫ハッシュは可能か?
  • RQ2ハッシュコードの追加・削除時に再マッピング特性を正確に保持する方法は何か?
  • RQ3ハッシュコード集合の変更に伴う決定的かつ均一なキー再配分を可能にする組合せ的構造は何か?
  • RQ4古典的手法の統計的近似を回避できる一貫ハッシュ関数を構築することは可能か?
  • RQ5完全な一貫性を達成するための計算コストは何か。また、段階的構築によってこれを軽減できるか?

主な発見

  • 提案手法は完全な均一性を達成する:任意のキーについて、追加または削除の後でも、ハッシュコードへのマッピング確率は正確に 1/|C| である。
  • 最小限の再マッピングが保証される:新たに追加または削除されたハッシュコードに割り当てられていたキーのみが再配置され、他のマッピングには影響がない。
  • 平均時間計算量は、完全な置換を生成する場合に O(|C| log |C|)、1つの結果を生成する場合に O(|C|) であり、古典的手法の O(log |C|) よりも高い。
  • キーを消費する過程で置換を動的に生成することで、すべてのハッシュコードの位置をメモリに保持する必要がなくなり、メモリ使用量が削減される。
  • キーのエントロピーに敏感である:キー空間のエントロピーが不足している場合、すべての置換に到達できず、一部のハッシュコードが置換の先頭に現れない可能性がある。
  • 分散システムにおける実用的応用が可能である。ノードの読み書き操作における決定的かつ予測可能な順序付けが可能となり、ホットキーのシナリオにおける負荷分散とレイテンシの改善に寄与する。

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

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

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

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