Eine Erhöhung der Linux-Timerfrequenz bringt Leistungs- und Optimierungsvorteile

Irgendwann haben viele von uns Wir haben es gewagt, mit den Gouverneuren zu spielen In unserem System wird dies getan, um Leistungsverbesserungen zu erzielen oder für bestimmte Zwecke, wie z. B. Arbeitslast, Anwendungen, Spiele usw.

Diese Art von Modifikationen, Sie sind normalerweise nicht in allgemeinen Distributionen enthalten Und das ist verständlich, denn dies bedeutet (je nach Fall) eine Aufstockung oder Verringerung der Ressourcen unseres Teams.

Ich erwähne dies, weil vor kurzem ein Google-Ingenieur hat vorgeschlagen, zu ändern la Standardeinstellungen des Restaurants Linux-Kernel-Timer, wodurch die Unterbrechungsrate von 250 Hz auf 1000 Hz erhöht wird.

Dieser Wandel würde eine höhere Häufigkeit des Aufgabenwechsels bedeuten und eine Reduzierung des Zeitaufwands im Taskplaner, wasund die Effizienz könnte in bestimmten Szenarien verbessert werden. Derzeit gelten 250 Hz als Gleichgewicht zwischen Leistung, Latenz und Stromverbrauch.

Begründung des Vorschlags

Uno der wichtigsten Argumente dafür dieser Veränderung ist die Leistungsoptimierung auf Geräten mit 120-Hz-Displays, immer häufiger auf PCs und Mobilgeräten. Bei der aktuellen Einstellung von 250 Hz beträgt die Zeitquantisierungsungenauigkeit etwa die Hälfte der Frame-Zeit, was sich auf die Effizienz der Ressourcenzuweisung auswirkt.

Darüber hinaus wurde beobachtet, dass der dynamische Spannungs- und Frequenzskalierungsmechanismus (DVFS) neigt dazu, aggressive Frequenzauswahlstrategien anzuwenden um Verlangsamungen zu vermeiden. Dies kann zu unnötigem Stromverbrauch führen, wenn die Verarbeitung einer Aufgabe bereits abgeschlossen ist, der Prozessor jedoch weiterhin mit einer höheren Frequenz läuft, da sein Zeitquant noch nicht abgelaufen ist.

Der Anstieg der Häufigkeit des Aufgabenwechsels würde erlauben:

  • Verbesserte Effizienz im dynamischen Frequenzmanagement (DVFS).
  • Präzisere Zuordnung der Taskplanerzeiten.
  • Erhöhte Häufigkeit der Aktualisierung der CPU-Auslastungsstatistiken.
  • Reduzierte Wartezeit für ausstehende Aufgaben.
  • Argumente gegen die Änderung

Für seinen Teil, Ein anderer Google-Ingenieur äußerte seine Meinungsverschiedenheit mit der Änderung und argumentierte, dass Die Beibehaltung der Timerfrequenz bei 250 Hz ist für Geräte mit geringem Stromverbrauch am vorteilhaftesten, wie IoT-Boards und mobile Geräte.

Seiner Einschätzung nach Eine Erhöhung der Frequenz auf 1000 Hz kann zu einem Anstieg des Stromverbrauchs führen. Auf Android-Geräten konnte beispielsweise in bestimmten Situationen eine Steigerung der Prozessorauslastung von bis zu 7 % beobachtet werden.

Zusätzlich Eine höhere Timerfrequenz würde eine häufigere Reaktivierung bedeuten der CPU. Bei 250 Hz werden die für t+1 ms, t+2 ms, t+3 ms und t+4 ms geplanten Timer zu einem einzigen Weckvorgang zusammengefasst, während es bei 1000 Hz vier einzelne Weckvorgänge gäbe, was den Stromverbrauch erhöhen könnte.

Ergebnisse des Leistungstests

Über den Fall, das Portal Phoronix führte eine Reihe von Tests durch auf einem PC mit einer AMD Ryzen 9 9950X CPU, um die Auswirkungen der Frequenzänderung zu bewerten. Die Ergebnisse waren gemischt:

  • MBessere Leistung mit 1000 Hz in:
    Lama.cpp

    SuperTuxKart
    Selen
    Kernel-Kompilierungszeiten
  • Beste Leistung bei 250 Hz auf:
    Dunkeltisch
    PostgreSQL
    Nicht besiegt
    Xonotisch
    Mixer
    SVT-AV1
    RawTherapee

Um Energieverbrauch, die Ergebnisse waren das Folgende:

  • Einstellung bei 1000 Hz:
    Durchschnittlicher Verbrauch: 144,2 W
    Minimaler Verbrauch: 0,18 W
    Maximaler Verbrauch: 202,13 W
  • Einstellung bei 250 Hz:
    Durchschnittlicher Verbrauch: 144,37 W
    Minimaler Verbrauch: 0,07 W
    Maximaler Verbrauch: 202 W

Abschließend ist es erwähnenswert, dass die Erhöhung der Kernel-Timer-Interrupt-Rate auf 1000 Hz in bestimmten Anwendungsfällen Vorteile bietet, insbesondere bei Anwendungen, die häufigere Task-Umschaltungen erfordern, und auf Geräten mit Displays mit hoher Bildwiederholfrequenz. Allerdings ist auch der Stromverbrauch mit Nachteilen verbunden, insbesondere bei Geräten mit geringem Stromverbrauch und in Umgebungen, in denen Energieeffizienz im Vordergrund steht.

Für den Augenblick Der Vorschlag wird noch diskutiert innerhalb der Community und ihre Akzeptanz werden von einer tieferen Analyse der Auswirkungen in verschiedenen Nutzungsszenarien abhängen.