Processor Affinity (プロセッサ・アフィニティ、プロセッサ親和性) †
プロセッサ・アフィニティは、以下の2通りあります。
- ソフトアフィニティ
ソフトアフィニティは、同一条件のスレッドやプロセスを生成する場合、なるべく同じプロセッサを使用するようスケジューリングします。同じプロセッサを使用することで、L2 cache や memory access (NUMA) を有効に利用することが出来、パフォーマンスの向上に繋がります。
- ハードアフィニティ
ハードアフィニティは、プロセスやスレッドに対して能動的に特定のプロセッサを割り当てる事が出来ます。複数の特殊な処理を特定のプロセスに割り当てる事で効率の良いスケジューリングを行う事を可能にします。ただし多くの場合はハードアフィニティによる独自のスケジューリングより OS のスケジューラーにプロセッサ割り当てを管理させた方が良いパフォーマンスを叩き出すことが殆どのようです。
関連情報 †