研究実績の概要 |
(1) 昨年度まで行ってきた, locally parsableという性質(冗長な計算をすることなく並列に構文解析を行える性質)を持つ, 演算子優先度文法(の一部のクラス)に対する並列構文解析と, その前段である並列字句解析に関する研究を進め, 国際会議IPDPSにて採択され, 発表を行った. (2) 並列字句解析(または正規表現マッチング)では, 入力の途中から解析を始める必要があり, その時のオートマトンの状態がわからないという問題がある. これについて可能性の高い入力を予想するという方法と, すべての状態からの状態遷移を追うという方法がある. 後者について, それを状態遷移グラフの変形によって, 1状態からの状態遷移を追うのと同じコストで行える方法(Simultaneous Finite State Automaton)という方法があるが, 変形後のグラフが巨大になり実用的ではなかったが, この構築を, 入力を読みながら実行時に, 必要な部分だけ行うことで解決し, 良好な実行性能, スケーラビリティを得られることが確認できた. (3) (2)と並行して複数の状態からの遷移をSIMD命令を用いて高速に追う方式についても, 様々な方式, 命令間の利害特質を比較, 検討している. (4) データ抽出のための字句解析では, 入力の部分を読み飛ばすことになるがこの部分にSIMD命令を有効活用して加速する手法について研究を進めている. JSONデータの一部に対するパターンマッチングタスクに対して, 既存の高速なJSONパーザに対して数倍の高速化を達成することができている. それとともに, データ抽出のためのツールとしてデータ抽出のための構文, クエリ言語との統合などを進めている. (2)-(4)の成果について今後論文として成果発表をする予定である.
|