[論文レビュー] ERA: Efficient Serial and Parallel Suffix Tree Construction for Very Long Strings
この論文では、I/Oを最小限に抑え、メモリ使用を最適化するため、垂直的および水平的動的パーティショニングを用いた、ディスクベースのサフィックスツリー構築アルゴリズムERaを提案する。標準の8コアデスクトップPC(16GB RAM)でヒトゲノムの構築を20分未満で完了し、従来の方法が数千コアのスーパーコンピュータを必要としていたのを上回る性能を達成した。
The suffix tree is a data structure for indexing strings. It is used in a variety of applications such as bioinformatics, time series analysis, clustering, text editing and data compression. However, when the string and the resulting suffix tree are too large to fit into the main memory, most existing construction algorithms become very inefficient. This paper presents a disk-based suffix tree construction method, called Elastic Range (ERa), which works efficiently with very long strings that are much larger than the available memory. ERa partitions the tree construction process horizontally and vertically and minimizes I/Os by dynamically adjusting the horizontal partitions independently for each vertical partition, based on the evolving shape of the tree and the available memory. Where appropriate, ERa also groups vertical partitions together to amortize the I/O cost. We developed a serial version; a parallel version for shared-memory and shared-disk multi-core systems; and a parallel version for shared-nothing architectures. ERa indexes the entire human genome in 19 minutes on an ordinary desktop computer. For comparison, the fastest existing method needs 15 minutes using 1024 CPUs on an IBM BlueGene supercomputer.
研究の動機と目的
- 主記憶容量を超える非常に長い文字列を処理する際、従来のサフィックスツリー構築アルゴリズムの非効率性を解消すること。
- I/O操作を最小限に抑え、木構造の変化と利用可能なメモリに動的に適応する手法を設計すること。
- コンmodityハードウェア、特に共有メモリ、共有ディスク、共有ノットクラスタアーキテクチャを含む、シリアルおよび並列のサフィックスツリー構築を効率的に行えるようにすること。
- ヒトゲノムや金融時系列データなどの実世界の大規模データセットにおいて、高いパフォーマンスを発揮すること。
提案手法
- ERaは、サフィックスツリー構築プロセスを、主記憶に収まる十分に小さな独立した部分木に垂直に分割する。
- 各部分木をさらに、入力文字列の単一の順方向スキャンで処理可能なパーティションに水平に分割する。
- 木構造の進化と利用可能なメモリに応じて、水平パーティションのサイズを動的に調整し、メモリの利用効率を最大化する。
- 垂直パーティションをまとめてグループ化することで、複数の部分木にわたるI/Oコストを均等化する。
- シリアル実行および共有メモリ、共有ディスク、共有ノットクラスタを含む複数の並列アーキテクチャをサポートする。
- 現代のディスクではランダムI/Oよりもはるかに高速な順方向I/Oアクセスを入力文字列に使用する。
実験結果
リサーチクエスチョン
- RQ1主記憶容量を超える非常に長い文字列のサフィックスツリー構築を、主記憶に収まらない場合でも効率的に行えるか。
- RQ2ディスクベースのサフィックスツリー構築において、I/Oオーバーヘッドを最小限に抑えつつ、高いメモリ利用効率を維持できるか。
- RQ3同一のアルゴリズムが、デスクトップからクラスタまで多様なアーキテクチャにおいて、シリアルおよび並列実行を効率的にサポートできるか。
- RQ4従来の手法と比較して、文字列長およびアルファベットサイズの増加に伴い、このアルゴリズムはどのようにスケーリングするか。
- RQ5動的パーティショニングとI/O均等化は、ヒトゲノムのような実世界のデータセットにおいて、性能向上にどの程度寄与するか。
主な発見
- ERaは、通常の8コアデスクトップPC(16GB RAM)でヒトゲノムの完全なサフィックスツリーを19分で構築し、従来の方法がスーパーコンピュータを必要としていたのを上回る。
- 16ノードのクラスタ(ノード1台あたり4GB RAM)で、ERaは8.3分で構築を完了し、このタスクで報告された最速の時間である。
- 従来のシリアルアルゴリズムと比較して、少なくとも50%速く、非常に長い文字列や大きなアルファベットサイズの場合はさらに顕著な向上を示した。
- 共有ノットクラスタでは、4096MBpsの入力サイズにおいて、WaveFrontと比較して2.5倍の性能向上を示し、性能低下の割合もはるかに低い。
- 共有メモリ環境およびクラスタ環境において、ほぼ最適なスケーリングが達成されており、優れた負荷分散とスケーラビリティを示している。
- ERaは垂直パーティションのグループ化と動的水平パーティショニングによりI/Oコストを均等化し、従来の手法と比較して、ディスクI/Oのオーバーヘッドを顕著に低減した。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。