Udostępnij za pośrednictwem


Opis dostępu do pamięci inne niż jednolite

Microsoft SQL Server jest inne niż jednolite dostęp do pamięci (NUMA) pamiętać i wykonuje również na sprzęcie NUMA bez specjalnej konfiguracja.Zegar, szybkość i liczby procesorów wzrostu, staje się coraz bardziej trudne zmniejszyć opóźnienie pamięci wymaganych do korzystania z tego prawa do dodatkowego przetwarzania.To obejście, producenci sprzętu oferują dużych buforów P3, ale jest tylko ograniczona rozwiązanie.NUMA architecture provides a scalable solution to this problem.SQL Server has been designed to take advantage of NUMA-based computers without requiring any application changes.

Pojęcia związane z NUMA

Trend w sprzęt został do więcej niż jeden magistrali systemowej, każdy obsługujący niewielki zestaw procesorów.Każda grupa procesorów ma swoją własną pamięci i ewentualnie własnej kanałów We/Wy.Jednak każdego PROCESORA mogą uzyskać dostęp do pamięci skojarzonych z innych grup w sposób spójny.Każda grupa nazywa się węzeł NUMA.Liczba procesorów w węźle NUMA zależy od dostawcy sprzętu.Szybciej jest dostęp do pamięci lokalnej niż pamięci, skojarzone z innymi węzłami NUMA.Jest to powód imię i nazwisko, architektura dostęp inne niż jednolite pamięci.

W niektórych regionach pamięci na sprzęcie NUMA znajdują się na fizycznie innej magistrali z innych regionów.Ponieważ NUMA używa pamięci lokalnej i obcych, będzie trwało dłużej, aby uzyskać dostęp do pewnych obszarów pamięci niż inne.Pamięci lokalnej and obcy pamięci są zazwyczaj używane w odniesieniu do aktualnie uruchomionego wątek.Lokalna pamięć jest pamięcią, która znajduje się na tym samym węźle jako uruchomiony wątek PROCESORA.Wszelkie pamięci, która nie należy do węzła, na którym jest aktualnie uruchomiony wątek jest obcych.Obcy pamięci jest również znany jako zdalne pamięci.Współczynnik kosztu dostęp do pamięci obcego za pośrednictwem, do pamięci lokalnej jest określany jako stosunek NUMA.Jeśli współczynnik NUMA wynosi 1, jest multiprzetwarzania symetrycznego (SMP).Im większy stopień, tym bardziej koszty dostępu do pamięci innych węzłów.Aplikacje systemu Windows, które nie są świadomi NUMA (łącznie z SQL Server 2000 SP3 lub starszym) czasami słabo wykonywać na sprzęcie NUMA.

Główną zaletą NUMA jest skalowalność.Architektura NUMA został zaprojektowany z myślą o przekroczenia limitów skalowalność architektury SMP.Z SMP dostęp do wszystkich pamięci jest księgowana na tej samej magistrali pamięci współużytkowanej.To działa dobrze dla stosunkowo niewielka liczba procesorów, ale nie wtedy, gdy masz dziesiątki nawet setki procesorów konkurującymi w celu uzyskania dostępu do pamięci współużytkowanej magistrali.NUMA złagodzenie wąskich gardeł związanych z tymi przez ograniczenie liczby procesorów wszelkie magistrali jeden pamięci i podłączanie różnych węzłów o połączeń wysokiej prędkości.

NUMA node with 4 processors

W stosunku do NUMA sprzętuMiękki NUMA

NUMA można dopasować do pamięci z procesorów przez sprzęt specjalistyczne (sprzęt NUMA) lub konfigurując SQL Server pamięć (soft-NUMA). Podczas uruchamiania SQL Server Konfiguruje dla siebie na podstawie podstawowego systemu operacyjnego i konfiguracja sprzętu lub ustawienie miękki NUMA. Dla sprzętu i soft-NUMA gdy SQL Server zostanie uruchomiony w konfiguracja NUMA SQL Server Dziennik rejestruje wiadomości multimode konfiguracja dla każdego węzła, wraz z maskę PROCESORA.

