Wprowadzenie
W systemach z obsługą NUMA kanały pamięci są rozmieszczone w procesorach. Wszystkie operacje związane z pamięcią wymagają operacji snoop w celu zachowania spójności danych w pamięci podręcznej. Snooping służy do sondowania zawartości pamięci podręcznej zarówno na procesorach lokalnych, jak i zdalnych w celu znalezienia kopii żądanych danych znajdujących się w dowolnej pamięci podręcznej. Jeśli funkcja NUMA jest wyłączona (przeplot węzła jest włączony w systemie BIOS), tryb snoop jest wyłączany automatycznie.
W mikroarchitekturze Intel Haswell dostępne są trzy typy trybu snoop. Serwery Dell 13. generacji (13G) obsługują wszystkie trzy tryby szpiegowania, takie jak:
1) Wczesny szpieg
2) Szpiegowanie w domu
3) Klaster na matrycy
W tym blogu omawiamy tryb snoop Cluster-On-Die (COD) w odniesieniu do VMware ESXi. Na tym blogu omówiono następujące aspekty.
Zanim przejdziemy do szczegółów COD, konieczne jest zrozumienie typów procesorów w oparciu o liczbę rdzeni w mikroarchitekturze procesorów Intel Haswell.
Firma Intel sklasyfikowała architekturę procesora Haswell do następujących typów:
1) LCC - niska liczba rdzeni [4 -8 rdzeni]
2) MCC - średnia liczba rdzeni [10 - 12 rdzeni]
3) HCC - Wysoka liczba rdzeni [14-18 rdzeni]
UWAGA: Ta liczba rdzeni różni się w zależności od mikroarchitektury Intel.
Co to jest tryb Cluster-On-Die (COD)?
COD to nowy tryb snoop wprowadzony z rodziny procesorów Intel Haswell, która ma 10 lub więcej rdzeni. W przypadku kategorii procesorów MCC i HCC firma Intel zainstalowała dwa kontrolery pamięci w jednym gnieździe procesora, podczas gdy procesor LCC ma tylko jeden kontroler pamięci. Każdy kontroler pamięci w gnieździe procesora działa jako jeden agent domowy [HA].
Na serwerach z obsługą COD każdy procesor logicznie dzieli gniazdo na 2 węzły NUMA Każdy węzeł NUMA ma połowę całkowitej liczby rdzeni fizycznych i połowę pamięci podręcznej ostatniego poziomu (LLC) z jednym agentem głównym. Termin klaster jest tworzony, gdy rdzenie procesora i odpowiedni kontroler pamięci są zgrupowane razem i utworzone jako klaster na kości gniazda. Każdy agent główny korzysta z dwóch kanałów pamięci i widzi żądania z mniejszej liczby rdzeni logicznych procesora, zapewniając w ten sposób większą przepustowość pamięci i niskie opóźnienia. Ten tryb pracy jest używany głównie do optymalizacji obciążeń roboczych NUMA. Systemy operacyjne wyświetlają liczbę węzłów NUMA poprzez odczyt tabel ACPI SRAT.
Graficzna reprezentacja ChZT jest następująca: -
Na drugim obrazku widać, że pojedyncza kość procesora jest podzielona na dwa logiczne węzły, gdy włączony jest ChZT.
Wymagania wstępne:
W tej sekcji omówiono wymagania wstępne zarówno z punktu widzenia sprzętu, jak i VMware ESXi.
Sprzęt:
Weźmy przykład, aby lepiej zrozumieć powyższy warunek wstępny. W przypadku serwera, na którym zapełniono tylko dwa moduły pamięci na kanał, należy zapełnić następujące gniazda dla określonego kanału
Z 4 modułami pamięci,
Z 8 modułami pamięci,
UWAGA: Aby włączyć COD, należy wypełnić co najmniej dwa moduły pamięci.
VMware ESXi odczytuje ACPI SRAT (System Resource Affinity Tables) i SLIT (System Locality Information Tables) w celu identyfikacji i mapowania dostępnych zasobów sprzętowych. Obejmuje to również mapowanie węzłów NUMA. W tej sekcji omówiono kilka opcji wiersza poleceń, z których użytkownicy mogą skorzystać, aby wyświetlić stan COD z VMware ESXi.
Poniższe zrzuty ekranu dotyczą systemu z dwoma gniazdami procesorów i 128 GB pamięci systemowej. W domyślnej konfiguracji bez włączonego COD, esxtop wyświetli dwa węzły NUMA z 64 GB przydzielonymi na węzeł NUMA. Na poniższej ilustracji przedstawiono dane wyjściowe polecenia esxtop w VMware ESXi z wyłączonym dorszem.
Przy włączonym ChZT esxtop wyświetla cztery węzły NUMA zamiast dwóch, ponieważ pojedyncza kość gniazda procesora jest podzielona na dwa.
Korzyści
W trybie COD system operacyjny widzi dwa węzły NUMA na gniazdo. COD ma najlepsze lokalne opóźnienie. Każdy agent główny widzi żądania z mniejszej liczby wątków, potencjalnie oferując większą przepustowość pamięci. Tryb COD ma obsługę bitów w katalogu pamięci. Ten tryb jest najlepszy w przypadku obciążeń roboczych zoptymalizowanych pod kątem standardu NUMA. Zapoznaj się z blogiem opublikowanym przez zespół HPC firmy Dell, w którym szczegółowo opisano różne tryby podsłuchiwania.
Odniesienia
Nie dotyczy
Nie dotyczy