StorageReview.com

Przegląd wydajności pamięci trwałej Intel Optane DC NoSQL

Enterprise   ◇  SSD

Na początku tego roku w naszej recenzji platformy Supermicro SuperServer 1029U-TN10RT opublikowaliśmy dane dotyczące pamięci trwałej Intel Optane DC . Supermicro było jednym z pierwszych producentów, którzy wprowadzili obsługę pamięci trwałej Intel, a dwuprocesorowy system 2U doskonale sprawdził się jako poligon doświadczalny dla pamięci trwałej. Analiza szybkości pamięci trwałej Optane DC w tradycyjnym podejściu do pamięci blokowej jest pouczająca, ale prawdziwa wartość pamięci trwałej ujawnia się w aplikacjach, które potrafią natywnie wykorzystać potencjał tego nowego medium, inteligentnie umieszczając dane w pamięci DRAM, pamięci trwałej lub pamięci wbudowanej, w zależności od potrzeb. Aby lepiej zrozumieć profil wydajności pamięci trwałej Optane DC, przetestowaliśmy serwer Supermicro, korzystając z wiodącej platformy NoSQL, Aerospike.

Pamięć trwała Intel Optane DC
Moduły pamięci trwałej Intel Optane DC w serwerze Supermicro

Czym jest Aerospike?

Aerospike to rozproszony, wysoce skalowalny, nierelacyjny system zarządzania bazami danych przeznaczony do wymagających zadań odczytu/zapisu danych operacyjnych. Został zaprojektowany z myślą o zapewnieniu niezwykle szybkiego i przewidywalnego czasu reakcji w przypadku dostępu do zbiorów danych obejmujących miliardy rekordów w bazach danych o pojemności od dziesiątek do setek TB. Aerospike obsługuje szeroką gamę strategicznych aplikacji, w tym zapobieganie oszustwom, płatności cyfrowe, silniki rekomendacji, licytowanie w czasie rzeczywistym i wiele innych. Do klientów Aerospike należą takie giganty, jak Adobe, Airtel, FlipKart, Kayak, Nielsen, PayPal i Wayfair.

W zależności od przypadku użycia i zestawu danych, Aerospike można wdrożyć w różnych konfiguracjach, które optymalizują zasoby systemowe. Aerospike można uruchomić z danymi w pamięci, indeksem w pamięci z danymi na dysku SSD lub indeksem na dysku SSD z danymi na dysku SSD. Niedawno Aerospike wydał nową konfigurację, która wykorzystuje pamięć trwałą Intel Optane DC w trybie AppDirect. Indeks jest przechowywany w pamięci PMEM z danymi na dysku SSD. Ten nowy tryb rozszerza pojemność Aerospike, utrzymując jednocześnie wydajność zbliżoną do indeksu w pamięci z danymi na dysku SSD. Ten nowy tryb nie tylko zapewnia opóźnienia poniżej milisekundy, ale także umożliwia szybkie, pełne restarty Aerospike bez konieczności przebudowy indeksu podstawowego.

Poprzez zastosowanie różnych typów obciążeń w różnych konfiguracjach Aerospike, można ocenić korzyści i wydajność wynikające z wykorzystania pamięci trwałej Intel Optane DC na serwerze SuperMicro SuperServer. Uruchomienie i porównanie testów porównawczych z konfiguracją indeksu w pamięci/danych na dysku SSD oraz indeksu w PMEM/danych na dysku SSD dostarcza informacji pozwalających na świadomy wybór pomiędzy pamięcią trwałą a pamięcią DRAM. Istnieje jedna dodatkowa konfiguracja, która może zapewnić dodatkowe informacje o wydajności pamięci trwałej. Chociaż funkcja indeksu w PMEM i danych w PMEM nie została jeszcze wydana, istnieje sposób na skonfigurowanie PMEM na serwerze do działania z indeksem w PMEM i uruchomienie części PMEM skonfigurowanej jako urządzenie blokowe, co daje pogląd na możliwości wydajnościowe indeksu w PMEM i danych w PMEM.

Konfiguracja NoSQL Aerospike

