Wie funktioniert die Kompression in der objektorientierten Speicherarchitektur?

Ein Team von Ingenieuren des MIT hat eine objektorientierte Speichhierarchie entwickelt, um die Datenverarbeitung effizienter zu gestalten. In diesem Artikel werfen wir einen Blick darauf, wie sie aufgebaut ist.

Wie funktioniert die Kompression in der objektorientierten Speicherarchitektur?
/ PxHere / PD

Bekanntermaßen ist das Wachstum der Leistung moderner CPUs nicht mit einer entsprechenden Verringerung der Latenz bei Speicherzugriffen verbunden. Die Unterschiede in den Kennzahlen können von Jahr zu Jahr bis zu 10-mal variieren (PDF, S. 3). Infolgedessen entsteht ein Flaschenhals, der die vollstĂ€ndige Nutzung der verfĂŒgbaren Ressourcen einschrĂ€nkt und die Datenverarbeitung verlangsamt.

Die sogenannte Dekompressionslatenz beeintrÀchtigt die Leistung. In einigen FÀllen kann die Vorbereitung der Dekompression von Daten bis zu 64 Prozessorzyklen in Anspruch nehmen.

Zum Vergleich: Das Addieren und Multiplizieren von Fließkommazahlen benötigt nicht mehr als zehn Zyklen. Das Problem liegt darin, dass der Speicher mit Datenblöcken fester GrĂ¶ĂŸe arbeitet, wĂ€hrend Anwendungen mit Objekten operieren, die unterschiedliche Datentypen enthalten und in ihrer GrĂ¶ĂŸe variieren können. Um dieses Problem zu lösen, haben Ingenieure des MIT eine objektorientierte Speicherhierarchie entwickelt, die die Datenverarbeitung optimiert.

Wie die Technologie funktioniert

Das zugrunde liegende Lösungskonzept basiert auf drei Technologien: Hotpads, Zippads und dem COCO-Kompressionsalgorithmus.

Hotpads sind eine softwaregesteuerte Hierarchie von ultraschnellem Registerspeicher (Scratchpad). Diese Register werden Pads genannt und es gibt drei davon – von L1 bis L3. In ihnen werden Objekte unterschiedlicher GrĂ¶ĂŸe, Metadaten und Arrays von Zeigern gespeichert.

Im Wesentlichen stellt die Architektur ein Cachingsystem dar, das jedoch speziell fĂŒr die Verarbeitung von Objekten optimiert ist. Die Ebene des Pads, auf der sich ein Objekt befindet, hĂ€ngt davon ab, wie hĂ€ufig es verwendet wird. Wenn eine dieser Ebenen "ĂŒberlĂ€uft", aktiviert das System einen Mechanismus, der dem "Garbage Collector" in Programmiersprachen wie Java oder Go Ă€hnelt. Dieser analysiert, welche Objekte seltener verwendet werden als die anderen und verschiebt sie automatisch zwischen den Ebenen.

Zippads basiert auf Hotpads – es archiviert und dekomprimiert Daten, die zwei letzte Hierarchieebenen – L3-Pads und Hauptspeicher – erreichen oder verlassen. In den ersten beiden Pads bleiben die Daten unverĂ€ndert.

Wie funktioniert die Kompression in der objektorientierten Speicherarchitektur?

Zippads komprimiert Objekte, deren GrĂ¶ĂŸe 128 Byte nicht ĂŒberschreitet. GrĂ¶ĂŸere Objekte werden in Teile aufgeteilt, die dann in verschiedenen Speicherbereichen platziert werden. Laut den Entwicklern erhöht dieser Ansatz den EffektivitĂ€tsgrad des genutzten Speichers.

Zur Komprimierung von Objekten wird der Algorithmus COCO (Cross-Object COmpression) verwendet, ĂŒber den wir spĂ€ter berichten werden, obwohl das System auch mit Base-Delta-Immediate oder FPC. Der COCO-Algorithmus ist eine Form der differenziellen Kompression (differential compression). Er vergleicht Objekte mit "Basisobjekten" und entfernt wiederholte Bits – siehe das Diagramm unten:

Wie funktioniert die Kompression in der objektorientierten Speicherarchitektur?

Nach Angaben von MIT-Ingenieuren ist ihre objektorientierte Speichersystemarchitektur 17 % leistungsfĂ€higer als herkömmliche AnsĂ€tze. Sie ist viel nĂ€her an der Architektur moderner Anwendungen, daher hat die neue Methode großes Potenzial.

Es wird erwartet, dass vor allem Unternehmen, die mit großen Datenmengen und Machine-Learning-Algorithmen arbeiten, diese Technologie anwenden werden. Ein weiteres potenzielles Anwendungsfeld sind Cloud-Plattformen. IaaS-Anbieter werden in der Lage sein, Virtualisierung, Datenspeichersysteme und Rechenressourcen effizienter zu nutzen.

Unsere zusÀtzlichen Ressourcen und Quellen:

Wie funktioniert die Kompression in der objektorientierten Speicherarchitektur? „Wie wir IaaS aufbauen“: Materialien ĂŒber die Arbeit von 1cloud

Wie funktioniert die Kompression in der objektorientierten Speicherarchitektur? Evolution der Cloud-Architektur 1cloud
Wie funktioniert die Kompression in der objektorientierten Speicherarchitektur? Objektspeicher-Service in 1cloud

Wie funktioniert die Kompression in der objektorientierten Speicherarchitektur? Potenzielle Angriffe auf HTTPS und Möglichkeiten zu deren Schutz
Wie funktioniert die Kompression in der objektorientierten Speicherarchitektur? Ähnlichkeiten und Unterschiede zwischen Continuous Delivery und Continuous Integration
Wie funktioniert die Kompression in der objektorientierten Speicherarchitektur? Wie man einen Server im Internet schĂŒtzt: Erfahrungen von 1cloud

Quelle: habr.com

Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server đŸ”„ Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster