Slide 12
Slide 12 text
03. 衝突の処理
Iceberg hashing(ハイブリッド系)
・hash値は個別のスロットではなく、
あるサイズをもったバケットを指定する
※他の手法でもよく使われる。キャッシュによかったり
・3レベルのバケットと3つのハッシュ関数
(h0, h1, h2)を組み合わせる
Prashant Pandey, Michael A. Bender, Alex Conway, Martin Farach-Colton, William Kuszmaul, Guido Tagliavini, and
Rob Johnson. 2022. IcebergHT: High Performance Hash Tables Through Stability and Low Associativity.
・h0(x)を計算し、Level1バケットが空いていれば格納
・Level1 が満杯であれば、h1とh2でLevel2バケットを
2つ選び、より空いている方に格納(偏りが減る)
・Level2 バケットが両方とも満杯であれば
チェイン法によるLevel3バケットに格納
12