| 近年,CPUと主記憶アクセスの性能乖離により,CPUキャッシュミスが性能低下を引き起こすことが明らかになりつつある.命令キャッシュミスが生じる一原因に,RDBMS内のオペレータ群の合計フットプリントがL1命令キャッシュに収まらないことがある.これを改善すべくZhouらはオペレータ実行順序を変更するバッファリングオペレータを提案した.
同技法によりRDBMS の性能は向上するが,一方で,性能劣化を招くケースも確認された.そして,Zhouらはバッファリングオペレータが有利・あるいは不利に働く条件を明らかにはしていない.従って,Zhouらの技法のみではRDBMSの性能を現実的に向上させられない.
そこで, バッファリングオペレータを実用段階に引き上げるため,
バッファリングオペレータを使用可能な最適化
CC-Optimizer: キャッシュを考慮した問合せ最適化器
の開発を提案する.
現時点までに開発したCC-Optimizerを用いて,Zhou らと同様PostgreSQL上で実験を行った結果,は,OSDL DBT-3 において最大32.3%, 全体でも6%もの大幅な性能改善を見せた.だが,既存のCC-Optimizerでは1アーキテクチャという極めて限定的な状況にしか適用できない.
そこで,本プロジェクトを通して,更に3つ課題 (1)キャッシュミス回数に基づく,より正確な適用アルゴリズムの新規提案, (2)複数アーキテクチャ・コンパイラへの対応, (3)PostgreSQL最新版への対応 を達成し,CC-Optimizerをオープンソースとして公開したい.
この開発はPostgreSQLに大幅な性能向上をもたらすと共に,RDBMSへの命令キャッシュミス改善技法の実用化において先駆的であり,データキャッシュコストの削減が研究の主流である中で,学術的にも大きな意味を持つものである.
|