Sprzęt NUMA

Komputery ze sprzętem NUMA mają więcej niż jeden magistrali systemowej, każdy obsługujący niewielki zestaw procesorów.Każda grupa procesorów ma swoją własną pamięci i ewentualnie własnej kanałów We/Wy, ale każdy PROCESOR ma dostęp do pamięci skojarzonych z innych grup w sposób spójny.Każda grupa nazywa się węzeł NUMA.Liczba procesorów w węźle NUMA zależy od dostawcy sprzętu.Producent sprzętu stwierdzić, czy komputer obsługuje sprzętu NUMA.

Jeżeli sprzęt NUMA, może być skonfigurowany do korzystania z pamięci przełożone, a nie NUMA.przypadek systemu Windows i w związku z tym SQL Server nie rozpozna ją jako NUMA. Uruchom następującą kwerendę w celu znalezienia liczbę dostępnych dla węzłów pamięci SQL Server:

SELECT DISTINCT memory_node_id
FROM sys.dm_os_memory_clerks

Jeśli SQL Server Zwraca tylko węzeł pojedynczego pamięci (węzeł 0), albo nie masz sprzętu NUMA albo sprzęt jest skonfigurowany jako przełożone (innych niż 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 Server Umożliwia grupie procesorów do węzłów, określane jako miękki NUMA.Miękki NUMA konfiguruje się zazwyczaj, gdy masz wiele procesorów i nie masz sprzętu NUMA, ale umożliwia także NUMA miękki do węzłów NUMA sprzętu należy podzielić na mniejsze grupy.Tylko SQL Server harmonogram i SQL Server Interfejs sieciowy (SNI) są świadomi soft-NUMA. Pamięć węzłów są utworzone w oparciu o sprzętu NUMA i w związku z tym nie dotyczy przez miękki NUMA.Tak na przykład, jeśli na komputerze SMP z osiem procesorów, można utworzyć za pomocą dwóch procesorów czterech węzłów NUMA miękki będzie wystarczy tylko jeden węzeł pamięci obsługujących wszystkich czterech węzłów NUMA.Miękki NUMA nie zapewnia pamięci do koligacji PROCESORA.

Korzyści wynikające z NUMA miękki obejmują zmniejszenie We/Wy i wąskich gardeł związanych z opóźnieniem-modułu zapisującego na komputerach wyposażonych w wiele procesorów i sprzęt nie NUMA.Nie ma jeden wątek We/Wy i wątku pojedynczego modułu zapisującego opóźnieniem dla każdego węzeł NUMA.W zależności od użycia przez bazę danych tych pojedynczego wątków może być wąskiego gardła wydajności znaczący.Konfigurowanie czterech węzłów NUMA miękki dostępne są cztery wątki We/Wy i cztery wątki zapisywania z opóźnieniem, co może zwiększyć wydajność.

Nie można utworzyć soft-NUMA zawierający procesory z różnymi urządzeniami sprzętowymi NUMA węzłów.Na przykład, jeśli dany sprzęt jest osiem procesorów (0..7) i mieć 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ć NUMA miękki przy użyciu PROCESORA (1, 5), ale użytkownik może być koligacji PROCESORA affinitize wystąpienie SQL Server Aby procesory z węzłów różnych NUMA. W poprzednim przykładzie, w takim przypadku SQL Server używa procesory 0-3, użytkownik ma jeden wątek We/Wy i jeden wątek zapisywania z opóźnieniem. Jeżeli w poprzednim przykładzie. SQL Server korzysta z procesorów 1, 2, 5 i 6, będzie dostęp do dwóch węzłów NUMA i mieć dwa wątki We/Wy i dwa wątki opóźnieniem modułu zapisującego.

Uwaga

W niektórych konfiguracjach sprzętu Udostępnianie wspólnych zasobów, takich jak pamięć podręczna L3/P4.Procesory mogą być grupowane wokół tych zasobów udostępnionych do tworzenia węzłów miękki NUMA.

Aby uzyskać więcej informacji zobaczHow to: Configure SQL Server to Use Soft-NUMA.