Im großen Maßstab wird der Durchsatz weniger durch die Anzahl der CPUs begrenzt als durch Contention, Cache-Effekte und unbegrenzte Warteschlangen — Threads über einen Punkt hinaus hinzuzufügen macht die Dinge langsamer. Amdahls Gesetz und das Universal Scalability Law sagen beide dies voraus: Koordinationskosten dominieren irgendwann.
Contention
Wenn viele Threads um ein Lock oder eine Cache-Line kämpfen, serialisieren sie sich und verbringen Zeit mit Warten statt mit Arbeiten. Nach dem Universal Scalability Law können Contention plus den Durchsatz jenseits einer optimalen Thread-Zahl sogar lassen.
