Superpack: Facebook nutzt Compiler-Technik zur App-Kompression

Mit Superpack kann Facebook seine Android-Apps um rund 20 Prozent kleiner packen als bisher. Möglich macht das Compiler-Technik.

Artikel veröffentlicht am ,
Facebook macht Apps mit Superpack kleiner.
Facebook macht Apps mit Superpack kleiner. (Bild: Facebook)

Das Engineering-Team von Facebook beschreibt in einem aktuellen Blogeintrag mit Superpack eine neue Kompressionstechnik, die das Unternehmen bereits intern einsetzt. Dank neuartiger Methoden sollen die Android-Apps des Konzerns damit rund 20 Prozent kleiner sein als die standardmäßig genutzte Zip-Komprimierung.

Stellenmarkt
  1. Data Engineer (m/w/d) Big Data / Azure / Power BI
    Poppe + Potthoff GmbH, Werther (Westfalen)
  2. IT-Einkäufer (m/w/d)
    Swiss Steel Edelstahl GmbH, Düsseldorf
Detailsuche

Um diese auch im Vergleich zu anderen bisherigen Kompressionstechniken deutliche Steigerung zu erreichen, setzt Facebook unter anderem auf eine neuartige Idee, die Compiler-Technik mit modernen Kompressionstechniken kombiniert. Grundlage der Idee ist außerdem die Kolmogorow-Komplexität, wonach ein Programm, das Daten erzeugt, kleiner sein kann als die Auflistung der Daten selbst.

Dazu heißt es in dem Blog: "Die Formalisierung der Komprimierung als generativer Prozess, der kleine Programme erzeugt, bietet erhebliche Vorteile. Es gibt dem Datenkompressionsentwickler Zugriff auf eine Fundgrube ausgereifter Compiler-Tools und -Techniken, die bis zum Ende der Datenkompression wiederverwendet werden können". Dazu gehören das Parsen, Code-Erzeugung oder auch SMT-Solver.

Compiler-Technik zur Kompression

Wie erwähnt kombiniert Facebook dies mit bestehenden Kompressionstechniken: "Die Effektivität von Superpack liegt in seiner Fähigkeit, diese Compiler-Techniken mit denen zu verbinden, die in der Mainstream-Datenkomprimierung verwendet werden. Semantisches Wissen aus dem Compiler-Teil von Superpack führt zu einem verbesserten LZ-Parsing (dem Komprimierungsschritt, der Redundanz eliminiert) sowie zu einer verbesserten Entropiecodierung (der Schritt, der kurze Codes für häufige Informationen erzeugt)".

Golem Akademie
  1. Advanced Python - Fortgeschrittene Programmierthemen
    27.-28. Januar 2022, online
  2. C++ 20: Concepts - Ranges - Coroutinen - Module
    4.-8. Oktober 2021, online
  3. IT-Sicherheit für Webentwickler
    2.-3. November 2021, online
Weitere IT-Trainings

Beim LZ-Parsing werden von Superpack Daten etwa auf Grundlage des AST (Abstract Syntax Tree) gruppiert. Für die Entropiecodierung setzt Superpack auf Asymmetric Numeral Systems (ANS), das Facebook etwa bereits in Zstandard nutzt. Auch hierfür setzt Facebook wiederum auf Informationen über die Datenstruktur aus der Compiler-Analyse.

Für unstrukturierte Daten setzt Facebook auf eine weitere Technik: "Superpack versucht, den Werten Struktur zu verleihen, indem es sie zum Zeitpunkt der Komprimierung in Programme umwandelt. Dann werden die Programme zur Dekompression interpretiert, um die Originaldaten wiederherzustellen". Genutzt werde dies etwa für Referenzen in dem Dex-Bytecode der App. Zusätzlich dazu kommt Superpack noch für ARM-Maschinencode zum Einsatz sowie für den von Facebook erstellten Hermes-Bytecode für Javascript.

Handbuch für Softwareentwickler: Das Standardwerk für professionelles Software Engineering

Superpack ist in Ocaml und C geschrieben und als asymmetrisches Kompressionsverfahren gedacht. Das heißt, das Dekomprimieren sollte schnell sein, das Komprimieren darf aber langsam sein. Immerhin geschieht dies im Fall der Facebook-Apps vergleichsweise wenig und es stehen viele Ressourcen dafür bereit.

Noch fehlt Superpack laut Facebook aber eine gute Integration in die Werkzeuge von Android, etwa um Delta-Updates besser mit Hilfe der neuen Technik komprimieren zu können. Darüber hinaus plant das Team, die Technik so ähnlich auch für iOS einzusetzen. Außerdem heißt es: "Wir könnten das Offenlegen von Superpack als Open Source in Betracht ziehen". So weit ist es offenbar aber noch nicht.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Aktuell auf der Startseite von Golem.de
Microsoft
Das Surface Pro 8 bekommt zum ersten Mal ein neues Design

Das Surface Pro 8 ist da und sieht komplett anders aus. Das reicht von kleineren Displayrändern zu einem dünneren Chassis.

Microsoft: Das Surface Pro 8 bekommt zum ersten Mal ein neues Design
Artikel
  1. Surface Laptop Studio: Microsoft bringt Surface Laptop und Surface Studio zusammen
    Surface Laptop Studio
    Microsoft bringt Surface Laptop und Surface Studio zusammen

    Statt eines neuen Surface Book bringt Microsoft ein völlig neues Gerät heraus. Der Surface Laptop Studio hat ein ungewöhnliches Scharnier.

  2. Malware: Mehrere Kliniken nach Hackerangriff vom Netz genommen
    Malware
    Mehrere Kliniken nach Hackerangriff vom Netz genommen

    Neben den Kliniken seien auch Bildungseinrichtungen von dem Malware-Angriff betroffen. Sicherheitshalber wird nun mit Papier und Stift gearbeitet.

  3. CMOS-Batterie: Firmware-Update hat PS4 offenbar vor ewigem Aus gerettet
    CMOS-Batterie
    Firmware-Update hat PS4 offenbar vor ewigem Aus gerettet

    Sony hat mit Firmware 9.0 für die Playstation 4 ein großes Problem gelöst: eine leere CMOS-Batterie kann die Konsole nicht mehr zerstören.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Black Week bei NBB: Bis 50% Rabatt (u. a. MSI 31,5" Curved WQHD 165Hz 350€) • PS5 Digital + 2. Dualsense + FIFA 22 mit o2-Vertrag bestellbar • Samsung T7 Portable SSD 1TB 105,39€ • Thermaltake Level 20 RS ARGB Tower 99,90€ • Gran Turismo 7 25th Anniv. vorbestellbar 99,99€ [Werbung]
    •  /