Jak działa kompresja w obiektowej architekturze pamięci

Zespół inżynierów z MIT opracował obiektową hierarchię pamięci, która umożliwia wydajniejszą pracę z danymi. W artykule zrozumiemy, jak to działa.

Jak działa kompresja w obiektowej architekturze pamięci
/ PxHere /PD

Jak wiadomo, wzrostowi wydajności nowoczesnych procesorów nie towarzyszy odpowiednie zmniejszenie opóźnień podczas dostępu do pamięci. Różnica w zmianach wskaźników z roku na rok może sięgać nawet 10 razy (PDF, strona 3). W rezultacie powstaje wąskie gardło, które uniemożliwia pełne wykorzystanie dostępnych zasobów i spowalnia przetwarzanie danych.

Uszkodzenia wydajności spowodowane są tzw. opóźnieniem dekompresyjnym. W niektórych przypadkach przygotowawcza dekompresja danych może zająć do 64 cykli procesora.

Dla porównania: dodawanie i mnożenie liczb zmiennoprzecinkowych zająć nie więcej niż dziesięć cykli. Problem w tym, że pamięć pracuje z blokami danych o stałym rozmiarze, a aplikacje operują obiektami, które mogą zawierać różne typy danych i różnią się od siebie rozmiarem. Aby rozwiązać ten problem, inżynierowie z MIT opracowali obiektową hierarchię pamięci, która optymalizuje przetwarzanie danych.

Jak działa technologia

Rozwiązanie opiera się na trzech technologiach: Hotpadach, Zippadach oraz algorytmie kompresji COCO.

Hotpady to sterowana programowo hierarchia szybkiej pamięci rejestrowanej (brudnopis). Rejestry te nazywane są padami i są ich trzy – od L1 do L3. Przechowują obiekty o różnych rozmiarach, metadane i tablice wskaźników.

Zasadniczo architektura jest systemem pamięci podręcznej, ale dostosowana do pracy z obiektami. Poziom podkładki, na której znajduje się przedmiot, zależy od tego, jak często jest używany. Jeżeli któryś z poziomów „przepełni się”, system uruchamia mechanizm przypominający „śmieciarki” w językach Java lub Go. Analizuje, które obiekty są używane rzadziej niż inne i automatycznie przenosi je pomiędzy poziomami.

Zippady działają na Hotpadach - archiwizują i unarchiwizują dane, które wchodzą lub opuszczają dwa ostatnie poziomy hierarchii - pad L3 i pamięć główna. Pierwszy i drugi pad przechowują dane bez zmian.

Jak działa kompresja w obiektowej architekturze pamięci

Zippads kompresuje obiekty, których rozmiar nie przekracza 128 bajtów. Większe obiekty dzielone są na części, które następnie umieszczane są w różnych obszarach pamięci. Jak piszą twórcy, takie podejście zwiększa współczynnik efektywnie wykorzystywanej pamięci.

Do kompresji obiektów wykorzystuje się algorytm COCO (Cross-Object COmpression), o którym porozmawiamy później, choć system może także współpracować z Baza-Delta-Natychmiastowa lub FPC. Algorytm COCO jest rodzajem kompresji różnicowej (kompresja różnicowa). Porównuje obiekty z „bazą” i usuwa zduplikowane bity - patrz schemat poniżej:

Jak działa kompresja w obiektowej architekturze pamięci

Według inżynierów z MIT ich obiektowa hierarchia pamięci jest o 17% bardziej produktywna niż podejścia klasyczne. Jest znacznie bliższa w projektowaniu architekturze nowoczesnych aplikacji, więc nowa metoda ma potencjał.

Oczekuje się, że jako pierwsze zaczną korzystać z tej technologii firmy zajmujące się big data i algorytmami uczenia maszynowego. Kolejnym potencjalnym kierunkiem są platformy chmurowe. Dostawcy IaaS będą mogli wydajniej pracować z wirtualizacją, systemami przechowywania danych i zasobami obliczeniowymi.

Nasze dodatkowe zasoby i źródła:

Jak działa kompresja w obiektowej architekturze pamięci „Jak budujemy IaaS”: materiały o pracy 1cloud

Jak działa kompresja w obiektowej architekturze pamięci Ewolucja architektury chmury 1cloud
Jak działa kompresja w obiektowej architekturze pamięci Usługa przechowywania obiektów w 1Cloud

Jak działa kompresja w obiektowej architekturze pamięci Potencjalne ataki na HTTPS i sposoby ochrony przed nimi
Jak działa kompresja w obiektowej architekturze pamięci W jaki sposób podejścia Continuous Delivery i Continuous Integration są podobne, a jakie różne?
Jak działa kompresja w obiektowej architekturze pamięci Jak chronić serwer w Internecie: 1 doświadczenie w chmurze

Źródło: www.habr.com

Dodaj komentarz