本研究では「投機実行機構(スペキュレーション)」を導入することにより分散トランザクションの実行性能(スループット、レスポンスタイム)を大幅に改善することを目的とする。 通常の2相コミットプロトコルでは、コーディネータから参加全ノードに対して、プリペアメッセージを送信し、その後、全ノードからの返答を基にグローバルなコミットあるいはアボートを決定する。参加ノードの増加により、又、通信レイテンシーの増加に伴いこのオーバヘッドは極めて大きくなることから、投機実行モードを導入した。通常のロッキングプロトコルでは、共有ロック、専有ロックによりread/writeの制御を行うが、投機ロックプロトコルでは、これに加えて投機ロックなる新たなモードを導入する。投機ロックプロトコルでは、投機的実行時のCPUならびにメモリ使用量が、ロック競合が生ずる割合が増加するにつれて、大きく増大する。 昨年度に引続き、投機実行機構を導入したプロトコルの設計および投機的実行の実装方式の検討のため、シミュレーションによる性能検証を行った。昨年度は、無限資源環境下に於ける投機的分散トランザクションプロトコルをシミュレーションを用いて行い、CPUならびにメモリ資源および投機実行数は無限に与えられるものと仮定した実験を行ない、性能向上率の上限を明らかにした。本年度は、メモリ資源および並行トランザクション数の上限を設け、各トランザクションのアクセスするリモートデータアイテム数、アクセス分布、トランザクション実行時間、トランザクション発生率、ネットワーク遅延、ノード数などを変化させて、シミュレーションを行なった。この結果、メモリ資源、並行トランザクション数の上限を設けた場合でも、無限資源環境下の結果と比較して、遜色のない性能が得られることを確認した。
|