HSE, silnik pamięci masowej typu open source, zoptymalizowany SSE dla SSD

Micron Technology (firma specjalizująca się w produkcji pamięci DRAM i flash) ogłosiła wprowadzenie nowego silnika o nazwie „HSE” (Heterogeneous-memory Storage Engine), który został opracowany z uwzględnieniem specyfiki zastosowań w dyskach SSD opartych na pamięci flash NAND (X100, TLC, QLC 3D NAND) lub pamięci tylko do odczytu (NVDIMM).

Silnik został zaprojektowany jako biblioteka do osadzenia w innych aplikacjach i obsługuje przetwarzanie danych typu klucz-wartość . Kod HSE jest napisany w języku C i rozpowszechniany na licencji Apache 2.0.

Silnik ten jest wykorzystywany m.in. do przechowywania danych niskiego poziomu w systemach NoSQL DBMS, do przechowywania danych zdefiniowanych programowo (SDS), takich jak Ceph i Scality RING, do platform przetwarzania dużych ilości danych (Big Data), do systemów obliczeniowych o wysokiej wydajności (HPC), do urządzeń Internetu rzeczy (IoT) oraz do rozwiązań dla systemów uczenia maszynowego.

Technologia HSE jest zoptymalizowana nie tylko pod kątem maksymalnej wydajności , ale także zapewnienia trwałości różnych klas dysków SSD. Wysoka prędkość jest osiągana dzięki hybrydowemu modelowi pamięci masowej: najważniejsze dane są przechowywane w pamięci podręcznej, co zmniejsza liczbę dostępów do dysku.

Jako przykład integracji nowego silnika z zewnętrznymi projektami przygotowano dokumentacyjną wersję bazy danych MongoDB DBMS, która została przetłumaczona na HSE.

Pod względem technologicznym HSE opiera się na dodatkowym module rdzeniowym, mpool , który implementuje wyspecjalizowany interfejs do przechowywania obiektów na dyskach SSD, uwzględniając ich możliwości i charakterystykę, umożliwiając tym samym fundamentalnie różne parametry szybkości i trwałości. Mpool to również projekt open source firmy Micron Technology, wydany równolegle z HSE, ale wyróżnia się jako odrębny projekt infrastrukturalny. Mpool zakłada wykorzystanie pamięci trwałej i pamięci strefowej, ale obecnie obsługiwane są tylko tradycyjne dyski SSD.

Testy wydajności z wykorzystaniem pakietu YCSB (Yahoo Cloud Serving Benchmark) wykazały znaczny wzrost wydajności przy użyciu 2 TB pamięci masowej i przetwarzaniu bloków danych o rozmiarze 1 KB. Szczególnie znaczący wzrost wydajności zaobserwowano w teście przy równomiernym rozłożeniu operacji odczytu i zapisu.

Na przykład MongoDB z silnikiem HSE okazał się około 8 razy szybszy niż wersja ze standardowym silnikiem WiredTiger, a silnik RocksDB DBMS przewyższył HSE ponad 6-krotnie. Doskonałe wskaźniki wydajności są również widoczne w testach, które obejmowały 95% operacji odczytu i tylko 5% zmian lub dodatków.

Inny wykonany test obejmuje tylko operacje odczytu, wykazuje zysk około 40%. Szacuje się, że wzrost przeżywalności dysków SSD podczas operacji zapisu w porównaniu z rozwiązaniem opartym na RocksDB wynosi 7 razy.

Kluczowe cechy HSE:

  • Wsparcie dla standardowych i zaawansowanych operatorów przetwarzanie danych w formacie klucz / wartość;
  • Pełna obsługa transakcji i możliwość wyodrębnienia segmentów magazynu poprzez tworzenie migawek (migawki mogą być również używane do utrzymywania oddzielnych kolekcji w sklepie).
  • Możliwość używania kursorów do przechodzenia po danych w reprezentacjach opartych na migawkach.
  • Model danych zoptymalizowany pod kątem mieszanych typów obciążenia w jednym repozytorium.
  • Elastyczne mechanizmy zarządzanie niezawodnością pamięci masowej.
  • Konfigurowalne schematy orkiestracji danych (dystrybucja przez różne typy pamięci obecnej w repozytorium).
  • Biblioteka z C API które można dynamicznie łączyć z dowolną aplikacją.
    Możliwość skalowania do terabajtów danych i setek miliardów kluczy w pamięci masowej.
  • Efektywne przetwarzanie tysięcy równoległych operacji.
  • Znaczny wzrost przepustowości, mniejsze opóźnienia i zwiększone odczyt / zapis dla różnych typów obciążenia w porównaniu z typowymi obejściami.
  • Możliwość korzystania z różnych klas dysków SSD w tej samej pamięci masowej w celu optymalizacji wydajności i trwałości.

Dostęp do kodu silnika można uzyskać, klikając poniższy link.


Dodaj jako preferowane źródło w Google