Dieses Dokument wurde mithilfe automatisierter maschineller Übersetzungstechnologie übersetzt. Wir bemühen uns um korrekte Übersetzungen, übernehmen jedoch keine Gewähr für die Vollständigkeit, Richtigkeit oder Zuverlässigkeit der übersetzten Inhalte. Im Falle von Abweichungen ist die englische Originalversion maßgebend und stellt den verbindlichen Text dar.

Interruptmodus

Ab Version 1.10.0 unterstützt SUSE Storage den SPDK-Interruptmodus für V2-Daten-Engine-Volumes. Der Interruptmodus bietet eine Alternative zum Standard-Polling-Modus und verbessert die CPU-Effizienz in bestimmten Umgebungen.

Der Interruptmodus ist besonders geeignet für Cluster mit begrenzten CPU-Ressourcen und einer relativ geringen Anzahl von Volumes. Während der Polling-Modus die Leistung maximiert, indem er die CPU-Auslastung nahe 100 % auf den zugewiesenen Kernen hält, reduziert der Interruptmodus die CPU-Nutzung, indem er dem SPDK-Reaktor ermöglicht, seine Nutzung dynamisch anzupassen, anstatt kontinuierlich zu pollieren.

Übersicht

Polling-Modus vs. Interruptmodus

  • Polling-Modus (Standard):

    • Er pollt kontinuierlich nach I/O-Operationen.

    • Er bietet die niedrigste Latenz.

    • Er verbraucht jederzeit ~100 % des zugewiesenen CPU-Kerns.

    • Er ist am besten geeignet für hochleistungsfähige Workloads mit häufigen I/O-Operationen.

  • Interruptmodus:

    • Er verwendet interruptgesteuertes I/O-Handling.

    • Der CPU-Verbrauch skaliert mit der Anzahl der angeschlossenen Volumes.

    • Er ist besser geeignet für ressourcenbeschränkte Umgebungen.

Voraussetzungen

  • SUSE Storage v1.10.0 oder höher

  • V2-Daten-Engine aktiviert

  • Keine angeschlossenen v2-Volumes beim Ändern der Einstellung

  • Für NVMe-Laufwerke muss IOMMU aktiviert sein. Um zu überprüfen:

    find /sys/kernel/iommu_groups/ -type l

    Beispielausgabe (IOMMU aktiviert):

    /sys/kernel/iommu_groups/0/devices/0000:e6:0b.1
    /sys/kernel/iommu_groups/1/devices/0000:34:0a.6
    /sys/kernel/iommu_groups/2/devices/0000:a0:00.0

    Wenn der Befehl keine Ausgabe zurückgibt, ist IOMMU nicht aktiviert.

    IOMMU-Unterstützung ist möglicherweise nicht auf virtualisierten Instanzen verfügbar. Wenn Sie sich unsicher sind, ziehen Sie in Betracht, eine Bare-Metal-Instanz zu verwenden, oder konsultieren Sie die Dokumentation oder das Support-Team Ihres Cloud-Anbieters.

    Für weitere Informationen beziehen Sie sich bitte auf die offizielle SPDK-Dokumentation.

Konfiguration

Globale Einstellung

Um den Interruptmodus global zu aktivieren, aktualisieren Sie die data-engine-interrupt-mode-enabled Einstellung.

Wichtige Überlegungen

  • Anforderungen an den Volumenstatus: Die Einstellung kann nur geändert werden, wenn keine V2-Volumes angeschlossen sind. SUSE Storage blockiert Aktualisierungen, wenn ein V2-Volume aktiv ist.

  • Globale Auswirkung: Die Einstellung gilt für alle V2-Volumes.

Leistungsmerkmale

Empfohlene Anwendungsfälle

Aktivieren Sie den Interruptmodus für diese Fälle:

  • Sie arbeiten in ressourcenbeschränkten Clustern.

  • Sie verwalten eine kleine Anzahl von Volumes.

  • CPU-Ressourcen sind begrenzt oder werden mit anderen Arbeitslasten geteilt.

  • I/O-Muster sind sporadisch und nicht kontinuierlich.

  • Energieeffizienz hat Priorität.

Nutzungsbeschränkungen

Hybride Implementierung

Der aktuelle V2-Volumen-Interruptmodus verwendet einen hybriden Ansatz für den NVMe/TCP-Transport:

  • Admin-Queue-Operationen: Es basiert weiterhin auf periodischem Polling für Keepalive und Controller-Wiederherstellung.

  • I/O-Queue-Abschluss: Es verwendet Polling für den Abschluss von Befehlen.

  • Restliche CPU-Nutzung: Es führt zu einer kleinen, aber konstanten CPU-Auslastung, selbst wenn die angeschlossenen Volumen im Leerlauf sind.

Leistungsabstriche

  • Latenz: Sie ist leicht höher als im Polling-Modus.

Betriebsbeschränkungen

  • Änderungen der Einstellungen: Es kann nicht geändert werden, während V2-Volumen angeschlossen sind.

  • Global Scope: Es gilt global; es gibt keine Überschreibung pro Volume.