高速並列sort アルゴリズム PARADIS の紹介
- 2. PARADISの特徴
• Parallel RADIx Sort の略
• 分類ではParallel in-place MSD radix sort
• 省メモリで高速に動作する
• スレッドレベルの並列化
• 投機的実行
• 似ているsort
• american flag sort
• Parallel LSD radix sort by Satish (SIGMOD 2010)
• Regions sort (SPAA 2019)
- 4. PARADIS アルゴリズム (2/2)
• 全部で4stepからなる
• Step 1 Build Histogram
• 各値がいくつあるかをカウントする.
• Step2 Partition Array
• 各値が入るべきバケットの開始位置と終了位置を求める.
• Step3 PARADIS_Permutate , PARADIS_Repair
• 各パーティションごとに現在の要素が正しい位置にあるかどうかをチェ
ックし、間違っていたら合っているところと入れ替える.
• 次のPARADIS_Permutateのためにソート済みでないデータを寄せる
• Step4 Recursion
• 下位の桁に対しても同様に適用する.
- 20. step 3-1 7/10
if k==i then のhead 更新後
head更新後
バケットがいっ
ぱいです
headが次のバケットへ
headが外に出たので次
のバケットへ