4Dと Windows のプロセッサアフィニティ
日付 | 2007/06/11 |
---|---|
ID | 46172 (英語原文参照) |
バージョン | 2004 |
プラットフォーム | Win |
この記事は、最新ではないバージョンに関連した方法について解説しています。
最新のバージョンでは推奨されていないか、または他の方法で簡単に実現できる可能性があります。
マルチプロセッサの Windows PC では、特定のアプリケーションに対してプロセッサアフィニティを設定する事ができます。オペレーティングシステムはプロセッサアフィニティで指定されたプロセッサに、アプリケーションを割り付けます。アプリケーションが動作するプロセッサが特定される事で、プロセッサ内のキャッシュが有効に働くことが期待できます。
ところがプロセッサアフィニティの設定によっては潜在的な衝突を生む可能性があります。対称型マルチプロセッサ(SMP)非対応のアプリケーションの場合、キャッシュが異なる複数のプロセッサに割り当てることは、速度の低下を招くことになります。SMP非対応のアプリケーションがマルチプロセッサを利用しようとするとき、遅かったり停止してしまったようになるのは、スケジューリングアルゴリズムが最良の方法を整理するまでに時間がかかるからです。
4DはSMP非対応なので、4Dに1つのプロセッサを割り当てるハードプロセッサアフィニティが働くかもしれません。その場合、4Dはシングルプロセッサで動作することになります。Windowsでは、次の方法でプロセッサアフィにティを4Dに対して設定できます。
- 4Dを起動する
- タスクマネージャを起動する
- タスクマネージャ上の4Dを右クリックで選択しコンテキストメニューから「関係の設定」を選択する
- プロセッサの関係ダイアログで動作するプロセッサを指定する
- OKボタンを押し設定する
この設定により、4Dは指定されたプロセッサでのみ動作するようになります。