定期的に(1秒または2秒ごとに)自分自身をフォークしてチェックポイントを取得するアプリケーションがあります。したがって、チェックポイントは元のプロセスのフォークであり、元のプロセスでエラーが発生したときに開始を求められるまでアイドル状態のままになります。
さて、私の質問は、フォークのコピーオンライトメカニズムにどれほどの費用がかかるかということです。コピーオンライトメカニズムにより、元のプロセスに確実にチェックポイントとは異なる物理ページ。
私の意見では、割り込みが発生すると、ページフォールトトラップのオーバーヘッドが非常に高くなる可能性があります。ユーザースペースランドからカーネルスペースランドに移動してから、カーネルからユーザースペースに戻ります。このようなページフォールトトラップから何CPUサイクルを失う可能性がありますか。RAMが十分に大きく、ハードディスクにスワップする必要がないと仮定します。
これよりも効率的なチェックポインティングスキームを想像するのは難しいことを私は知っているので、ページトラップ障害のオーバーヘッドについて心配している理由を言うことができますが、このスキームにはどれくらいのコストがかかるかを知ってもらいたいだけです。