badb100d schrieb:
Größeren caches nah an der CPU bei Intel prozesoren sind vlt besser oder doch der größere L3 cache bei AMD?
Macht es überhaupt sinn mit dem 3D cache oder hole ich mir da wieder zusätzliche Probleme rein?
An sich habe ich das bereits angeschnitten.
Die getrennten CCDs sorgen bei Kommunikation zwischen Kernen auf einem CCD und verschiedenen CCDs zu stark unterschiedlichen Latenzen (
https://www.anandtech.com/show/1758...ryzen-5-7600x-review-retaking-the-high-end/10 ). Ob das Relevant ist, benötigt Wissen um den Code der laufen soll. Bei Prozessen mit viel Interprozesskommunikation und Zugriff auf den selben Speicherbereich wird das zum Problem. Da müsstest du entsprechend Prozesse so pinnen, dass sie nur auf einem CCD laufen.
Beim L3 Cache, gut du hast aktuell Cachemisses. Die Frage bleibt aber, wie die Zugriffsmuster ausschauen. Wenn du da ne Lookuptable über Gigabyte groß ist und zufällig ausgelesen wird, bringt dir der größere L3 Cache kaum etwas. An der Stelle willst du die CPU mit dem dicksten Speicherinterface und den geringsten Latenzen (also Intel oder ne AMD APU).
Passt die Datenstruktur bzw. die häufigsten, wiederkehrende Zugriffe auf knapp 90MB, dann bringt dir dicker L3 Cache enorm viel (dann müsstest du die entsprechenden Prozesse exklusiv auf das entsprechende CCD pinnen). Ein Nachteil ist im Zweifelsfall, dass die CPUs bzw. Dies mit 3D Cache mit geringerem Takt laufen, auch da musst du wissen, das dein Code da für Anforderungen hat.
badb100d schrieb:
Macht die neue Architektur mit Performace und Effizienzkernen von Intel evtl Probleme abseits von CPU pinning?
Wenn du harte Anforderungen an Jitter hast, sind CPU Kerne mit stark unterschiedlichem Durchsatz beim Speicher und bei den Recheneinheiten eine unglaubliche Steigerung der Komplexität. Es gibt Intel Celeron, i3, i5 und Xeon mit ausschließlich P-Cores. Der Aufpreis ist im Vergleich zur reduzierten Komplexität (aka: Manntage für Entwicklung und Evaluation) lächerlich.
badb100d schrieb:
Wie viele kerne kann eine CPU überhaupt voll auslasten ohne in ihr TDP limit zu laufen (vor allem bei embedded prozessoren ein problem)?
Kommt auf den Code an. 800% Auslastung bei einem 8Kerner der zu 750% mit I/O-Wait beschäftigt ist, geht weit unter dem TDP Limit. Wirf auf die selbe CPU stark vektorisierten Code drauf und das TDP-Limit ist erreicht und die CPU nähert sich tendenziell dem Basistakt an, selbst wenn du normalerweise mehr erzwingst.
badb100d schrieb:
Macht das chiplet design von AMD evtl probleme bei konkurrierenden IO zugriffen der Kerne?
I/O auf was? Es gibt Ressourcen, die global nur einmal vorhanden sind, blockieren und vergleichsweise lahm sind (der Hardware Zufallsgenerator zum Beispiel)[1]. Sowas wie internes SPI/I²C ist im Vergleich zu modernen, großen CPUs unglaublich langsam. Da müsstest du dich so oder so drum kümmern einen Broker zu nutzen. Bei PCIe ist es fast egal, solang der Bus nicht übermäßig belastet wird.
Die Probleme sind aber überwiegend die Selben bei allen Mehrkernsystemen, die Chiplets stehen da potentiell schlechter da, aber bei erlaubten 10µs Jitter sollte das in vielen Fällen weniger ins Gewicht fallen.
badb100d schrieb:
Wie kommt es, dass der Basistakt von AMD so viel höher ist als bei intel? Das macht mich skeptisch. Verstehen Intel und AMD das gleiche darunter?
Grob sollte der Basistakt das sein, was die CPUs schaffen, wenn man den fordernsten Code auf alle Kerne wirft und die CPU dazu verdonnert in ihrem TDP-Limit zu bleiben.
Ob da nun extremer, synthetischer Code genutzt wird, oder ein forderndes aber reales Beispiel, mit welcher Kühlung da hantiert wird etc. pp. ist großteils unbekannt.
In deinem Fall kannst du Komplexität beim Timing verringern, wenn du die CPU auf eine Frequenz festlegst und damit das Ramping der Frequenzen vermeidest und Jitter bei der Laufzeit. Es ist halt nur fraglich, welche fixe Frequenz bei deinen Lasten sich kühlen lassen, im TDP-Limit liegen und gewünschte Latenzen ermöglichen.
badb100d schrieb:
Gibt es bei der Plattform noch sonstige einschränkungen die ich aktuell noch gar nicht auf dem schirm habe?
So wenig konkret wie du fragst, scheinst du die spezifische Architektur des Systems nicht zu kennen. Da lauert noch Einiges. Schon allein die Software + RTLinux bietet Komplexität mit wenig tausenden Parametern. Herauszufinden welche davon empfindlich sind und welche nicht ist der halbe Spaß!
badb100d schrieb:
Kann ich 16 Kerne bei einem 7950x überhaupt sinnvoll parallel verwenden ohne einen neuen Flaschenhals zu finden oder versuche ich besser gleich einen 7900x oder sogar besser 7800x?
Patschehändchen hoch, wer sollte das System und den Code kennen? Wer immer die Hand oben hat ist die Person, die die Frage beantworten können sollte.
[1] Gibt es bei Intel sicher auch, ich hatte zuletzt nur kein Intelsystem