Do każdej z trzech konfiguracji zastosowano trzy różne obciążenia. Test Aerospike Java Benchmark wygenerował obciążenie odczytu/zapisu w proporcji 50/50, obciążenie tylko do odczytu i obciążenie tylko do zapisu z 4 serwerów klienckich. Każdy test składał się z kilku faz:

  • Faza pobierania – ładowanie danych do bazy danych.
  • Faza rozgrzewki – uruchom obciążenie zapisu na dwie godziny, aby stworzyć stabilny stan bazy danych.
  • Faza testowa – uruchomienie rzeczywistego obciążenia testowego na godzinę.

Przed uruchomieniem jakichkolwiek testów wybrano odpowiedni zestaw kluczy i rozmiar obiektu dla danych. Chociaż Aerospike oferuje szeroki zakres rozmiarów obiektów, od kilku bajtów do miliona bajtów, zestaw kluczy i rozmiar obiektu wybrano w celu przetestowania sprzętu serwera i zademonstrowania wydajności konfiguracji PMEM. Większe rozmiary obiektów mogą tworzyć wąskie gardło w sieci i nie w pełni demonstrować możliwości pamięci trwałej Optane DC. Dlatego we wszystkich testach zastosowano rozmiar obiektu 440 bajtów.

Rozmiar zestawu kluczy był ograniczony ilością pamięci używanej przez indeks w konfiguracji pamięć/dane na dysku SSD. Konfiguracja indeksu w pamięci była ograniczona do zestawu danych zawierającego 4 miliardy obiektów. Mimo że indeks w PMEM mógł obsłużyć pojemność 15.5 miliarda kluczy, użyto tylko 4 miliardów kluczy, aby lepiej porównać go z testem indeksu w pamięci. Ostatnie zestawy testów przeprowadzono z indeksem w PMEM i danymi w PMEM. Ponieważ serwer dysponował łącznie 1.5 TB pamięci PMEM, w tych testach użyto tylko miliarda kluczy.

Konfiguracja sprzętu

Konfiguracja sprzętowa obejmuje dwa kluczowe komponenty. Pojedynczy serwer bazy danych zawiera pamięć trwałą Intel Optane PC. Cztery serwery klienckie generują obciążenie serwera bazy danych.

Serwer bazy danych

  • Obudowa – SuperMicro Ultra 1U SYS-1029U-TN10RT
  • CPU
    • 2 x Intel Xeon Scalable 8268 (2.9 GHz, 24 rdzeni)
    • 2 x Intel Xeon Scalable 8280 (2.7 GHz, 28 rdzeni)
  • Pamięć masowa – 10 dysków SSD Intel DC P4510 2TB NVMe, 1 DWPD
  • Pamięć DRAM – 12 x 32 GB DDR4-2933
  • Pamięć trwała – 12 modułów Intel Optane DC PMM o pojemności 128 GB DDR4-2666
  • Sieć – 100 GbE
  • System operacyjny – Fedora 29  

Serwery klienckie

  • Podwozie – Dell R740xd
  • Procesor – 2 x Intel Xeon Scalable 6130
  • Pamięć DRAM – 256 GB
  • Sieć – 2 x 25 GbE
  • System operacyjny – Ubuntu – 18.04
  • Oprogramowanie – Aerospike Enterprise 4.5.1
  • Generator obciążenia – Aerospike Java Benchmark (klient Aerospike Java 4.4.0)

Wyniki wydajności Aerospike

Jak wspomniano, przeprowadziliśmy test w różnych konfiguracjach obciążenia, a także w różnych lokalizacjach indeksu i bazy danych. Dodatkowo użyliśmy dwóch różnych zestawów procesorów Intel Xeon Scalable drugiej generacji . Uruchomiliśmy zarówno procesory 8268, jak i 8280 na serwerze bazy danych, przy czym procesor 8280 jest najszybszym procesorem Intel obsługującym pamięć trwałą Optane DC. Pod względem częstotliwości taktowania procesory 8280 oferują wzrost o 12 GHz w porównaniu z procesorami 8268, co daje wzrost wydajności o 8.6%. Chociaż nie zostało to uwzględnione w poniższych tabelach, należy zauważyć, że pod względem jakości usług, wszystkie wyniki opóźnień dla testów były na poziomie lub blisko 100% poniżej milisekundy na serwerze.

