TMO, ein Facebook-Mechanismus, der RAM auf Servern spart

Facebook-Ingenieure enthüllten, durch einen Bericht, die Einführung von Technologie TMO (Transparent Memory Offloading) im vergangenen Jahr, die ermöglicht es, RAM auf Servern erheblich zu sparen durch Verschieben von sekundären Daten, die nicht für die Arbeit auf billigeren Laufwerken wie NVMe-SSDs erforderlich sind.

Facebook schätzt, dass TMO auf jedem Server zwischen 20 % und 32 % RAM einspart. Die Lösung ist für den Einsatz in Infrastrukturen konzipiert, in denen Anwendungen in isolierten Containern laufen. Die Kernel-seitigen Komponenten von TMO sie sind bereits im Linux-Kernel enthalten.

Auf der Seite des Linux-Kernels ist die Operation der Technologie wird vom PSI-Subsystem bereitgestellt (Pressure Stall Information), ausgeliefert ab Version 4.20.

PSI wird bereits in verschiedenen Speichermangeltreibern verwendet und ermöglicht die Analyse von Informationen über die Wartezeit zum Abrufen verschiedener Ressourcen (CPU, Speicher, I/O). Mit PSI können User-Space-Prozessoren die Systemlast und Verlangsamungsmuster genauer einschätzen, sodass Anomalien erkannt werden können, bevor sie sich merklich auf die Leistung auswirken.

Im Benutzerraum führt die Senpai-Komponente TMO aus, das das Speicherlimit für Anwendungscontainer dynamisch über cgroup2 basierend auf den vom PSI empfangenen Daten anpasst.

Senpai analysiert die Anzeichen einer beginnenden Ressourcenknappheit über PSI, bewertet die Empfindlichkeit von Anwendungen gegenüber langsamen Speicherzugriffen und versucht, die minimal erforderliche Speichergröße zu ermitteln für einen Container, in dem die für den Job erforderlichen Daten im RAM verbleiben, und zugehörige Daten, die im Dateicache saßen oder derzeit nicht direkt verwendet werden, werden auf die Swap-Partition gezwungen.

Transparent Memory Offload (TMO) ist Metas Lösung für heterogene Rechenzentrumsumgebungen. Es führt einen neuen Linux-Kernel-Mechanismus ein, der den Arbeitsverlust aufgrund von Ressourcenknappheit in CPU, Speicher und I/O in Echtzeit misst. Anhand dieser Informationen und ohne vorherige Kenntnis der Anwendung passt TMO automatisch die Speichermenge an, die auf ein heterogenes Gerät, wie z. B. einen komprimierten Speicher oder eine SSD, ausgelagert werden soll. Dies geschieht basierend auf den Leistungsmerkmalen des Geräts und der Empfindlichkeit der Anwendung gegenüber langsameren Speicherzugriffen.

Deshalb Die Essenz von TMO besteht darin, Prozesse in Bezug auf den Speicherverbrauch auf einer "strengen Diät" zu halten, wodurch das Verschieben nicht verwendeter Speicherseiten in die Auslagerungspartition erzwungen wird, deren Entfernung die Leistung nicht merklich beeinträchtigt (z. B. Seiten mit Code, der nur während der Initialisierung verwendet wird, und einmalige Daten, die auf der Festplatte zwischengespeichert werden). Im Gegensatz zum Leeren von Daten in die Auslagerungspartition als Reaktion auf wenig Arbeitsspeicher löscht TMO Daten auf der Grundlage einer prädiktiven Vorhersage.

Das Ausbleiben des Zugriffs auf eine Speicherseite innerhalb von 5 Minuten wird als eines der Kriterien für die Bevorzugung verwendet. Diese Seiten werden kalte Seiten genannt und machen im Durchschnitt etwa 35 % des Arbeitsspeichers der Anwendung aus (je nach Art der Anwendung gibt es eine Variation von 19 % bis 65 %).

Die Einstellung berücksichtigt Aktivitäten, die mit anonymen Speicherseiten (von der Anwendung zugewiesener Speicher) und für das Zwischenspeichern von Dateien (vom Kernel zugewiesener Speicher) verbunden sind. In einigen Anwendungen ist der anonyme Speicher der Hauptverbraucher, aber in anderen ist auch der Datei-Cache sehr wichtig.

Um ein Ungleichgewicht beim Leeren des Speichers in den Cache zu vermeiden, verwendet TMO einen neuen Paging-Algorithmus, der anonyme Seiten und Seiten, die dem Dateicache zugeordnet sind, proportional leert.

Das Verschieben selten verwendeter Seiten in einen langsameren Speicher hat keine großen Auswirkungen auf die Leistung, kann jedoch die Hardwarekosten erheblich senken. Daten werden an SSDs oder komprimierten Auslagerungsbereich im RAM gesendet. Auf Kosten der Speicherung von einem Byte Daten ist die Verwendung von NVMe-SSDs bis zu 10-mal günstiger als die Verwendung von Komprimierung im RAM.

Wenn Sie mehr darüber erfahren möchten, können Sie die Details einsehen im folgenden link.


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: AB Internet Networks 2008 SL
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.

  1.   elian sagte

    kann dies auf normalen Computern mit normalen Apps verwendet werden?