Asahi Linux: Apple ignoriert Cache für schnellere NVMe
Die NVMe-SSDs in Apples M1-Macbooks sind extrem schnell. Dafür verzichte MacOS aber auf Datenintegrität, schreibt ein Linux-Entwickler.

Der Entwickler Hector Martin arbeitet mit Asahi Linux an einem Port des freien Betriebssystems auf Apples eigenen ARM-CPUs alias Apple Silicon und hat beim Erstellen des NVMe-Treibers eine überraschende Eigenschaft der Apple-Implementierung entdeckt: "Es stellt sich heraus, dass die selbst erstellten NVMe-Laufwerke von Apple erstaunlich schnell sind - sofern die Datenintegrität egal ist." Das schreibt Martin auf Twitter.
Werde hingegen Wert auf die Datenintegrität gelegt, bewege sich die Geschwindigkeit der NVMe-SSDs eher im Bereich alter HDD-Festplatten, erklärt Martin. Weiter heißt es: "Seit einer Weile haben wir festgestellt, dass die zufällige Schreibleistung mit Fsync (Datenintegrität) unter Asahi Linux (und auch unter Linux auf T2-Macs) schrecklich war."
Wie Martin schreibt, liege das an einer unterschiedlichen Fsync-Implementierung von MacOS und Linux. Während der Linux-Befehl dafür sorgt, dass sowohl die Daten der eigentlichen Schreibbefehle wie auch des Caches auf dem Festspeicher landen, unterlässt MacOS Letzteres offenbar. So betrüge MacOS auch in Benchmarks für Dateioperationen, schreibt Martin.
Sehr langsame NVMe
Darüber hinaus gibt es unter MacOS aber auch einen Befehl, um den Cache regelmäßig auf den Speicher zu schreiben. Wird dies jedoch genutzt, fällt laut Martin die Leistung von 40.000 IOPS auf nur noch 46 IOPS, das ist langsamer als Sata-SSDs und im Bereich von HDDs.
Kommt es zu einem Systemabsturz oder Stromverlust, kann das Nicht-Schreiben des Caches letztlich aber zu Datenverlust führen. Laptops haben dem Entwickler zufolge zwar genügend Softwaremechanismen und einen Akku, um das zu verhindern. Auf einem Mac Mini konnte Martin so jedoch Datenverluste reproduzieren.
Auf seinem Linux-Entwicklungssystem habe sich der Unterschied auch in extrem langsamen Operationen etwa bei der Paketverwaltung gezeigt. Derzeit plant Martin einfach, den Vorgang um den unter Linux maximal möglichen Zeitraum von 1 Sekunde zu verzögern, damit der Geschwindigkeitsverlust einerseits nicht zu hoch ist, andererseits sich möglicher Datenverlust eben auch nur auf 1 Sekunde bezieht.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Ich verteidige nicht Apple. Im Gegenteil. Aber ich setzte das Problem in Relation. Es...
umm, hier ging es speziell um sync-writes, und die behält Linux natürlich nicht ewig im...
Der ganze Artikel und auch der ganze Twitter feed wurde vom Ersteller selbst ziemlich gut...