Während Intel seit Jahren an der Sapphire Rapids-Unterstützung für Linux und an anderen Schlüsselkomponenten wie GCC und LLVM/Clang arbeitet, um ein gutes Starterlebnis mit skalierbaren Xeon-Prozessoren der 4. Generation zu gewährleisten, hatten sie einen Teil noch nicht in Ordnung gebracht Vor der Veröffentlichung wurden die neuen C0.x-Leerlaufzustände entfernt. Diese neuen Ruhezustände zwischen POLL und C1 ermöglichen eine Mischung aus geringer Latenz und besseren Energieeinsparungen als POLL.
Intel-Ingenieure arbeiten seit einigen Monaten an den Linux-Patches für diese C0.1-und C0.2-Leerlaufzustände, um die Energieeffizienz der neuen Sapphire Rapids-Prozessoren zu verbessern. Diese Arbeit geht mit anderen ausstehenden Patches einher, um die VM-Leistung bei starker E/A-Nutzung zu steigern.
Am Samstag wurde die dritte Iteration der Sapphire Rapids C0.x-Unterstützung für Leerlaufzustände veröffentlicht. Das Patch-Anschreiben fasst die Arbeit elegant zusammen:
„Leerlaufzustände reduzieren den Stromverbrauch, wenn eine CPU keine Arbeit zu erledigen hat. Der flachste CPU-Leerlaufzustand ist „POLL“. Er hat die niedrigste Aktivierungslatenz. spart aber wenig Strom. Der nächste Ruhezustand auf Intel-Plattformen ist „C1“. Er hat eine höhere Latenz, spart aber mehr Strom als „POLL“.
Sapphire Rapids Xeons fügen die neuen Ruhezustände C0.1 und C0.2 hinzu liegen konzeptionell zwischen „POLL“ und „C1“. Diese bieten einen sehr attraktiven Mittelpunkt: Aktivierungslatenz nahe POLL und Stromverbrauch auf halbem Weg zwischen „POLL“ und „C1“.
Mit anderen Worten: Wir gehen davon aus, dass alle außer den am stärksten latenzempfindlichen Benutzern diesen Ruhezustand gegenüber POLL bevorzugen.
Dieses Patch-Set ermöglicht die Unterstützung des C0.2-Leerlaufzustands auf Sapphire Rapids Xeon (später – SPR). Der neue Leerlaufzustand wird zwischen POLL und C1 hinzugefügt.“
Mit dieser dritten Iteration gibt es einige kleinere technische Änderungen, da dieser neue Code auf den Hauptkernel zugeschnitten ist.
Beim Testen der neuen Patches durch Intel sank die Wechselstromleistung um 13 % und die RAPL-CPU-Leistung um 18 %, wenn man die prozentuale Änderung von POLL zu C0.2 vergleicht. Mittlerweile konnte mit C0,2 auch der Hackbench-Score für 4 Gruppen um etwa 4 % verbessert werden. Mit den Patches kann der C0.2-Status auf Wunsch auch über die Kernel-Option „intel_idle.states_off=2“ deaktiviert werden.
Interessante Arbeit und hoffentlich schafft es dieser Code bald in die Hauptzeile – möglicherweise sogar für Version 6.5, wenn in dieser dritten Version der Patches alles gut aussieht. Derzeit ist die Arbeit auf der Linux-PM-Liste zu finden. Sobald es von Mainline aufgenommen wird, werde ich auf jeden Fall einige Benchmarks durchführen.