Monatliche SIG-Updates für Hochleistungsspeicher: erofs hat Unterstützung für mehrere wichtige Funktionen hinzugefügt und baut die Wettbewerbsfähigkeit in Containerszenarien weiter aus

Ziel der High-Performance Storage SIG (Special Interest Group) : Der Entwicklungsprozess im Speicherbereich ist im Wesentlichen ein Prozess der gegenseitigen Förderung und Entwicklung von Speichermedien und Software-Stacks. Die High-Performance Storage SIG widmet sich dem Storage Stack Performance Mining. Derzeit konzentriert sie sich auf die Kernel-io_uring-Technologie zur Optimierung der asynchronen IO-Leistung, die Verwendung von persistentem Speicher zur Verbesserung der Kostenleistung von Geschäftseinheiten und die Optimierung der Container-Szenario-Speichertechnologie. Die High-Performance Storage SIG hofft, durch Community-Zusammenarbeit einen Standard-Software-Stack für Hochleistungsspeichertechnologie zu schaffen und die gemeinsame Entwicklung von Software und Hardware zu fördern.

01  Gesamtfortschritt von SIG

Dieser monatliche Bericht fasst den Arbeitsfortschritt von SIG im Juli und August zusammen und umfasst CVE-Reparaturen, Funktionserweiterungen, Leistungsoptimierungen und Bugfixes mehrerer wichtiger Module.

  • erofs hat Unterstützung für viele wichtige Funktionen hinzugefügt und baut die Wettbewerbsfähigkeit im Containerszenario weiter aus.

  • Arbeitete mit ZTE-Klassenkameraden zusammen, um ein xfs-Deadlock-Problem zu beheben, und erreichte zunächst eine Kooperationsabsicht, um gemeinsam die Qualität von ANCK xfs zu verbessern.

  • Starten Sie die aktuelle Version der Verbesserung der Codequalität von io_uring, die voraussichtlich in der nächsten Version veröffentlicht wird.

02Projektspezifischer  Fortschritt

1)CVE

CVE-2023-2124: Problem mit xfs-Speicherzugriff außerhalb der Grenzen behoben (PR1918/PR2027).

CVE-2023-34256: Problem mit ext4 crc16-Lese außerhalb der Grenzen behoben (PR1793/PR2004).

CVE-2023-3212: Problem mit der Dereferenzierung des gfs2-NULL-Zeigers behoben (PR2030/PR2041).

CVE-2023-3111: Btrfs-UAF-Problem behoben (PR2039/PR2040).

2)erofs

ANCK 5.10 :

Aufgrund der Einführung einer Reihe von Patches für RAFSv6 stürzt erofs ab, wenn es über die Blockschnittstelle gemountet wird. Dieses Problem wird in ANCK 5.10.134-15.1 dringend behoben. (PR1987)

Round-Mainline-Transparenzkomprimierungsfunktion, unterstützt den LZ4/LZMA-Komprimierungsalgorithmus, unterstützt Ztailpacking und Komprimierungsdeduplizierung usw. (PR2076/PR2080/PR2081/PR2082)

erofs-utils :

Der Sicherungsmodus unterstützt die xattr-Präfixfunktion für lange Namen. Diese Funktion kann den zusätzlichen Aufwand für die Speicherung doppelter Namen von Overlayfs-Xattr-Metadaten optimieren und bei typischer Auslastung etwa 15 % des Bildspeicherplatzes einsparen.

Unterstützt die xattr-Bloom-Filterfunktion, die die Leistung der negativen xattr-Suche beschleunigen kann. Beispielsweise kann „ls -lR“ die Leistung unter Last um ca. 20 % optimieren.

Unterstützt den Rebuild-Modus, der hauptsächlich in Tarfs-Szenarien verwendet wird. Er kann aus mehreren OCI-Ebenen konvertierte Erofs-Bilder nach einem ähnlichen Overlayfs-Modell zu einem Erofs-Bild zusammenführen.

Externe Treffen :

Das Thema der Shanghai Kubecon + Open Source Summit 2023-Konferenz wurde Ende September bekannt gegeben und die neuesten Fortschritte von Erofs in verschiedenen Szenarien (insbesondere Cloud-Szenarien) werden synchronisiert.

3) xfs

Setzen Sie „anolis: xfs: Konto extra freier Speicherplatz-Btree-Splits für mehrere Zuweisungen“ zurück. Dieser Patch wurde zuvor entwickelt, um eine geringe Wahrscheinlichkeit eines Fehlers bei der Extent-zu-Btree-Konvertierung zu beheben. Aufgrund seiner geänderten Zuweisungsstrategie kann er jedoch die Wahrscheinlichkeit erhöhen andere Eckfälle. . (PR1837)

