以下は JE2BWM ほかが作成した翻訳 です。 原文は University of California より GFDL で配付されており、 この翻訳も GFDL に従います。
原文: CPU scheduling in Version 4+   (翻訳対象の更新日付は 4:59 PM UTC, June 02 2005 です)。

バージョン4+ での CPU スケジューリング

boinc.gif
(英語のみ)

タイム・スライシング

バージョン4から、BOINCのコア・クライアントは、 タイム・スライシングを実施するようになりました。 コア・クライアントが何をするのかというと、 異なるプロジェクトのリザルト計算の間を行ったり来たりするのです。 参加者が個々のプロジェクトに割り当てた「資源占有率」(resource shares) に従ってCPU時間が割り当たるように、切替えを行います。 例を挙げましょう。 SETI@homeに資源占有率 100、 Predictor@home に資源占有率 200 で参加していたとします。 プロセッサーが1つの計算機では、下の例のようなスケジューリングがおこります。

1:00 - 2:00: SETI@home
2:00 - 3:00: Predictor@home
3:00 - 4:00: Predictor@home
4:00 - 5:00: SETI@home
5:00 - 6:00: Predictor@home
6:00 - 7:00: Predictor@home
...
プロセッサーが2つあるマシンだったら、下のような例がありうるでしょう。
             CPU 0             CPU 1
1:00 - 2:00: Predictor@home    SETI@home
2:00 - 3:00: Predictor@home    SETI@home
3:00 - 4:00: Predictor@home    Predictor@home
4:00 - 5:00: Predictor@home    SETI@home
5:00 - 6:00: Predictor@home    SETI@home
6:00 - 7:00: Predictor@home    Predictor@home
3時間ごとにみると、この計算機は Predictor@homeに4時間のCPU時間を 割り当て、2時間を SETI@home に割り当てています。 この比率は 指定した望ましい比になっています。

この機能を必要とするプロジェクトの例として、 Climateprediction.net, を挙げることができます。 このプロジェクトのワークユニットを1つ計算完了するには、 典型的な計算機では、長い時間 (1〜2ヶ月)がかかります。 タイムスライシングのしくみがないと、別のプロジェクトのワークユニットの 計算を始める前に、[長い時間がかかる]ワークユニットを まるまる1つ終わらせなければならなくなるでしょう。

計算の中断(プリエンプション)

BOINCがアプリケーションをあちらからこちらへと切替えるとき、 もともと走っていたアプリケーションは、中断された/preempted と言います。 BOINCは以下の2つのやり方のどちらかで、 中断を行うことができます。 General プレファレンスの中で、 どちらの中断の仕方を使うかを指定することができます。


BOINCの訳のメインページに戻る | (原文のメインページに戻る)
 

最終更新時刻 00:47:51, 2006年08月12日(JST)
Copyright © 2010 University of California. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.
Copyright © 2010 Komori Hitoshi(je2bwm at jarl.com). Japanese translation from English web pages on BOINC. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.