Intel i9 vs. AMD Ryzen, Benchmarks für Audio-PC?

  • Ersteller ModulationMatrix
  • Erstellt am
Sinn war es aufzuzeigen, dass die Anzahl der laufenden Threads eines Programms (für uns die DAW samt Plugins) nichts mit den Kernen und Threadangaben zu tun hat.

Und warum zeigen die Leistungsmonitore der verschiedenen Sequenzer (oder auch ein Systemlastmonitor) die Auslastung eben jener Kerne/Threads?
Damit man z.B. die Threadverteilung und Auslastung auf die Prozessoren (inkl. logischen Prozessoren) einsehen kann. Das ist z.B. für die Analyse wichtig, um bspw. zu schauen, ob das OS die Last gleichmässig verteilt. Die Last lässt sich übrigens nicht von der Anzahl der Threads ableiten. Es kommt immer darauf an, WAS in einem Thread geschieht.

Ein rudimentäres Beispiel:

Wir haben 100 Threads A, die alle 10 Sekunden den Wert einer Variablen inkrementieren (also immer Wert der Variable + 1). Das sind zwar 100 Threads, aber das ist eine Rechenleistung, die völlig unrelevant ist. Gehen wir mal davon aus, dass diese Threads insgesamt 1% Rechenleistung eines Kernes brauchen, um abgearbeitet werden zu können.

Dann haben wir noch 2 Threads B, in denen sehr komplexe Berechnungen stattfinden. Meinetwegen braucht jeder dieser beiden Threads 60% Rechenleistung pro Kern.

Wir haben jetzt für das Beispiel einen Dualcore, es stehen also 2 Kerne zur Verfügung.

Jetzt könnten z.B. die 100 Threads A z.B. auf Kern 1 laufen, während B auf Kern 2 abgearbeitet wird. Nachteil: Kern 1 ist völlig unausgelastet, während Kern 2 gar nicht mehr mitkommt, da er ja 120% erfüllen soll. Er hat also volle Auslastung, aber die fehlenden 20% verzögern natürlich die Berechnung. Das wäre ein Beispiel für eine sehr schlechte Threadverwaltung (Scheduling).

Idealerweise verteilt das OS diese Threads. Z.B. laufen A weiterhin auf Kern 1 und auch 1 Thread von B, während Thread 2 von B auf Kern 2 läuft. Resultat: Die Last ist verteilt (Kern 1 = 61%, Kern B = 60%). Das ist effektive Lastverteilung.

Solchen Sachen geht man z.B. mit dem Systemmonitor nach.

In einer DAW ist das nicht unbedingt anders. Auch hier sieht man die Last, aber das ist von DAW zu DAW verschieden. So kann man z.B. sehen, ob ein Plug-in überhaupt auf mehrere CPU's verteilt wird. Generell unterscheidet man zwischen Multithreading und Multiprozessorfähigigkeit einer Anwendung (das muss der Entwickler berücksichtigen). Jetzt hast du irgendein Plug-in (z.B. veraltet oder schlecht programmiert), was massiv Rechenleistung benötigt, weil es nur auf einem Kern läuft. Dafür ist es sinnvoll, dies in der DAW, sofern sie es anbietet, sehen zu können.

Falls die Frage kommen sollte, warum man das nicht im Systemmonitor sieht, wären wir schon beim Thema Prozessverwaltung. Das würde den Rahmen hier sprengen. Was man sich merken kann: Threads gehören immer zu einem jeweiligen Prozess. Z.B. ist eine gestartete DAW ein Prozess, dem Threads (auch die von Plugins) angehören. Man sieht im Systemmonitor (ich beziehe mich mal auf Win) zwar Auslast, Threads etc., aber nicht die Plugins, da diese unter dem Prozess der DAW laufen.

Ich habe das jetzt ganz bewusst wirklich sehr, sehr einfach und schemenhaft dargestellt. Effektives und fehlerfreies Multithreading gehört definitiv zu den schwersten Aufgaben in der Softwareentwicklung, da Threads oftmals in Abhängigkeit (z.B. zeitlich, siehe Race Condition) zu einander stehen und miteinander kommunizieren. Wenn ein Thread stehenbleibt oder vergeblich auf das Ende eines anderen Threads wartet, war es das - die Anwendung hängt.
 
Zuletzt bearbeitet:
Wenn bei einer CPU 8 Kerne und 8 Threads steht, ist damit gemeint, dass ein Kern zur gleichen Zeit einen Thread abarbeiten kann - den Hauptthread, der wieder n Threads haben kann (das geschieht dann über das Scheduling, s.o.). Bei Hyper Threading (HT) wird der Prozessor z.B. in zwei logische Prozessoren und zwei Hauptthreads aufgeteilt. Daher z.B. 8 Threads bei 4 Kernen. Aber aufpassen: Das verdoppelt natürlich nicht die Rechenleistung (den Hersteller freut es sehr, wenn man es annimmt).

Ich habe dieses Faß aufgemacht, damit niemand auf die Idee kommt, dass er nur mit vielen Kernen viele Threads, Spuren etc. laufen lassen kann und vielleicht unnötig viel Geld für etwas ausgibt, was nicht notwendig ist. Es ist niemanden damit geholfen, wenn mit Zahlen um sich geschmissen wird, aber die Bedeutung nicht klar ist. Davon profitiert höchstens der Handel samt Hersteller.

Es wird mir hier nicht gelingen, ein derart komplexes Thema in kurzen Sätzen zu erörtern, damit es jeder versteht. Auch aus Respekt vor dem TE und seinem eigentlichen Thema schreibe ich dazu nichts mehr. Ich hoffe, ich konnte ein wenig Licht ins Dunkle bringen und vielleicht Neugierde für die eigene Recherche wecken. Ansonsten habe ich immer ein offenes Ohr via PN.

Schönes Wochenende an die Runde ;)
 
Zuletzt bearbeitet:
Ups, Doppelpost, gelöscht.
 
Beispiel: ein Intel Core i3 9250KF ist schneller als ein AMD Ryzen 5 2600.
Dabei hat der Intel nur 4 Cores, 4 Threads @4.00 GHz und der AMD 6 Cores, 12 Threads @3.4GHz
Man kann somit sagen, dass es immer ein Vergleich von sehr ähnlichen Intel vs. AMD CPUs sein sollte, um
das näher bewerten zu können.

Intel Core i3 9250KF - sicher, dass es diese CPU gibt? Ich kenne u.a. den i5 9250U für mobile Plattformen.
Du hast recht, da hat sich ein Tippfehler eingeschlichen, ich meinte den Intel Core i3 9350KF.
Die Daten habe ich der Grafik entnommen: https://cpu.userbenchmark.com/Compare/Intel-Core-i3-9350KF-vs-AMD-Ryzen-5-2600/m775825vs3955
 

Ähnliche Themen

moonbooter
    • Danke
  • Artikel
Antworten
2
Aufrufe
2K
Ennui
Ennui
moonbooter
    • Danke
  • Artikel
Antworten
9
Aufrufe
1K
stromzoo
stromzoo
moonbooter
    • Danke
  • Artikel
Antworten
3
Aufrufe
2K
moonbooter
moonbooter

Neue Antworten


Oft gelesene Themen

Zurück
Oben