100台以上の要素プロセッサを持つ超並列システムが実用マシンとして多種類販売されるようになり、それに対応し、それらのマシン上で実行される並列プログラムも、長時間の安定した連続運転を要求する実用レベルの大規模なものに変わりつつあり、超並列システムの耐故障化の要求は非常に大きくなっている。コストの面から、専用のハードウェアやオペレーティングシステムを想定せず、並列ソフトウェアによって要素プロセッサの故障をマスクする方法は魅力がある。つまり、要素プロセッサが故障した場合には、その故障をソフトウェアで検出し、そのプロセッサを用いないで故障していないプロセッサだけでプログラムを続行させるような機構を並列ソフトウェアに持たせるわけである。ただし、その場合に、個々のプログラマが耐故障を前提に並列プログラムを作成することは、プログラマへの負担が大きくなり過ぎる。 そこで、並列プログラムを自動変換することにより、要素プロセッサの故障をマスクする耐故障並列ソフトウェアを実現する方法を提案しその結果を示した。耐故障化のアプローチとしては、要素プロセッサをグル-ピングして、グループ単位でプライマリとバックアップの複数のレプリカを並行して走らせ、ソフトウェアによる故障検出後、プライマリとバックアップの内のどれかを切替える方法を取った。自動変換では、レプリカを複数作る部分、故障を検出する部分、プライマリとバックアップ間で通信し合う部分を元の並列プログラムに加えることになり、耐故障化したことにより本来のプログラムの性能が低下することを避けられない。そこで、このようなアプローチでは、実際にどの程度低下するのかをシステム構成を変化させながら考察した。
|