Ten artykuł został napisany przez Nirmala Sundararajan, HPC i AI do laboratorium innowacji, kwiecień 2020
Dell EMC gotowe rozwiązania do HPC BeeGFS pamięci masowej o wysokiej pojemności jest w pełni obsługiwane, równoległe rozwiązanie systemu plików o wysokiej wydajności. Ten blog przedstawia architekturę rozwiązania, sposób jego dostrojenia do HPC wydajności i przedstawia wydajność we/wy przy użyciu zarówno IOZone jak i losowych testów wydajności. Wysoce wydajne rozwiązanie pamięci masowej BeeGFS oparte na urządzeniach NVMe zostało opisane w tym blogu opublikowanym w trybie lis 2019. Opisana architektura wydajności oraz rozwiązanie o wysokiej pojemności pamięci masowej. Te dwa rozwiązania dla BeeGFS są różne w odniesieniu do ich celów projektu i przypadków użycia. Rozwiązanie o wysokiej wydajności jest przeznaczone do przechowywania pamięci masowej, czyli przemieszczania się w przypadku przejściowych zestawów danych, które zazwyczaj nie są zachowywane po upływie czasu trwania zadania. Rozwiązanie o wysokiej pojemności używa poczwórnej Dell EMC PowerVault ME4084 całkowicie wypełnionej tablicą dysków twardych o pojemności 336 i zapewnia niesformatowaną pojemność 4PB, jeśli wyposażona jest w dyski z 12 TBmi SAS.
Dell EMC Ready Solution for HPC BeeGFS Storage o wysokiej pojemności składa się z serwera zarządzania, pary serwerów metadanych, pary serwerów pamięci masowej i skojarzonych z nimi tablic pamięci masowej. Rozwiązanie pozwala na przechowywanie danych z jednym obszarem nazw, do którego dostęp mają węzły obliczeniowe klastra. Poniższy rysunek przedstawia architekturę odniesienia rozwiązania z następującymi podstawowymi elementami:
Rysunek 1 przedstawia architekturę odniesienia rozwiązania.
Rysunek 1: Dell EMC gotowe rozwiązanie do HPC BeeGFS Storage
Na rysunku 1 serwer zarządzania z uruchomioną demonem monitorującym BeeGFS ma PowerEdge R640. Dwa serwery metadanych (MDS) to PowerEdge serwery R740 w konfiguracji o aktywnej dostępności aktywnej. Para MDS jest połączona z rozmiarem 2U, PowerVault ME4024 Array, 12 GB/s SAS łączach. Macierz pamięci masowej ME4024 zawiera wartości docelowe metadanych (MDTs). Inna para PowerEdge serwerów R740, również w konfiguracji Active-Active High Availability, jest używana jako serwery pamięci masowej (SS). Ta para RR jest podłączona do czterech całkowicie wypełnionych PowerVault ME4084 macierze pamięci masowej za pomocą łączy SAS 12 GB/s. Macierze ME4084 obsługują wybór 4 TB, 8 TB, 10 TB lub 12 TB NL SAS 7,2 K RPM dyskach twardych (HDD i hosta pamięci masowej (STs) dla systemu plików BeeGFS. To rozwiązanie używa Mellanox InfiniBand HDR100 dla sieci danych. Komputery klienckie i serwery są podłączone do 1U Mellanox przełącznikiem Quantum Edge QM8790, który obsługuje do 80 portów HDR100 przy użyciu kabli na rozdzielaczu HDR.
Poniższa tabela przedstawia speficiations sprzętu i wersje oprogramowania zatwierdzone do rozwiązania.
Serwer zarządzania | 1x Dell EMC PowerEdge R640 |
---|---|
Serwery metadanych (MDS) | 2x Dell EMC PowerEdge R740 |
Serwery pamięci masowej (SS) | 2x Dell EMC PowerEdge R740 |
Procesor | Serwer zarządzania: 2 x Intel Xeon Gold 5218 @ 2,3 GHz, 16 rdzeni MDS i SS: 2 procesory Intel Xeon Gold 6230 2,10 GHz, 20 rdzeni na procesor |
Pamięć | Serwer zarządzania: 12 x 8 GB DDR4 2666MT/s DIMM-96GB MDS i SS: 12x 32 GB DDR4 2933MT/s DIMM-384GB |
HCA InfiniBand (gniazdo 8) | 1x Mellanox ConnectX-6 Single Port HDR100 adapter na MDS i SS |
Zewnętrzne kontrolery pamięci masowej | 2 Dell 12Gbps SAS HBA (na każdym z usług MDS) 4x Dell 12Gbps SAS HBA (w przypadku każdego SS) |
Obudowa pamięci masowej | 4-2,69 calowy Dell EMC PowerVault obudowy ME4084 z pełnym wypełnieniem dysków o pojemności 336 PB, jeśli są wyposażone w dyski SAS 8TB w 4X ME4084 |
Obudowa pamięci masowej metadanych | 1x Dell EMC PowerVault obudowa ME4024 całkowicie wypełnioną liczbą 24 napędów |
Kontrolery RAID | Dupleksowe kontrolery RAID w obudowach ME4084 i ME4024 |
Dyski twarde | 84-8TB 7200 RPM NL SAS3 napędów na ME4084 obudowę 24-960GB SAS3 dyski SSD na ME4024 |
System operacyjny | CentOS Linux zwalnia 8.1.1911 (rdzeń) |
Wersja jądra | 4.18.0-147.5.1. EL8 _1. x86_64 |
Mellanox OFED wersji | 4,7-3.2.9.0 |
Grafana | 6.6.2-1 |
InfluxDB | 1.7.10-1 |
BeeGFS FILE SYSTEM | 7,2 beta2 |
Tabela 1: Konfiguracja stanowiska testowego
Uwaga: W celu scharakteryzowania wydajności wykorzystano BeeGFS w wersji 7,2 beta2.
Architektura BeeGFS składa się z czterech głównych usług:
Istnieje również opcjonalna usługa monitorowania BeeGFS.
Z wyjątkiem usług klienckich, które są modułami jądra, Zarządzanie metadanymi, metadanymi i pamięcią masową jest procesem miejsca użytkownika. W tych samych komputerach jednocześnie można uruchomić dowolną kombinację usług BeeGFS (komponenty klienta i serwera). Możliwe jest także uruchamianie wielu wystąpień dowolnej usługi BeeGFS na jednym komputerze. W Dell EMC o dużej pojemności konfiguracja BeeGFS, usługa monitorowania działa na serwerze zarządzania, wiele wystąpień usługi przesyłania metadanych na serwerach metadanych i pojedyncze wystąpienie usługi pamięci masowej działa na serwerach pamięci masowej. Usługa zarządzania jest zainstalowana na serwerach metadanych.
Usługa monitorowania BeeGFS (BeeGFS-Mon. Service) gromadzi dane statystyczne BeeGFS i udostępnia je użytkownikowi przy użyciu InfluxDBbazy danych serii czasu. W celu wizualizacji danych beegfs-Mon-grafana zawiera wstępnie zdefiniowane pulpity nawigacyjne grafana , które mogą być używane. Rysunek 2 zawiera ogólny przegląd klastrów BeeGFS przedstawiających liczbę usług pamięci masowej i usług metadanych w konfiguracji (zwanych węzłami na pulpicie nawigacyjnym). Zawiera również listę innych dostępnych widoków pulpitu nawigacyjnego i zawiera przegląd elementów docelowych pamięci masowej.
Rysunek 2 Grafana pulpit nawigacyjny — przegląd BeeGFSa
Macierz pamięci masowej ME4024 używana do przechowywania metadanych jest całkowicie wypełniona 960GB 24x. Te napędy są skonfigurowane w 12x liniowej RAID1 grupach dysków z dwoma dyskami, jak pokazano na rysunku 3. Każda grupa RAID1 to obiekt docelowy metadanych.
Rysunek 3, całkowicie wypełniony macierz ME4024 z 12 MDTs
W programie BeeGFS każda usługa przesyłania metadanych obsługuje tylko jedną MDT. Ponieważ w sieci jest 12 MDTs, musi być 12 wystąpień usługi przesyłania metadanych. Każdy z dwóch serwerów metadanych uruchamia sześć wystąpień usługi przesyłania metadanych. Obiekty docelowe metadanych są sformatowane przy użyciu systemu plików ext4 (ext4 File System, dobrze, jak małe pliki i małe operacje na plikach). Ponadto BeeGFS przechowuje informacje w rozszerzonych atrybutach i bezpośrednio na inodes systemu plików w celu zoptymalizowania wydajności, z których wszystkie działają dobrze z ext4 systemem plików.
Powrót do początku
Usługa zarządzania beegfs jest skonfigurowana na obu serwerach metadanych. Magazyn z zarządzaniem beegfs jest inicjowany w katalogu z obiektem docelowym metadanych 1, jak pokazano poniżej:
/opt/beegfs/sbin/beegfs-Setup-mgmtd-p/beegfs/metaA-numa0-1/mgmtd-S beegfs zarządzanie
Usługa zarządzania została uruchomiona na serwerze meta.
W tym rozwiązaniu BeeGFS o dużej pojemności przechowywanie danych odbywa się na cztery PowerVault ME4084 macierze pamięci masowej. Liniowe grupy dysków RAID-6 z 10 napędów (8 + 2) są tworzone w każdej macierzy. Dla każdej grupy dysków jest tworzony jeden wolumin z całym miejscem. Efektem może być 8 grup dysków/woluminów na macierz. Każda macierz ma 84 napędów i utworzenie grup dysków 8 x RAID-6 pozostawia 4 napędy, które można skonfigurować jako globalne zapasy na woluminach macierzy.
Dzięki opisanemu powyżej układowi można wyróżnić łączną liczbę woluminów 32 x RAID-6 na podstawie 4 x ME4084 w podstawowej konfiguracji przedstawionej na rysunku 1. Każdy z tych woluminów RAID-6 jest skonfigurowany jako miejsce docelowe pamięci masowej (ST) dla systemu plików BeeGFS, w wyniku czego łączna liczba 32 STs przez system plików.
Każda macierz ME4084 ma 84 napędów, z napędami o numerach 0-41 w górnej szufladzie i numerami 42-84ymi w dolnej szufladzie. Na rysunku 5 każdy zestaw 10 napędów oznaczonych jako 1 do 8 oznacza grupę 8xRAID6. Dla każdej grupy RAID6 zostanie utworzony jeden wolumin. Dyski oznaczone jako "S" reprezentują globalne zapasy. Rysunek 5 przedstawia widok macierzy po skonfigurowaniu 8 woluminów i 4 globalnych części zamiennych.
Rysunek 4 RAID 6 (8 + 2) układ grupy dysków w jednym ME4084
Moduł klienta BeeGFS jest ładowany na wszystkich hostach, które wymagają dostępu do systemu plików BeeGFS. Po załadowaniu modułu BeeGFS i uruchomieniu BeeGFS-Client Service system zainstaluje systemy plików zdefiniowane w pliku/etc/BeeGFS/beegfs-mounts. conf zamiast zwykłego podejścia opartego na /etc/fstab. W tym celu Klient beegfs uruchamia się w taki sposób, jak inne usługi Linux za pośrednictwem skryptu uruchamiania usługi, i umożliwia automatyczną kompilację modułu klienta beegfs po dokonaniu aktualizacji systemu.
W tej sekcji przedstawiono cechy wydajności Dell EMC gotowych rozwiązań do HPC BeeGFS wysokiej pojemności pamięci masowej za pomocą IOzone sekwencyjnych i losowych. Aby uzyskać więcej informacji o jakości wykonania przy użyciu IOR i MDtest oraz szczegółów dotyczących konfiguracji wysokiej dostępności, należy odszukać dokument w celu późniejszego opublikowania.
Wydajność pamięci masowej została oceniona przy użyciu testu porównawczego IOzone (v 3.487). Przemierzona przepustowość odczytu i zapisu oraz losowe IOPS odczytu i zapisu. Tabela 2 zawiera informacje na temat konfiguracji PowerEdge serwerów R840 używanych jako klienci BeeGFS dla tych analiz wydajności.
Klienty | 8x Dell EMC PowerEdge R840 |
---|---|
Procesor | 4 procesory Intel (R) Xeon (R) Platinum 8260 procesora o częstotliwości taktowania 2.40 GHz, 24 rdzenie |
Pamięć | 24 x 16GB DDR4 2933MT/s DIMM-384GB |
System operacyjny | Red Hat Enterprise Linux Server wersja 7.4 (Maipo) |
Wersja jądra | 3.10.0-957.el7.x86_64 |
Połączenia | Karta HDR100 1x Mellanox ConnectX-6 Single Port adapter |
Wersja OFED | 4,7-3.2.9.0 |
Tabela 2 Konfiguracja klienta
Serwery i klienci są połączeni przez sieć HDR100 i dane sieciowe dostarczone w tabeli 3 poniżej:
Przełącznik funkcji InfiniBand | QM8790 Mellanox Quantum HDR Edge przełącznika-IU z 80x HDR 100 100 GB/s (przy użyciu kabli rozdzielacza) |
---|---|
Przełącznik zarządzania | Dell Networking systemu s3048-wł., przełącznik ToR-1U z 48x łączność 1GbE, 4x SFP + porty 10GbE |
Tabela 3: Sieci
Sekwencyjne odczyty i zapisy były mierzone przy użyciu sekwencyjnego trybu odczytu i zapisu w trybie IOzone. Testy przeprowadzono na wielu wątkach, rozpoczynając od 1 wątku, a następnie zwiększając liczbę wątków dwukrotnie, aż do 512. Przy każdej liczbie wątków wygenerowano taką samą liczbę plików, ponieważ ten test działa dla jednego pliku w wątku, lub przypadku N-N. Procesy były rozproszone na 8 węzłach fizycznych klientów w sposób okrężny, tak aby żądania były równo rozdzielone z usługą równoważenia obciążenia.
W przypadku liczników wątków 16 i powyżej zagregowany rozmiar plików 8TB został wybrany w celu zminimalizowania wpływu pamięci podręcznej z serwerów, a także od klientów BeeGFS. W przypadku liczby wątków poniżej 16 rozmiar pliku wynosi 768 GB na wątek (tzn. 1,5 TB przez 2 wątki, 3TB przez 4 wątki i 6TB przez 8 wątków). W danym teście łączny rozmiar plików jest równo podzielony między liczbę wątków. W przypadku wszystkich uruchomień używany jest rozmiar rekordu 1MiB. Następujące polecenie stosowane do kolejnych testów N-N podano poniżej:
Kolejne zapisy i odczyty: IOzone-i $test-c-e-e-w-r 1M-s $Size-t $Thread-+ n-+ m/Path/to/threadlist
Pamięć podręczna systemów operacyjnych została również usunięta z serwerów między iteracjami, a także od testów zapisu i odczytu przez uruchomienie polecenia:
# Sync & & echo 3 >/proc/sys/VM/drop_caches
System plików został odinstalowany i ponownie zainstalowany na klientach między iteracjami oraz między testami zapisu i odczytu w celu wyczyszczenia pamięci podręcznej.
Rysunek 5: Wydajność odczytu sekwencyjnego N-N
Na rysunku 5 przepustowość Maksymalna 23,70 GB/s jest realizowana w wątkach 256, przy czym maksymalny zapis z szybkością do 22,07 GB/s osiągnie się na poziomie 512 wątków. Wydajność pojedynczego wątku wynosi 623 MB/s, a odczyt wynosi 717 MB/s. Wydajność działa niemal liniowo do 32 wątków. Po wykonaniu tej operacji zapoznajemy się z odczytem i wprowadzaniem nasycenia przy skalowaniu. Dzięki temu firma Dell zdaje sobie sprawę z zrozumienia, że ogólna wydajność tej konfiguracji jest ≈a 23GB/s, a w przypadku zapisów są to elementy ≈ 22GB/s, przy czym piki te są wymienione powyżej. Odczyty są bardzo bliskie lub nieco wyższe niż zapisy, niezależnie od liczby używanych wątków.
IOzone została użyta w trybie losowym do oceny wydajności losowej we/wy. Testy przeprowadzono na liczbach wątków od 16 do 512 wątków. Opcja Direct IO (-I) została użyta do uruchomienia IOzone, aby wszystkie operacje omijają pamięć podręczną buforu i przejść bezpośrednio do dysku. Wykorzystano liczbę BeeGFS 1 i wielkość fragmentu 1 MB. Dla rozmiaru żądania ustawiono wartość 4KiB. Wydajność była mierzona w operacjach we/wy na sekundę (IOPS). Pamięć podręczna systemu operacyjnego została przerwana między działaniem na serwerach BeeGFS. System plików został odinstalowany i ponownie zainstalowany na klientach między iteracjami testu. Polecenie służące do losowego testowania odczytu i zapisu przebiega następująco:
IOzone-i 2-w-c-O-I-r 4K-s $Size-t $Thread-+ n-+ m/Path/to/threadlist
Rysunek 6n-n wydajność Losowa
Rysunek 6 przedstawia, że wydajność zapisu spada na około 31K IOPS i pozostaje stabilna w stosunku 32 wątków do 512 wątków. W przeciwieństwie do tego, wydajność odczytu wzrasta wraz z zwiększeniem liczby żądań we/wy z maksymalną wydajnością około 47K IOPS przy 512 wątków, co oznacza maksymalną liczbę wątków przetestowanych w celu rozwiązania. ME4 wymaga wyższej głębokości kolejki, aby osiągnąć maksymalną wydajność odczytu, a wykres sygnalizuje, że firma Microsoft może uzyskać wyższą wydajność, jeśli program korzysta z równoległych wątków 1024. Ponieważ jednak testy były wykonywane tylko z 8 klientami, nie posiada wystarczających rdzeni, aby uruchomić licznik wątków 1024.
Powrót do początku
Podczas wykonywania charakterystyki rozwiązania wystąpiły następujące parametry strojenia.
Domyślna liczba pasków dla BeeGFS to 4. Jednak rozmiar fragmentu oraz liczba elementów docelowych na plik (liczba Stipe) można skonfigurować dla poszczególnych katalogów lub poszczególnych plików. W odniesieniu do wszystkich tych testów rozmiar BeeGFS ustawiony na 1 MB, a licznik paskowy został ustawiony na wartość 1, jak pokazano poniżej:
$beegfs-CTL--getentryinfo--Mount =/mnt/beegfs//mnt/beegfs/Benchmark/--verbose
Typ wpisu: element
EntryID katalogu: 1-5E72FAD3-1
parentID: główny
metadanych Node: meta-numa0-1 [ID: 1]
szczegóły wzorca paskowego:
+ Typ: RAID0
+ ChunkSize: 1M
+ Liczba tarcz pamięci masowej: wymagane: 1
+ Pula pamięci masowej: 1 (domyślnie)
ścieżka inode skrótu: 61/4C/1-5E72FAD3-1
Przezroczyste ogromne strony były wyłączone i następujące ustawienia pamięci wirtualnej skonfigurowane na serwerach metadanych i pamięci masowej:
Dla urządzeń pamięci masowej na serwerach pamięci masowej użyto następujących opcji strojenia.
Oprócz podanych niżej opisanych opcji strojenia BeeGFS:
beegfs-meta. conf
connMaxInternodeNum = 64
tuneNumWorkers = 12
tuneUsePerUserMsgQueues = true # Optional
tuneTargetChooser = RoundRobin (testy porównawcze)
beegfs-Storage. conf
connMaxInternodeNum = 64
tuneNumWorkers = 12
tuneUsePerTargetWorkers = true
tuneUsePerUserMsgQueues = true # Optional
tuneBindToNumaZone = 0
tuneFileReadAheadSize = 2m
beegfs-Client. conf
connMaxInternodeNum = 24
connBufSize = 720896
Ten blog przedstawia sposób uwalniania Dell EMC BeeGFS o dużej pojemności pamięci masowej i podświetlenia jego parametrów wydajności. To rozwiązanie zapewnia najwyższą wydajność 23,7 GB/s dla odczytów i 22,1 GB/s przy użyciu sekwencji IOzone sekwencyjnej. Ponadto zapoznają się z maksymalnym opóźnieniem zapisu na 31.3 K IOPS i losowych odczytach na 47.5 IOPS.
W ramach kolejnych kroków firma chce ocenić wydajność metadanych i N wątków do jednego pliku (N do 1) IOR wydajności tego rozwiązania. Po zakończeniu procesu weryfikacji i oceny oczekuje się, że na białym papierze zawierającym metadane i działanie IOR rozwiązania wraz z dodatkowymi informacjami dotyczącymi rozważań konstrukcyjnych dla tego rozwiązania o wysokiej pojemności i wysokiej dostępności.