Zalecane, 2024

Wybór Redakcji

Różnica między UMA i NUMA

Multiprocesory 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 do pamięci podręcznej). Modele są zróżnicowane w zależności od sposobu dystrybucji zasobów pamięci i sprzętu. W modelu UMA pamięć fizyczna jest równo dzielona między procesory, które mają równe opóźnienia dla każdego słowa pamięci, podczas gdy NUMA zapewnia zmienny czas dostępu dla procesorów do dostępu do pamięci.

Przepustowość wykorzystywana w pamięci UMA do pamięci jest ograniczona, ponieważ wykorzystuje pojedynczy kontroler pamięci. Podstawowym motywem nadejścia maszyn NUMA jest zwiększenie dostępnej przepustowości do pamięci za pomocą wielu kontrolerów pamięci.

Wykres porównania

Podstawa do porównaniaUMANUMA
PodstawowyUżywa jednego kontrolera pamięciKontroler wielu pamięci
Rodzaj używanych autobusówPojedyncza, wielokrotna i poprzeczka.Drzewo i hierarchiczne
Czas dostępu do pamięciRównyZmienia się w zależności od odległości mikroprocesora.
Odpowiedni dlaOgólne zastosowania i aplikacje do dzielenia się czasemAplikacje działające w czasie rzeczywistym i krytyczne czasowo
PrędkośćWolniejSzybciej
PasmoOgraniczonyWięcej niż UMA.

Definicja UMA

System UMA (Uniform Memory Access) to współdzielona architektura pamięci dla procesorów wieloprocesorowych. W tym modelu używana jest pojedyncza pamięć, do której dostęp mają wszystkie procesory przedstawiające system wieloprocesorowy za pomocą sieci połączeń międzysieciowych. Każdy procesor ma równy czas dostępu do pamięci (opóźnienie) i prędkość dostępu. Może wykorzystywać jedną z magistral, wiele magistral lub przełącznik poprzeczny. Ponieważ zapewnia zrównoważony dostęp do pamięci współużytkowanej, jest również znany jako system SMP (Symmetric multiprocessor) .

Typowy projekt SMP pokazano powyżej, gdzie każdy procesor jest najpierw podłączony do pamięci podręcznej, a pamięć podręczna jest połączona z magistralą. 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ówne prawdopodobieństwo odczytu i zapisu dla każdego procesora. Typowymi przykładami modelu UMA są serwery Sun Starfire, serwer Compaq alpha i serie HP v.

Definicja NUMA

NUMA (Non-uniform Memory Access) to także model wieloprocesorowy, 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 pojedynczą 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 do pamięci i dla której wykorzystuje wiele kontrolerów pamięci. Łączy liczne rdzenie maszynowe w " węzły ", w których każdy rdzeń ma kontroler pamięci. Aby uzyskać dostęp do lokalnej pamięci w maszynie NUMA, rdzeń pobiera pamięć zarządzaną przez kontroler pamięci przez jej węzeł. Podczas dostępu do pamięci zdalnej, która jest obsługiwana przez drugi kontroler pamięci, rdzeń wysyła żądanie pamięci przez łącza międzysieciowe.

Architektura NUMA wykorzystuje drzewa i hierarchiczne sieci magistrali do łączenia bloków pamięci i procesorów. BBN, TC-2000, SGI Origin 3000, Cray to jedne z przykładów architektury NUMA.

Kluczowe różnice między UMA i NUMA

  1. Model UMA (pamięć wspólna) używa jednego lub dwóch kontrolerów pamięci. W przeciwieństwie do tego, NUMA może mieć wiele kontrolerów pamięci, aby uzyskać dostęp do pamięci.
  2. W architekturze UMA stosowane są szyny pojedyncze, wielokrotne i poprzeczne. Odwrotnie, NUMA używa hierarchicznych i drzewiastych rodzajów magistrali i połączenia sieciowego.
  3. 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.
  4. Aplikacje ogólnego zastosowania i czasowe są odpowiednie dla urządzeń UMA. W przeciwieństwie do tego, odpowiednia aplikacja dla NUMA jest skoncentrowana na czasie i krytyce czasowej.
  5. Systemy równoległe oparte na UMA działają wolniej niż systemy NUMA.
  6. Jeśli chodzi o przepustowość UMA, mają ograniczoną przepustowość. Wręcz przeciwnie, NUMA ma przepustowość większą niż UMA.

Wniosek

Architektura UMA zapewnia taki sam ogólny czas oczekiwania na procesory uzyskujące dostęp do pamięci. Nie jest to zbyt użyteczne, gdy dostęp do pamięci lokalnej jest możliwy, ponieważ opóźnienie byłoby jednolite. Z drugiej strony, w NUMA każdy procesor miał swoją dedykowaną pamięć, która eliminuje opóźnienie podczas dostępu do pamięci lokalnej. Opóźnienie zmienia się wraz ze zmianą odległości między procesorem a pamięcią (np. Niejednolita). Jednak NUMA poprawiła wydajność w porównaniu do architektury UMA.

Top