Indeks w pamięci, dane na dyskach SSD NVMe

Aktywność Operacje przepustowe
Intel 8268
Operacje przepustowe
Intel 8280
Odczyt/Zapis 50/50 2,100,000 2,298,000
Przeczytane w 100% 2,240,000 2,720,000
Napisz 100% 1,760,000 2,020,000

Chociaż wiemy, że procesory 8280 oferują poprawę taktowania o 8.6% w porównaniu z procesorami 8268, kluczowym celem jest sprawdzenie, jak przekłada się to na poprawę działania aplikacji. W przypadku Aerospike, z indeksem zapisanym w pamięci i danymi na dyskach SSD NVMe, zaobserwowaliśmy następujące zmiany w pozycjach. Wydajność mieszanego odczytu/zapisu 50/50 wzrosła o 9.4%, odczytu 100% o 21.4%, a zapisu 100% o 14.8%. 

Indeks w pamięci trwałej Optane DC, dane na dyskach SSD NVMe

Aktywność Operacje przepustowe
Intel 8268
Operacje przepustowe
Intel 8280
Odczyt/Zapis 50/50 2,000,000 2,252,000
Przeczytane w 100% 2,200,000 2,630,000
Napisz 100% 1,740,000 1,980,000

Jak widać na tych danych, przeniesienie indeksów z pamięci DRAM do pamięci trwałej miało niewielki wpływ na wydajność transakcji. W środowisku produkcyjnym oznacza to jednak, że ponieważ Aerospike może używać pamięci trwałej zamiast DRAM do indeksowania, przywracanie danych po restarcie węzła bazy danych jest znacznie szybsze, ponieważ duża pula pamięci DRAM nie musi być przenoszona na dyski SSD w celu odbudowy. W przypadku systemów o wysokiej gęstości danych obserwuje się również oszczędności, ponieważ testowane moduły pamięci trwałej Optane DC o pojemności 128 GB są znacznie tańsze niż moduły DIMM o pojemności 128 GB. 

Indeks i dane dotyczące pamięci trwałej Optane DC

Aktywność Operacje przepustowe
Intel 8268
Operacje przepustowe
Intel 8280
Odczyt/Zapis 50/50 2,600,000 2,866,000
Przeczytane w 100% 2,810,000 3,100,000
Napisz 100% 2,120,000 2,210,000

Jak wspomniano, Aerospike ogłosił, ale jeszcze nie zapewnił powszechnej dostępności możliwości uruchamiania zarówno indeksów, jak i bazy danych na pamięci trwałej Intel Optane DC. Mimo to, zaprezentowaliśmy aktualną wersję kodu, która to umożliwia, co pokazuje wzrost o około 33%, czyli 600 000 operacji na sekundę w przypadku obciążenia mieszanego. 

Wniosek

Pamięć trwała Intel Optane DC to niezwykle potężny element hierarchii danych. Umieszczając się pomiędzy pamięcią RAM a pamięcią masową, rozwiązanie Intela w końcu wprowadza tę technologię do głównego nurtu. Jednak sam dostęp do nowej technologii pamięci masowej to za mało – aplikacje, które mogą natywnie wykorzystać pamięć trwałą, zyskają ogromną przewagę konkurencyjną. Elastyczność, jaką widzimy w przypadku Aerospike, pokazuje, że firma była gotowa od samego początku, oferując obsługę trybu bezpośredniego aplikacji (pamięć blokowa) dla pamięci trwałej Optane DC. Co więcej, jest liderem w świecie NoSQL, jeśli chodzi o przechowywanie zarówno indeksów, jak i danych w modułach pamięci trwałej. Chociaż ta ostatnia jest wciąż wschodzącą wizją, wstępne wyniki wyglądają bardzo obiecująco.

Aerospike

Omów tę recenzję

Zapisz się do newslettera StorageReview

Skontaktuj się z StorageReview

Biuletyn | YouTube | Podcast iTunes / Spotify | Instagram | Twitter | TikTok | Kanał RSS

Brian Beeler

Brian mieszka w Cincinnati w stanie Ohio i jest głównym analitykiem oraz prezesem StorageReview.com.