Zstd-Komprimierung

Quelle: My Picture von Martin Postma Lizenz: CCBY-ND 2.0

 

Die mit Kernel 4.14 adaptierte Komprimierungstechnik Zstd wird derzeit bei Ubuntu getestet. Erste Ergebnisse lassen vermuten, eine Installation von Ubuntu könnte damit um bis zu 10 Prozent beschleunigt werden.

Bei Facebook entwickelt

Zstd steht für Zstandard, wurde bei Facebook entwickelt und bietet Komprimierung ähnlich wie zip oder gzip, jedoch mit höheren Geschwindigkeiten für Komprimierung und Dekomprimierung. Da Btrfs auch bei Facebook entwickelt und intensiv genutzt wird, war es der logische nächste Schritt, neben der bereits vorhandenen gzip- und LZO-Komprimierungsunterstützung auch die Zstd-Unterstützung für Btrfs hinzuzufügen. Darüber hinaus wurde Zstd auch in SquasFS integriert.

Größer, aber schneller

Dies wollen sich jetzt Julian Klode, der auch das Debian-Paketmanagement-Frontend APT betreut und Balint Reczey zunutze machen, um Ubuntu-Installationen zu beschleunigen. Klode hat zstd zu APT hinzugefügt, ein Bugreport von Reczey soll nun die Unterstützung für zstd auch in Debians DPKG einführen. Der einzige Nachteil der Methode ist die Zunahme in der Paketgröße. Die Entwickler haben alle Ubuntu-Pakete neu komprimiert, wobei die Größe des resultierenden Image um 6 Prozent von 5,6 auf 5,9 GByte anwuchs, während die Zeit, die eine Installation von Ubuntu brauchte, um rund 10 Prozent verkürzt wurde.

19 Level

Zstd verfügt über 19 Komprimierungslevel. Die erwähnten Tests wurden mit Level -19 vorgenommen. Die niedrigen Level sind dabei in der Größe mit gzip vergleichbar, aber wesentlich schneller, während mit zunehmendem Level die Größe zunimmt.  Der Effekt bei einzelnen Paketen ist unterschiedlich. So wuchs etwa das derzeit aktuelle Paket firefox_58.0.2+build1-0ubuntu0.17.10.1_amd64.deb zwar um 9 Prozent in der Größe, konnte aber in weniger als 20 Prozent der normalen Zeit entkomprimiert werden. Weitere Ergebnisse finden sich in Klodes Ankündigung auf der Ubuntu-Entwicklerliste.

Eatmydata

Noch weitaus mehr würden Ubuntu-Images von der neuen Kompressionstechnik profitieren, wenn zusätzlich das Paket eatmydata genutzt wird. Dabei wurden Einsparungen von 40 Prozent regisitriert. Bereits 2014 hat Debian-Entwickler Petter Reinholdtsen den Vorschlag gemacht, dieses Konzept für den Debian-Installer umzusetzen. Reinholdtsen schlug vor, mit eatmydata die Dateisystemsynchronisation während der Installation anzuschalten, da sie an dieser Stelle nutzlos sei und nur viel Zeit verschlinge. Das Paket erreicht dies durch die Abschaltung des Systemaufrufs fsync().

Die Ubuntu-Entwickler erwägen nun, eine Ausnahme des bereits am 1. März eingesetzten Feature Freeze für 18.04 zu beantragen, um offiziell Unterstützung für Zstd in APT und DPKG zu erreichen. Das wäre eine der Voraussetzungen um Zstd in Ubuntu 18.10 aktivieren zu können.

 

 

Beitrag kommentieren

Alle Kommentare
  • tuxnix

    13.03.2018, 13:12 Uhr

    Die Deinstallation von Ubuntu geht noch viel schneller. 🙂