motul300 schrieb:
schnell sicher nicht sonst hätten sie es schon längst gemacht
da gabs aber bisher auch 0 Gründe dazu. Wenn man sowas durchzieht dann nur mit nem kompletten Neuanfang wo die ganze Plattform ink. Multi CPU Systeme drauf abgestimmt ist. Intel hat sich für die teure Variante entschieden und wollte gleich eine generelle Lösung für das Problem "Viele Kerne ansprechen und an Ram anbinden".
Intel wählte Mesh zusammen mit größeren Die, das quasi "endlos" auf einer Die skaliert - über mehrere Die mit QPI. AMD wählte als kleiner Player den anderen, für das Unternehmen absolut richtigen Ansatz "ein standard CCX", mehrere davon auf einer Die, diese "Standard Die" als kleinste Einheit um daraus auf einem Sockel verschiedene Ausbau Stufen anbieten zu können. Aber anders als bei Intel dann max 8 Die, = max 2 Sockel Systeme bei Epyc. Bei Intel sind es auch max 8 Die. Dann aber eben 28x8 Kerne und nicht "nur" 32x2.
Es geht im Prinzip immer darum die Kerne so schnell wie möglich an den Speicher anzubinden. Ringbus war eine Methode davon, die aber ab einer gewissen Kern Zahl nicht mehr gut funktioniert.
Ich weiß nicht genau wie der IF umgesetzt ist bei Epyc bzw AMDs Inter Die Kommunikation. Aber der Verdrahtung nach kann jeder mit jeder Die auf einem Interposer.
Das scheint mir ein gutes Bild dazu sein. Scheinbar hat jede ZEN Die die Möglichkeit 4 IF Gegenstellen zu koppeln. Auf einer Epyc CPU sind also immer drei dieser Kopplungen belegt (also verbindet jede Die mit jeder Die).
Ich würde annehmen dass bei einem "Multi Sockel" System mit 2x Epyc dann diese nun noch 4 verbleibenden IF Interconnects für die 4 Die der anderen CPU genutzt werden.
Im Prinzip muss ja jeder einzelne Kern dieses Komplettsystems auf jeden Ram Riegel zugreifen können, auch wenn der auf einer ganz anderen Die sitzt.
Die Latenz ist dabei folgend gestaffelt:
- am schnellsten ist es wenn es innerhalb einer CCX auf Speicher zugegriffen werden muss
- dann von innerhalb einer die auf die andere CCX zugegriffen werden muss (über den L3 on Die)
- dann über den Interposer und IF auf eine andere Die auf selbem Interposer (und da auch L3)
- dann von Interposer zu Interposer und dann nochmal über IF auf eine andere Die deselben Interposer.
Das Bild zeigt aber ganz klar das 8 Die im System das Limit sind. Aktuell zumindest. Ähnlich dürfte es bei QPI auch aussehen.
Edit: Hier sieht mans noch besser