Różnica między UMA a NUMA
Zawartość
Wieloprocesory można podzielić na trzy kategorie modeli pamięci współużytkowanej - UMA (jednolity dostęp do pamięci), NUMA (nierównomierny dostęp do pamięci) i COMA (dostęp tylko do pamięci podręcznej). Modele są zróżnicowane w zależności od sposobu dystrybucji pamięci i zasobów sprzętowych. W modelu UMA pamięć fizyczna jest równomiernie dzielona między procesory, które mają równe opóźnienie dla każdego słowa pamięci, natomiast NUMA zapewnia zmienny czas dostępu dla procesorów w celu uzyskania dostępu do pamięci.
Przepustowość wykorzystywana przez UMA do pamięci jest ograniczona, ponieważ wykorzystuje pojedynczy kontroler pamięci. Głównym motywem pojawienia się maszyn NUMA jest zwiększenie dostępnej przepustowości pamięci za pomocą wielu kontrolerów pamięci.
-
- Wykres porównania
- Definicja
- Kluczowe różnice
- Wniosek
Wykres porównania
Podstawa do porównania | UMA | NUMA |
---|---|---|
Podstawowy | Wykorzystuje pojedynczy kontroler pamięci | Kontroler wielu pamięci |
Rodzaj używanych autobusów | Pojedynczy, wielokrotny i poprzeczny. | Drzewo i hierarchiczny |
Czas dostępu do pamięci | Równy | Zmienia się w zależności od odległości mikroprocesora. |
Nadaje się do | Aplikacje ogólnego przeznaczenia i dzielenia czasu | Aplikacje w czasie rzeczywistym i krytyczne |
Prędkość | Wolniej | Szybciej |
Pasmo | Ograniczony | Więcej niż UMA. |
Definicja UMA
UMA (jednolity dostęp do pamięci) system to architektura pamięci współdzielonej dla procesorów wieloprocesorowych. W tym modelu pojedyncza pamięć jest wykorzystywana i dostępna dla wszystkich procesorów obecnych w systemie wieloprocesorowym za pomocą sieci połączeń wzajemnych. Każdy procesor ma jednakowy czas dostępu do pamięci (opóźnienie) i szybkość dostępu. Może stosować jeden przełącznik magistrali pojedynczej, magistrali wielokrotnej lub poprzeczki. Ponieważ zapewnia zrównoważony dostęp do pamięci współużytkowanej, jest również znany jako SMP (symetryczny multiprocesor) systemy.
Typowy projekt SMP pokazano powyżej, gdzie każdy procesor jest najpierw podłączony do pamięci podręcznej, a następnie pamięć podręczna jest podłączana do magistrali. W końcu autobus jest podłączony do pamięci. Ta architektura UMA zmniejsza rywalizację o magistralę poprzez pobieranie instrukcji bezpośrednio z pojedynczej izolowanej pamięci podręcznej. Zapewnia również równe prawdopodobieństwo odczytu i zapisu dla każdego procesora. Typowymi przykładami modelu UMA są serwery Sun Starfire, serwer alfa Compaq i seria HP v.
Definicja NUMA
NUMA (nierównomierny dostęp do pamięci) jest także modelem wieloprocesorowym, w którym każdy procesor jest połączony z dedykowaną pamięcią. Jednak te małe części pamięci łączą się, tworząc jedną przestrzeń adresową. Głównym punktem do rozważenia jest to, że w przeciwieństwie do UMA, czas dostępu do pamięci zależy od odległości, na której umieszczony jest procesor, co oznacza zmienny czas dostępu do pamięci. Umożliwia dostęp do dowolnej lokalizacji pamięci za pomocą adresu fizycznego.
Jak wspomniano powyżej, architektura NUMA ma na celu zwiększenie dostępnej przepustowości pamięci i do której wykorzystuje wiele kontrolerów pamięci. Łączy wiele rdzeni maszyn w „węzły”, Gdzie każdy rdzeń ma kontroler pamięci. Aby uzyskać dostęp do pamięci lokalnej na maszynie NUMA, rdzeń pobiera pamięć zarządzaną przez kontroler pamięci przez jego węzeł. Aby uzyskać dostęp do zdalnej pamięci obsługiwanej przez inny kontroler pamięci, rdzeń żąda pamięci za pośrednictwem łączy wzajemnych.
Architektura NUMA wykorzystuje drzewa i hierarchiczne sieci magistrali do połączenia bloków pamięci i procesorów. BBN, TC-2000, SGI Origin 3000, Cray to tylko niektóre przykłady architektury NUMA.
- Model UMA (pamięć współdzielona) używa jednego lub dwóch kontrolerów pamięci. W przeciwieństwie do NUMA może mieć wiele kontrolerów pamięci, aby uzyskać dostęp do pamięci.
- W architekturze UMA stosowane są pojedyncze, wielokrotne i poprzeczne magistrale. I odwrotnie, NUMA używa hierarchicznych i drzewiastych typów magistrali i połączenia sieciowego.
- W UMA czas dostępu do pamięci dla każdego procesora jest taki sam, podczas gdy w NUMA czas dostępu do pamięci zmienia się wraz ze zmianą odległości pamięci od procesora.
- Aplikacje ogólnego przeznaczenia i dzielenia czasu są odpowiednie dla maszyn UMA. Natomiast odpowiednia aplikacja dla NUMA jest centryczna w czasie rzeczywistym.
- Systemy równoległe oparte na UMA działają wolniej niż systemy NUMA.
- Jeśli chodzi o przepustowość UMA, mają ograniczoną przepustowość. Przeciwnie, NUMA ma przepustowość większą niż UMA.
Wniosek
Architektura UMA zapewnia takie same ogólne opóźnienia procesorom uzyskującym dostęp do pamięci. Nie jest to bardzo przydatne, gdy uzyskuje się dostęp do pamięci lokalnej, ponieważ opóźnienie byłoby jednolite. Z drugiej strony w NUMA każdy procesor miał swoją dedykowaną pamięć, która eliminuje opóźnienie przy dostępie do pamięci lokalnej. Opóźnienie zmienia się wraz ze zmianą odległości między procesorem a pamięcią (tj. Nierównomierne). Jednak NUMA poprawiła wydajność w porównaniu do architektury UMA.