91x
005427
27. März 2024

Performance- Probleme auf modernen Intel-Prozessoren

RFEM rechnet auf meinem neuen Computer langsamer als auf dem alten. Woran liegt das und wie kann das geändert werden?


Antwort:

Wahrscheinlich ist der neue Computer mit einem Intel-Prozessor der 12. Generation oder neuer ausgestattet.

Seit der 12. Generation (Alder Lake) der Core i-Prozessoren hat Intel eine grundlegende Änderung an der CPU-Architektur durchgeführt.

Bis zu dieser Generation war es so, dass ein Prozessor mehrere baugleiche CPU-Kerne enthielt. Ab der 12. Generation ist das nun anders.

Es gibt zwei verschiedene Arten von Kernen. Die Performance-Kerne (P-Kerne) sind auf hohe Rechenleistung getrimmt. Dafür verbrauchen sie viel Strom. Ein hoher Stromverbrauch bedeutet, dass sich im Notebook der Akku schneller leert und dass im Prozessor mehr Hitze entsteht, die durch die Kühlung abgeführt werden muss.

Neben den P-Kernen gibt es Effizienz-Kerne (E-Kerne). Diese übernehmen die vielen kleinen Aufgaben im Hintergrund, bei der die Geschwindigkeit keine große Rolle spielt. Die E-Kerne sind wesentlich langsamer, aber verbrauchen dafür auch viel weniger Strom und produzieren dementsprechend weniger Wärme.

Prozessoren mit unterschiedlichen Typen von Kernen sind keine neue Erfindung von Intel. Für Handys und andere Mobilgeräte ist das schon lange Standard. Hier ist die Anforderung hinsichtlich niedrigen Energieverbrauchs und Abdeckung von kurzzeitigen Leistungsspitzen noch viel verschärfter als bei Notebooks oder gar Desktop-PCs. Auch Apple nutzt diese Technik in den Geräten mit den M-Prozessoren.

Die Aufgabe des Betriebssystem ist es nun, die laufenden Prozesse den Kernen zuzuteilen. Diese Aufgabe übernimmt der Scheduler. Es ist keine triviale Aufgabe, zu erkennen, ob ein Prozess den P-Kernen zugeordnet werden muss, oder ob die E-Kerne reichen. Das macht der Scheduler unter anderen von den Benutzerrechten und von hier zu finden:

Wenn wir uns nun die Architektur von RFEM anschauen, dann wird klar, dass es zu Problemen kommen kann.

Die Programmarchitektur von RFEM ist zweigeteilt. Auf der einen Seite gibt es das Programm mit der grafischen Benutzeroberfläche. Dieses nimmt die Benutzereingaben entgegen und stellt die Ergebnisse grafisch dar. Auf der anderen Seite gibt es den Solver. Der liest die Eingabedaten, führt die Berechnung durch und übergibt die Ergebnisse wieder zurück an RFEM.

In RFEM starten ein (RFEM 5) oder mehrere (RFEM 6) Solver-Prozesse, die dann parallel auf mehreren Kernen die Berechnung durchführen. Das sind natürlich rechenintensive Aufgaben.

Dadurch, dass die Prozesse vom Hauptprogramm als unsichtbare Unterprozesse gestartet werden, kann es passieren, dass diese Prozesse auf den langsamen E-Kernen ausgeführt werden.

Die Folge ist, dass RFEM auf einem Prozessor ab der 12. Generation auf einmal wesentlich langsamer rechnet als auf einem älteren Prozessor der 11. Generation.

Eine schnelle Abhilfe ist es, RFEM mit Admin-Rechten zu starten. Das ist aber aus Sicherheitsgründen nicht immer möglich.

Eine andere Lösung ist es, die Regel, dass Unterprozesse auf E-Kernen ausgeführt werden, zu beeinflussen. Gehen Sie dazu folgendermaßen vor:

  1. Öffnen Sie die Registry.
  2. Suchen Sie nach "Heterogeneous policy in effect".
  3. Bearbeiten Sie den Key "Attributes" und setzen Sie ihn auf "0"

Autor

Herr Faulstich ist mit der Qualitätssicherung des Programms RFEM betraut und außerdem im Kundensupport tätig.