ZTE-Studenten haben ein Prozess-Deadlock-Problem zwischen xfs_create() und xfs_fs_destroy_inode() gemeldet. Dieses Problem wurde in der neuesten Upstream-Mainline v6.5-rc1 behoben:
https://github.com/torvalds/linux/commit/b742d7b4f0e03df25c2a772adcded35044b625ca

Um die Einführung nachfolgender Patches zu erleichtern, führt dieser Reparaturplan so viele relevante abhängige Patches ein wie möglich. (PR1990)

Darüber hinaus haben wir mit ZTE-Studenten eine Kooperationsvereinbarung zur Wartung von Community-XFS getroffen und werden in Zukunft gemeinsam die Qualität von ANCK-XFS stärken.

4) ext4

Setzen Sie eine Reihe von Bugfixes für ein schnelles Commit von der Upstream-Community auf ANCK 5.10 zurück. (PR2066)
Ext4 Fast Commit bietet offensichtliche Leistungsverbesserungen für Szenarien mit häufigem Fsync, wie z. B. Benchmark fs_mark, Datenbank MySQL/PostgreSQL usw.

In ext4-delalloc-Append-Schreibszenarien (z. B. Append-Schreibprotokollen) gibt es derzeit eine große Anzahl unnötiger i_disksize-Aktualisierungsvorgänge, die sich auf die Leistung in diesem Szenario auswirken.

Liu Song hat dieses Szenario optimiert und die Testergebnisse zeigen, dass im Szenario der Kafka 2.6.2-Version und der Paketgröße 2K die Leistung um 10 % verbessert wird.

Derzeit ist diese Optimierung in die Upstream-Hauptlinie der Community integriert und wird rechtzeitig auf ANCK 5.10 zurückgesetzt. (PR2083)

5)io-uring

In zufälligen Schreibszenarien können io_uring sqthread und Dateisystem-IO-Verarbeitung kworker auf derselben CPU ausgeführt werden.

Aufgrund der vorherigen Änderung des netten Werts von sqthread kann es sein, dass der kworker für die E/A-Verarbeitung des Dateisystems nicht rechtzeitig geplant wird, was sich erheblich auf die Leistung auswirkt.

Aus diesem Grund haben wir den vorherigen Patch zurückgesetzt, der den „sqthread nice“-Wert geändert hat. (PR1888/PR1889)

Nach der Aktualisierung der Liburing-Version wurde auch der entsprechende Testfall von io_uring aktualisiert.

Unter dem neuen Testfall hat das aktuelle ANCK 5.10 viele Probleme aufgedeckt. Diese wurden tatsächlich in der höheren Kernelversion der Community gelöst, aber die Runde ist schwieriger.

Community 5.10 Stable hat die Version von io_uring auf 5.15.85 synchronisiert, daher haben wir uns entschieden, zusammen mit der Stable-Version ein Upgrade durchzuführen. Derzeit wurden die meisten selbst entwickelten Funktionen transplantiert.

Da sich sqthread vom von kthreadd erstellten Kernel-Thread zu einem untergeordneten Prozess des Anwendungsprozesszweigs entwickelt hat, muss unsere Percpu-Sqthread-Umfragefunktion entsprechend angepasst werden, was voraussichtlich in der nächsten Version abgeschlossen sein wird.

6)dsms

Verfolgen Sie weiterhin das Community-Feedback zum dsms-Softwarepaket und beheben Sie weiterhin Sicherheitslücken im dsms-storage-Modul und ungelöste Fehler in der Vorschauversion.

Der Verarbeitungsablauf des dsms-engine-Task-Managers und die Optimierung der dsms-ui-Frontend-Schnittstelle sind in Bearbeitung.

03Nächster  Schrittplan

1. erofs-utils unterstützt Multi-Thread-Komprimierung und veröffentlicht Version 1.7.

2. erofs implementiert eine vollständige Bildüberprüfung basierend auf fsverity und die Komprimierungsfunktion unterstützt eine Seitengröße von 64 KB/16 KB + eine Blockgröße von 4 KB.

3. io_uring wird basierend auf 5.10 Stable aktualisiert, um die Qualität von ANCK 5.10 io_uring zu stärken.

4. Dsms-Problembehebung und kontinuierliche Optimierung.

Verwandte Links:

Homepage von High Performance Storage SIG:

https://openanolis.cn/sig/high-perf-storage

Hinweis: Für weitere monatliche Updates zu Dragon Lizard SIG klicken Sie bitte hier .

-- über--

おすすめ

転載: blog.csdn.net/weixin_60347558/article/details/132738602