lnnz schrieb:
Kann das nicht auf Kernel-level geregelt werden? Dass im Stromsparmodus Threads erst auf die kleinen Kerne verteilt werden und ab einer gewissen Auslastung auf die großen Kerne? Oder ist das technisch nicht so einfach möglich?
Edit: Ich merk schon, das würde nicht funktionieren, wenn man einen Prozess unbedingt auf den kleinen Kernen abarbeiten will, auch wenn er diese voll auslastet.
Prozesse, die einen Kern nicht voll auslasten, kann man sicherlich ohne Probleme auf einen kleinen Kern verschieben. Das Problem ist halt wie du schon sagst, dass du bei einer starken MT-Last trotz 100% Auslastung lieber (auch) auf den kleinen Kernen bleiben willst, weil das in der Regel keine echtzeitkritischen Anwendungen sind und die kleinen Kerne durch die höhere Effizienz schneller fertig sind als die großen bei gleichem Verbrauch. Wobei das bei den hier beschriebenen Modellen wahrscheinlich eh nicht viel ausmacht. Der 8+8-Kerner soll angeblich mit 125-150W TDP kommen in 10nm. Da sollte also genug Ressourcen für alle Kerne gleichzeitig vorhanden sein. Interessant ist eher ein Verhältnis von 1:4 (big vs little) wie bei Lakefield. Da geht wirklich die Leistung nach unten, wenn die großen Kerne den Kleinen den Strom klauen.
latiose88 schrieb:
Also einer hat zu mir mal gesagt wenn die CPU auf 100 % auslastung gehen würde,würde sie kaputt gehen.Stimmt allerdings nicht.ALso ich hatte den Quadcore damals bei 100 % Auslastung gehabt.
Ich glaube dass damit eine andere Art von Auslastung gemeint ist. Mikrochips besitzen heute eine große Menge von "dark silicon", d.h. zu einem beliebigem Zeitpunkt ist der größte Teil des Chips aus, weil er nichts zu tun hat. Das gilt auch für einen 10900K, der 250W wegheizt. 100% Auslastung auf Transistorebene würden also eine solche CPU zum schmelzen bringen. Diese Auslastung ist aber nahezu unmöglich zu bestimmen und eigentlich ist es auch nicht beabsichtigt auf 100% zu kommen. Die Transistoren werden zwar immer kleiner, d.h. man kriegt immer mehr Schaltlogik auf der selben Fläche unter, aber der Verbrauch sinkt nicht im gleichen Maße, weswegen zwangsläufig mehr Teile davon inaktiv bleiben (es sind natürlich nicht immer die selben Teile inaktiv, sonst könnte man sie ja einfach weglassen), damit die Wärmedichte nicht steigt.
100% Auslastung im Taskmanager heißt übrigens nur, dass der Kern die Aufgabe, an der er gerade arbeitet, nicht schneller erledigen kann, d.h. er trödelt nicht, aber es müssen bei weitem nicht alle Teile des Kerns ausgelastet sein. Wenn du ein Programm startest, das nur Integer-Berechnungen macht und in den L1-Cache passt, ist die Auslastung der Fließkomma-Einheit und des L2-Caches natürlich 0%, weil sie für das Programm nicht benötigt werden. Ein Programm so zu schreiben, dass wirklich alles im Kern arbeitet, ist schwierig. Tools wie Prime95 versuchen das und schaffen es in der Regel auch eine CPU bei Takt X deutlich heißer zu bekommen als eine "reale" Anwendung.
latiose88 schrieb:
Wenn ich mir das ganze so ansehe.Ich habe den i9 9980xe trotz zwei Anwendung bei 80 % auslastung.Beim Ryzen 9 3950x sind es mit seinen 16 Kernen 85 % Auslastung.Rein Theretisch müsste ich wenn Intel so einen 14 Kerner ordentlich Optmiert und so.Dann ja bei 90 % Kernauslastung rauskommen und bei AMD mit seinen 12 Kernen wohl bei 95 oder sogar 100 % an Auslastung hinbekommen.
Man komme ich da ganz schön nahe in Richtung 8 Kerne zu.Ist denn echt ne 100 % auslastung echt möglich?
Achja kann der intel Big Little ansatz mit 8+8 Kernen mit einem 12 Kerner gleichziehen oder wird dann der 12 Kerner trotz dessen den Intels neuen Ansatz etwa dennoch schlagen?
Diese Rechnung verstehe ich nicht. Wenn der 18-Kerner auf 80% Auslastung bei einem perfekt parallelisierten Programm kommt, dann ist Arbeit für 14,4 Kerne da. Der 16-Kerner müsste dann bei 90% liegen und alles mit <=14 Kernen bei 100%. Ist dies bspw. bei 12 Kernen trotzdem nicht der Fall, dann beinhaltet das Programm vermutlich Teile, die nicht vollständig parallelisiert sind. Deswegen erreicht keine CPU mit mehr als einem Kern dort 100%, denn der serielle Teil muss ja irgendwann abgearbeitet werden.
Ob 8+8 schneller als 12+0 ist, kann man überhaupt nicht sagen, wenn man nicht weiß wie schnell genau die kleinen Kerne sind im Verhältnis zu den großen. Intel wird das sicher nicht aus Spaß machen, also kann man davon ausgehen, dass big+little langfristig besser in ihre Strategie passen. Imho ist es so, dass die meisten Anwendungen, die viel Singlethread-Leistung brauchen, sich mit 6-8 Kernen zufrieden geben. Alles was darüber hinausgeht, ist leicht parallelisierbar, d.h. man kann es theoretisch auch auf 64 Kernen rechnen. Also verbaut man in den CPUs zwei Sorten Kerne: Kleine und super effiziente Kerne, damit man möglichst viele davon in den Chip bekommt, und große, die nur auf maximale Singlethread-Leistung getrimmt sind und wo die Effizienz auch grottenschlecht sein darf.