P200 CPUのランキュー

 ランキュー(run queue)は、CPUによる処理を待っている実行可能スレッドのキューのこと。Solarisでは、ディスパッチャキュー(dispatcher queue)と呼ばれることが多い。
 マルチプロセッサシステムでは、カーネルは個々のCPUのためにランキューを提供しており、スレッドを同じランキューにキューイングし続けようとする。CPUはスレッドのデータをキャッシングしており、スレッドは同じCPUで実行され続ける可能性が高いということである。スレッドデータが格納されているキャッシュをウォーム度のあるキャッシュと呼び、特定のCPUを選ぼうとするアプローチをCPUアフィニティ(CPU affinity)と呼ぶ。CPUアフィニティは、キュー操作のためのスレッド同期(ミューテックスロック)のコストも取り除けれる戦略である。ランキューがグローバルですべてのCPUが同じランキューを共有することになれば、同期が必要になってスケーラビリティが大きく損なわれる。

詳解 システム・パフォーマンス

詳解 システム・パフォーマンス