マルチプロセッシング

どの時点においても、シングル・プロセッサー・チップが作動可能な速度には技術的な制限があります。 システムのワークロードをシングル・プロセッサーでは十分に処理できない場合、1 つの答えは、 その問題に複数のプロセッサーを適用することです。

この答えが成功するかどうかは、システムの設計者のスキルだけでなく、 ワークロードがマルチプロセッシングに適しているかどうかにも左右されます。 人が行う作業に置き換えてみると、人数を追加することは、その作業がフリーダイヤル番号の呼び出しに応答することであれば、 よいアイデアといえるかもしれませんが、車を運転するといった作業の場合は、効果は疑わしいものです。

ユニプロセッサーからマルチプロセッサー・システムへの移行計画の目標がパフォーマンスの向上にある場合は、以下の条件が当てはまらなければなりません。

  • ワークロードが使用するプロセッサーが限定され、そのユニプロセッサー・システムが飽和状態にある。
  • ワークロードが、トランザクションや複雑な計算など、プロセッサーを集中的に使用する複数のエレメントを含み、 それらが同時に、または独立して実行できる。
  • 既存のユニプロセッサーをアップグレードすることも、 適切な能力のある別のユニプロセッサーに取り替えることもできない。

未変更の単一スレッド・アプリケーションは、通常マルチプロセッサー環境でも正しく機能しますが、 そのパフォーマンスは予期しない変化を示すことがよくあります。 マルチプロセッサーへの移行により、システムのスループットが改善され、 複雑なマルチスレッド・アプリケーションの実行時間も改善されますが、 個々の単一スレッド・コマンドの応答時間が改善されることはまずありません。

マルチプロセッサー・システムから可能な最高のパフォーマンスを得るには、 マルチプロセッサー環境に固有のオペレーティング・システムとハードウェア実行のダイナミックスについて理解しておく必要があります。