マルチコアプロセッサによるXMLクエリの並列化

豊永 翔 (1051074)


 並列コンピュータは従来, 複数のプロセッサを結合したマルチプロセッサや, 複数のPCを結合したPCクラスタが主流だったが, 最近では1チップに複数のプロセッサコアを搭載したマルチコアプロセッサが普及しており, 並列コンピュータが身近な存在になっている. マルチコアプロセッサでは, コア数に応じて計算処理を高速化することが可能である. 一方で, XML(Extensible Markup Language)は, データ構造を記述する言語で, ソフトウェア間の通信・情報交換等に用いられている. データをXMLを用いて保存するXMLデータベースは, アプリケーションの開発とデータベース設計を並行して行える柔軟性を備えている. しかし, XMLドキュメントは構造上サイズが大きいため, リレーショナルデータベースと比べデータを取り出す際にかかるCPUへの負荷は大きくなる.
 本研究では, XMLデータベースからデータを探索するクエリ操作をマルチコアプロセッサを用いて効率的に並列計算するアルゴリズムを提案し, 実装した. クエリ操作の並列化の際, XMLドキュメントに対し各コアが探索する部分が均等に分かれるようアルゴリズムを工夫した. その結果, 扱うXMLドキュメントによっては既存のアルゴリズムよりも高速な並列計算が実現した. また, 考察によって実装面での課題があることが分かった.