lynx007 schrieb:
und die verteilung der physichen Slice steht in abhängkeit der signallaufzeit?
Die Verteilung der Adressen auf die Cache-Slices erfolgt nur aufgrund der Adresse. Die Signallaufzeit haengt ja davon ab, welcher Kern auf die Adresse zugreifen will.
was aber wen prozesse kookurieren oder sich stören?
Wenn zuviele Kerne gleichzeitig auf Adressen im selben cache-slice zugreifen wollen, muessen wohl Zugriffe warten (also hoehere Latenz). Allgemeiner: Wenn zuviele Kerne gleichzeitig L2-cache misses haben (selbst wenn sie auf verschiedene Slices zugreifen wollen), gibt's einen Stau auf dem Ringbus, wie auch auf einer Stadtautobahn zur Stosszeit, obwohl die meisten Autos verschiedene Ausgangsorte und verschiedene Ziele haben.
insbesondere wen es von einander abhängie Prozesse sind?
Ob die Prozesse, die durch die hoeheren Latenzen langsamer werden, voneinander abhaengig oder unabhaengig sind, macht nicht viel aus. Aber es kann helfen, wenn die Prozesse auf dem selben Kern laufen, dann findet der abhaengige Prozess die Daten hoffentlich im L2-cache, und braucht in dem Fall gar nicht auf den L3 zugreifen. Nachteil, wenn beide Prozesse gleichzeitig laufen koennten: sie laufen (ohne SMT) abwechselnd, oder (mit SMT) muessen sich Hardware-Resourcen teilen. Also wenn die beide gleichzeitig laufen koennen, viel CPU brauchen, und wenig Daten austauschen, ist es sinnvoller, wenn sie auf verschiedenen Kernen laufen.
Bei den E-Kernen teilen sich 4 denselben L2-cache, da koennten die beiden Prozesse auf zwei E-Kernen desselben Clusters laufen, und brauchen keinen L3-cache, um miteinander zu kommunizieren. Jemand hat hier gepostet, dass Intel bei Nova Lake auch solche Cluster aus 2 P-Kernen haben wird, dann entsprechend auch da.
Aber ich habe glaube auch gelernt, wen 2 prozesse auf den gleichen speiche rzugreifen wollen, ist das schnell schlecht... wie stelle ich die integrität sicher. Das zeitkritsch?
Dazu kannst Du Dir viel ueber "concurrent computing" anschauen. Ja, Programmierer muessen sicherstellen, dass die Daten richtig bearbeitet werden, und die Architektur gibt gewisse Garantien dafuer, was die Hardware da tut. Und ja, dabei gibt es auch Faelle, wo gleichzeitige Zugriffe auf den selben Speicher zum Performance-Problem werden, und dann gibt es Moeglichkeiten, damit umzugehen.
Bin gespannt wie gut es sich in der Praxis schlägt.
Wie sich Intel's L3-Konzept in der Praxis schlaegt, siehst Du bei ihren Prozessoren seit vielen Jahren, und es gibt auch Leute, die das gemessen und die Messwerte veroeffentlicht haben.