ist meine software gut parallelisiert bzgl. AMD FX?

Sind das die Herzausschläge deiner acht Hamster daheim?^^

Spass bei Seite! Wer soll bitte damit was anfangen können?
 
Intresannt wäre mal zuwissen mit was du Arbeitest (Programme etc).
 
???

Was willst du wissen?
Wenn ich es jetzt mal ohne irgendwelche technischen Daten/Spezifikationen/etcetc... einordnen müsste (normaler Menschenverstand), dann würde ich sagen:

Wenn alle Graphen zur gleichen Zeit gleich hoch sind, ist ein PC gleichmäßig ausgelastet.
Je mehr Abweichung vom arithmetischen Mittel, desto weniger gleichmäßig.

Also... was willst du denn hören? :D
 
Hmm, ich würde sagen: Ausgelastet ist der Prozessor nicht^^
 
Windows Schuffelt Threads über die Kerne. D.H. bei Dir im Bildchen könnten auch nur 2 Kerne voll ausgelastet sein. Es hat keine Aussagekraft, wie Du vielleicht an den Kommentaren siehst :-)
 
HisN schrieb:
Windows Schuffelt Threads über die Kerne. D.H. bei Dir im Bildchen könnten auch nur 2 Kerne voll ausgelastet sein. Es hat keine Aussagekraft, wie Du vielleicht an den Kommentaren siehst :-)

an den kommentaren sehe ich, dass die anderen genau so denken wie ich bis zu deinem kommentar, nämlich, dass es sich im taskmanager um die tatsächliche kernlast handelt.
danke für die aufklärung, wobei es für mich unverständlich ist, warum microsoft so einen taskmanager mit den einzelnen kernen darstellen läßt, wenn es doch nur fake ist.

wie kann ich die tatsächliche kernlast auslesen?
 
Zuletzt bearbeitet:
Ich würde nicht sagen, dass das die Schuld von Windows ist.
Man kann einfach oft nicht eindeutig darstellen, wie jeder einzelne Core tatsächlich ausgelastet ist.

Wie HisN schon geschrieben hat, schiebt der Windows-Scheduler z.B. Threads oft sehr schnell zwischen verschiedenen Cores hin und her. So kann ein Thread, der auf einem Core 100% Last erzeugen würde, im Taskmanager zwei Cores zu 50% auslasten oder 3 zu 33% usw.
Das ist unter bestimmten Umständen durchaus ein wünschenswertes Verhalten, um die Ressouren der CPU optimal zu nutzen.

So richtig kompliziert wird es aber, wenn SMT/CMT ins Spiel kommt. Also Intels Hyperthreading oder AMDs Modulbauweise. In beiden Fällen erscheinen im Taskmanager 2 Cores, wo eigentlich keine zwei (ganzen) Cores vorhanden sind.

Wenn man z.B. eine CPU mit nur einem Core + HT hat, dann sieht man im TM einen Dualcore. Wenn man es hinbekommt, einen dieser dargestellten Cores mit 100% auszulasten und den anderen bei Null zu halten, hat man laut Anzeige 50% gesamte CPU-Last. Das ist aber natürlich Unsinn, denn HT verdoppelt die Leistung nicht. Wenn man HT durch zusätzliche Threads ebenfalls auslastet, kommt vielleicht nochmal 5-15% mehr CPU-Leistung zusammen. Mehr nicht.
Bei AMDs Bulldozer-CPUs sieht es ganz ähnlich aus. Da teilen sich jeweils zwei Cores untereinander gewisse Ressourcen, so dass die zwei Cores eines Moduls voll ausgelastet zusammen nicht 200% Leistung bringen, sondern z.B. nur 160%.

Aber wie will man das im Taskmanager sauber abbilden? Zwar weiß Windows inzwischen von HT und Co. und damit, wie viele "ganze" Cores eine CPU tatsächlich hat, aber das hilft nicht bei dem Problem, wie man die Auslastung dieser Cores plus der durch SMT/CMT hinzukommenden Einheiten korrekt darstellen kann.

Wirklich korrekt zeigt der Taskmanager die Situation also nur in zwei Zuständen an: Bei einer Last von 0% und einer von 100% über alle Cores. ;)

Das ist verdammt schwer zu erklären. Ich hoffe, ich habe es halbwegs hinbekommen. :)
 
Zuletzt bearbeitet:
Zurück
Oben