Skip to main content
QUICK REVIEW

[論文レビュー] Parallel Ordered Sets Using Join

Guy E. Blelloch, Daniel Ferizovic|arXiv (Cornell University)|Feb 5, 2016
Logic, programming, and type systems参考文献 27被引用数 10
ひとこと要約

この論文は、AVL、赤黒木、重み付きバランス木、およびトレップスの4つのバランス化方式を用いて、一般化されたJoin操作を用いた、作業効率が高く並列性に優れた順序付き集合の実装フレームワークを提示する。著者らは、アダムズのJoinベースのアルゴリズムが最適な作業複雑性と多対数時間の深さを達成することを証明し、これらのアルゴリズムが漸近的に最適であり、かつ非常にスケーラブルであることを示している。歪んだ、重複が少ないデータ分布において、既存のライブラリを上回り、64コアで最大45倍の高速化を達成している。

ABSTRACT

The ordered set is one of the most important data type in both theoretical algorithm design and analysis and practical programming. In this paper we study the set operations on two ordered sets, including Union, Intersect and Difference, based on four types of balanced Binary Search Trees (BST) including AVL trees, red-black trees, weight balanced trees and treaps. We introduced only one subroutine Join that needs to be implemented differently for each balanced BST, and on top of which we can implement generic, simple and efficient parallel functions for ordered sets. We first prove the work-efficiency of these Join-based set functions using a generic proof working for all the four types of balanced BSTs. We also implemented and tested our algorithm on all the four balancing schemes. Interestingly the implementations on all four data structures and three set functions perform similarly in time and speedup (more than 45x on 64 cores). We also compare the performance of our implementation to other existing libraries and algorithms.

研究の動機と目的

  • アダムズのJoinベースのアルゴリズムが、複数のバランス木方式において作業最適であり、並列性に優れていることを証明すること。
  • 1つの木固有のJoin関数のみを必要とする汎用フレームワークを確立し、異なるバランス化方式間での再利用を可能にすること。
  • 本フレームワークの実用的性能を、特に歪んだデータ分布下での現代のマルチコアシステム上で評価すること。
  • 本実装を、STL、MCSTL、およびWBBツリー実装といった既存のライブラリと、逐次的および並列的設定の両方で比較すること。

提案手法

  • 著者らは、異なる木の種類においてもバランスと作業効率を維持するためのランクに基づく不変式システムを定義する。
  • Joinのコストが入力木のランクの差に比例すること、および出力ランクが大きい入力ランクの定数倍で抑えられることを証明する。
  • フレームワークは、すべての他の操作(和集合、共通集合、差集合、分割)を、Joinと並列合成を再帰的に用いて実装する、1つの汎用Join関数をコアプリミティブとして使用する。
  • 実装は4つのバランス化方式(AVL、赤黒木、重み付きバランス木、トレップス)を対象とし、Joinを除くすべてのコードが方式間で汎用的である。
  • 性能評価は、均一分布およびガウス分布のデータ分布(変動あり)とコア数(最大64)を変化させた上で、STL、MCSTL、WBBツリー実装と比較して実施される。
  • 分析には、作業最適性の理論的証明と、実ハードウェア上でのスループットとスケーリングの実験的評価が含まれる。

実験結果

リサーチクエスチョン

  • RQ1アダムズのJoinベースのアルゴリズムは、複数のバランス木方式において作業最適であり、並列性に優れているか?
  • RQ21つのJoin関数に基づく汎用フレームワークは、異なるバランス化方式において最適な作業複雑性と多対数時間の深さを達成できるか?
  • RQ3本フレームワークの性能は、重複度が異なるデータ(STL、MCSTL、WBBツリー)に対して、既存のライブラリと比較してどうなるか?
  • RQ4本フレームワークは、重複が少ないデータ分布において、適応的動作を示し、性能が向上するか?
  • RQ5本フレームワークは、現代のマルチコアシステムにおいて、実際にどの程度の並列スケーラビリティを示すか?

主な発見

  • 提案されたJoinベースのアルゴリズムは、AVL、赤黒木、重み付きバランス木、およびトレップスの4つのバランス化方式において、作業最適であり、多対数時間の深さを達成することが証明された。
  • フレームワークは64コアで45倍の高速化を達成し、強力な並列スケーリングを示している。
  • 1億要素のマップにおける逐次的和集合処理において、STLの赤黒木よりも3倍速い。
  • 重複が少ないデータ(平均0と1、σ=1/16のガウス分布)では、MCSTLとWBBツリー実装を上回っている。これは、不一致集合に対して適応的性能を示すためである。
  • MCSTLは16コアを超えると並列性が著しく低下するが、本フレームワークとWBBツリーは強力なスケーリングを維持しており、重複が少ないデータでは本手法が著しく速い。
  • 歪んだデータにおける本フレームワークの性能優位性は、処理対象のノード数が少ないことに起因する。重複が少ないほど、変更されない部分木が増えていき、Join操作の回数も減少するためである。

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

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

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

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