大規模では、スループットを制限するのはCPU数よりも、contention、キャッシュの影響、際限のないキューです。ある点を超えてスレッドを増やすと、かえって遅くなります。 Amdahlの法則もUniversal Scalability Lawも、これを予測します。すなわち、協調のコストがやがて支配的になります。
contention(競合)
多くのスレッドが1つのロックやキャッシュラインを奪い合うと、それらは直列化し、働く代わりに待つ時間を費やします。Universal Scalability Lawのもとでは、contentionにコヒーレンシコストが加わることで、最適なスレッド数を超えるとスループットが低下しうるのです。
: データのシャーディング/パーティショニング、スレッドごとの状態(thread-local、のようなストライプ化カウンタ)、read-writeロック、またはlock-freeな構造。
