Zstandard: Dreimal schnellere Kompression mit Intel QuickAssist
Schnelle Kompression und Dekompression ist für viele Anwendungen wichtig. Auf Servern mit geeigneten Prozessoren geht das jetzt schneller.
Die Zstandard (Zstd) Version 1.5.4 wird um ein Feature erweitert, durch das ein externes Plugin per Intel QuickAssist (QAT) bis zu 3,2-fachen Durchsatz bei der Komprimierung von Daten ermöglicht. Ähnlich stark steigt auch die Energieeffizienz. Die P99-Latenz ist zudem deutlich geringer, hier ist es sogar Faktor 3,8.
Normalerweise erstellt ein Sequence Producer aus einem Datensatz im Input Buffer eine Liste mit sich ganz oder teilweise gleichenden Daten, aus denen dann der komprimierte Datensatz generiert wird. Mit Version 1.5.4 kann diese Aufgabe blockweise durch externe Plug-ins übernommen werden.
Anwendungen können ZSDT_compress2() und ZSDT_compressStream2() weiter auf die gleiche Art aufrufen. Intel QAT kann aus dem Datensatz dann mit Hardwarebeschleunigung die passenden Sequenzen generieren und an Zsdt zurückgeben. Damit ist Kompression per Zsdt auf entsprechenden Prozessoren Hardware-beschleunigt. Dekompression wird hingegen nicht umfasst.
Hardwarebeschleunigung ist viel effizienter
Für die Tests hat das Team von Intel einen Xeon Platinum 8470N verwendet, auf dem der Turbo Boost deaktiviert war. Mit aktiviertem Boost wäre der Geschwindigkeitsunterschied vermutlich etwas geringer gewesen. Bereits ohne Turbo braucht QAT 90 Watt weniger an elektrischer Leistung und ist gleichzeitig mehr als dreimal so schnell wie die Software-Implementation. Mit aktivem Boost wäre der Unterschied bei der Effizienz vermutlich noch größer.
Intel Quick-Assist ist nicht auf allen Prozessoren verfügbar, sondern in erste Linie in Xeon-CPUs für Rechenzentren zu finden. Die 4. Generation Xeon Scalable bietet das Feature als optionales Upgrade. Es kann beim Kauf bereits aktiv sein oder später per Firmware-Update freigeschaltet werden.