Opis niejednolity dostęp do pamięci
Microsoft SQL Server is non-uniform memory access (NUMA) aware, and performs well on NUMA hardware without special configuration.Jak zegar prędkości i liczba procesorów wzrostu staje się coraz trudniejsze zmniejszyć opóźnienie pamięci wymagane do używania tej dodatkowej mocy obliczeniowej.To obejście, producenci sprzętu oferują dużej pamięci podręcznej L3, ale jest to ograniczone rozwiązanie.Architektura NUMA stanowi skalowalne rozwiązanie tego problemu.SQL Serverzostał zaprojektowany z zalet komputery NUMA bez konieczności zmiany aplikacji.
Pojęcia NUMA
trend w sprzęt został kierunku więcej niż jednej magistrali systemowej, każdy niewielki zestaw procesorów obsługujących.Każda grupa procesorów ma własną pamięć i ewentualnie swoje własne kanały We/Wy.Jednak każdy Procesor dostęp pamięć skojarzona z innych grup w sposób spójny.Każda grupa jest nazywany węzeł NUMA.Liczba procesorów w węzeł NUMA zależy od dostawcy sprzętu.Szybciej jest dostęp do lokalnej pamięci niż pamięć skojarzona z innymi węzłami NUMA.Jest to powód nazwę pamięci niejednolity dostęp architektury.
Sprzętowe NUMA w niektórych regionach pamięci są na fizycznie inny autobusów z innych regionów.Ponieważ NUMA używa pamięci lokalnych i zagranicznych, będzie trwało dłużej dostęp w niektórych regionach pamięci niż inne.Lokalnej pamięci i obcych pamięci są zazwyczaj używane do aktualnie uruchomionego wątek.Pamięci lokalnej jest pamięcią, która jest na węźle Procesora uruchomiony wątek.Wszelkie pamięci, która nie należy do węzła, na którym aktualnie uruchomiony wątek jest obcych.Obcy pamięci jest również znany jako zdalnego pamięci.Stosunek kosztów dostęp do pamięci obcego za pośrednictwem, do pamięci lokalnej jest nazywany stosunek NUMA.Jeśli NUMA stosunek wynosi 1, jest symetrycznego przetwarzania wieloprocesowego (SMP).Im większy współczynnik, bardziej koszty pamięci innych węzłów.Aplikacje systemu Windows, które nie są świadomi NUMA (łącznie z SQL Server 2000 SP3 i starszych) czasami niska na sprzętowe NUMA.
Główną zaletą NUMA jest skalowalność.Architektura NUMA został zaprojektowany do przekroczenia limitów skalowalność architektury SMP.Z SMP dostęp do wszystkich pamięci jest księgowana do tej samej magistrali pamięci współużytkowanej.Działa to dobrze stosunkowo niewielką liczbę procesorów, ale nie wtedy, gdy masz dziesiątki nawet setki procesorów konkurujących dostępu do pamięci współużytkowanej magistrali.NUMA pozwala uniknąć tych wąskich gardeł przez ograniczenie liczby procesorów na dowolnym magistrali pamięci i łączące różne węzły z wzajemnych połączeń wysokiej prędkości.
Vs NUMA sprzętu.Miękki NUMA
NUMA można dopasować z procesorów pamięci za pomocą specjalistycznego sprzętu (sprzęt NUMA) lub konfigurując SQL Server pamięci (soft NUMA).Podczas uruchamiania SQL Server konfiguruje się na podstawie system operacyjny i konfiguracja sprzętu lub ustawienie soft NUMA.Sprzętu i soft-NUMA po SQL Server jest uruchamiany w konfiguracja NUMA SQL Server dziennika rejestruje wiadomości multimode konfiguracja dla każdego węzła wraz z maskę Procesora.
Sprzętowe NUMA
Komputery ze sprzętem NUMA mają więcej niż jednej magistrali systemowej, każdy niewielki zestaw procesorów obsługujących.Każda grupa procesorów ma własną pamięć i ewentualnie swoje własne kanały we/wy, ale każdego Procesora można uzyskać dostęp do pamięci skojarzone z innych grup w sposób spójny.Każda grupa jest nazywany węzeł NUMA.Liczba procesorów w węzeł NUMA zależy od dostawcy sprzętu.Producent sprzętu stwierdzić, czy komputer obsługuje sprzętowe NUMA.
Jeżeli sprzęt NUMA, może być skonfigurowany do korzystania z przeplotem pamięci zamiast NUMA.przypadek systemu Windows i dlatego SQL Server nie rozpozna ją jako NUMA.Uruchom następującą kwerendę, aby znaleźć liczbę dostępnych węzłów pamięci SQL Server:
SELECT DISTINCT memory_node_id
FROM sys.dm_os_memory_clerks
Jeśli SQL Server zwraca tylko pojedynczy węzeł (węzeł 0), albo nie masz sprzętu NUMA albo sprzęt jest skonfigurowany jako z przeplotem (nie NUMA).If you think your hardware NUMA is configured incorrectly, contact your hardware vendor to enable NUMA.SQL Server ignores NUMA configuration when hardware NUMA has four or less CPUs and at least one node has only one CPU.
Miękki NUMA
SQL ServerUmożliwia grupie procesorów do węzłów, określane jako soft NUMA.Miękki NUMA zazwyczaj skonfigurować mają wiele procesorów i nie masz sprzętu NUMA, ale również umożliwia soft NUMA węzły NUMA sprzętu należy podzielić na mniejsze grupy.Tylko SQL Server Harmonogram i SQL Server interfejsu sieciowego (SNI) są soft-NUMA.Węzły pamięci są utworzone w oparciu o sprzętowe NUMA i dlatego nie dotyczy miękkich NUMA.Tak na przykład, jeśli na komputerze SMP z ośmiu procesorów i utworzyć cztery węzły soft NUMA z dwóch procesorów, użytkownik będzie miał tylko jeden węzeł pamięci, obsługujących wszystkie cztery węzły NUMA.Miękki NUMA nie zapewnia pamięci do koligacji Procesora.
Korzyści soft NUMA obejmują zmniejszenie We/Wy i wąskich gardeł związanych z opóźnieniem na komputerach wyposażonych w wiele procesorów i żaden sprzęt NUMA.Pojedynczy wątek We/Wy i dla każdego wątku pojedynczego opóźnieniem węzeł NUMA.W zależności od użycia bazy danych tych pojedynczego wątków może być wąskie gardła wydajności.Konfigurowanie czterech węzły NUMA miękkie zapewnia cztery wątki We/Wy i cztery wątki opóźnieniem zwiększających wydajność.
Nie można utworzyć soft-NUMA zawierający procesorów z innego sprzętu węzły NUMA.Na przykład, jeśli sprzęt ma osiem procesorów (0..7) i ma dwa węzły NUMA sprzętu (0-3 i 4-7), można utworzyć NUMA miękki, łącząc CPU(0,1) i CPU(2,3).Nie można utworzyć soft NUMA przy użyciu Procesora (1, 5), ale można używać koligacji Procesora do wystąpienie affinitize SQL Server do procesorów z różnych węzły NUMA.Tak w poprzednim przykładzie, jeśli SQL Server używa procesory 0-3, będzie miał jeden wątek We/Wy i jeden wątek opóźnieniem.Jeśli w poprzednim przykładzie SQL Server używa procesorów, 1, 2, 5 i 6, będą dwa węzły NUMA dostępu i mają dwa wątki We/Wy i dwóch wątków opóźnieniem.
Ostrzeżenie
Niektóre konfiguracje sprzętowe Udostępnianie wspólnych zasobów, takich jak pamięci podręcznej L3 i P4.Procesory mogą być grupowane wokół tych zasobów udostępnionych, aby utworzyć węzły soft NUMA.
Aby uzyskać więcej informacji, zobacz Jak Konfigurowanie programu SQL Server do używania Soft NUMA.
Zobacz także