Wieloprocesory są klasyfikowane trzy typy modeli pamięci współdzielonej: UMA (jednolity dostęp do pamięci), NUMA (niejednolity dostęp do pamięci) i COMA (dostęp tylko do pamięci podręcznej) . Modele różnią się w zależności od sposobu alokacji pamięci i zasobów sprzętowych. Pamięć fizyczna jest równomiernie dzielona pomiędzy procesory w modelu UMA, który również ma identyczne opóźnienie dla każdego słowa pamięci. Natomiast NUMA zapewnia zmienny czas dostępu procesora do pamięci.
W tym artykule dowiesz się jaka jest różnica pomiędzy JEDEN I W . Ale zanim omówisz różnice, musisz wiedzieć o UMA i NUMA.
Java przerwała pętlę
Co to jest UMA?
JEDEN jest skrótem od „Jednolity dostęp do pamięci” . Jest to wieloprocesorowa architektura pamięci współdzielonej. W tym modelu wszystkie procesory w systemie wieloprocesorowym korzystają z tej samej pamięci i uzyskują do niej dostęp za pośrednictwem sieci połączeń.
Opóźnienie i prędkość dostępu każdego z nich procesor Jest taki sam. Może skorzystać z przełącznik poprzeczny, przełącznik z pojedynczą magistralą lub przełącznik z wieloma magistralami . Nazywa się to również tzw SMP (symetryczny wieloprocesor) systemu, ponieważ zapewnia zrównoważony dostęp do pamięci współdzielonej. Nadaje się do zastosowań z podziałem czasu i zastosowań ogólnego przeznaczenia.
Co to jest NUMA?
W jest skrótem od „Nierównomierny dostęp do pamięci” . Jest to także model wieloprocesorowy z dedykowaną pamięcią dołączoną do każdego procesora. Ale te małe elementy pamięci łączą się, tworząc pojedynczą przestrzeń adresową. Czas dostępu do pamięci zależy od odległości pomiędzy procesorem a pamięcią, co skutkuje różnymi czasami dostępu do pamięci. Zapewnia dostęp do dowolnego miejsca w pamięci za pomocą adresu fizycznego.
The Architektura NUMA został zaprojektowany tak, aby zmaksymalizować dostępną przepustowość pamięci poprzez wykorzystanie kilku kontrolerów pamięci. Integruje wiele rdzeni maszyn „węzły” , przy czym każdy rdzeń ma własny kontroler pamięci. W W systemu, rdzeń otrzymuje pamięć obsługiwaną przez kontroler pamięci przez jego węzeł, aby uzyskać dostęp do pamięci lokalnej. Rdzeń przesyła żądanie pamięci poprzez łącza wzajemne, aby uzyskać dostęp do odległej pamięci, która jest przetwarzana przez inny kontroler pamięci. Architektura NUMA wykorzystuje sieci hierarchiczne i magistrale drzewiaste do łączenia bloków pamięci i procesorów. Oto kilka przykładów architektury NUMA BBN, SGI Origin 3000, TC-2000 i Cray .
Kluczowe różnice między UMA i NUMA
Istnieje wiele kluczowych różnic między nimi JEDEN I W . Niektóre z kluczowych różnic między UMA i NUMA są następujące:
- UMA (Uniform Memory Access) zawiera pojedynczy kontroler pamięci. Natomiast NUMA (niejednolity dostęp do pamięci) może wykorzystywać kilka kontrolerów pamięci w celu uzyskania dostępu do pamięci.
- Czas dostępu do pamięci dla każdego procesora w UMA jest taki sam. Natomiast czas dostępu do pamięci w NUMA różni się w zależności od odległości pamięci od procesora.
- UMA jest wykorzystywana w różnych aplikacjach ogólnego przeznaczenia i aplikacjach do współdzielenia czasu. Z drugiej strony NUMA jest wykorzystywana w aplikacjach czasu rzeczywistego i krytycznych czasowo.
- Architektura UMA wykorzystuje magistrale pojedyncze, wielokrotne i poprzeczne. Z drugiej strony NUMA wykorzystuje hierarchiczne i drzewiaste magistrale oraz połączenia sieciowe.
- Pod względem przepustowości architektura UMA ma ograniczoną przepustowość. Z drugiej strony NUMA ma większą przepustowość niż UMA.
- Dostęp do pamięci w UMA jest powolny. Z drugiej strony dostęp do pamięci NUMA jest szybszy niż dostęp do pamięci UMA.
Bezpośrednie porównanie UMA i NUMA
Tutaj dowiesz się o bezpośrednich porównaniach między UMA i NUMA. Główne różnice między UMA i NUMA są następujące:
sumator pełny sumator
Cechy | JEDEN | W |
---|---|---|
Pełne formy | UMA to skrót od Uniform Memory Access. | NUMA to skrót od Non-Uniform Memory Access. |
Kontroler pamięci | Zawiera pojedynczy kontroler pamięci. | Zawiera kilka kontrolerów pamięci. |
Czas dostępu do pamięci | Zawiera zrównoważony lub równy czas dostępu do pamięci. | Czas dostępu do pamięci zmienia się w zależności od odległości mikroprocesora. |
Dostęp do pamięci | Dostęp do pamięci jest powolny. | Dostęp do pamięci jest szybszy. |
Stosowność | Jest wykorzystywany głównie w aplikacjach z podziałem czasu i zastosowaniach ogólnego przeznaczenia. | Jest wykorzystywany głównie w aplikacjach, w których czas ma krytyczne znaczenie i w czasie rzeczywistym. |
Przepustowość łącza | Ma ograniczoną przepustowość. | Ma większą przepustowość. |
Typ autobusu | Wykorzystuje autobusy pojedyncze, wielokrotne i poprzeczne. | Wykorzystuje hierarchiczne i drzewiaste magistrale oraz połączenia sieciowe. |
Wniosek
Architektura UMA oferuje takie samo ogólne opóźnienie procesorom uzyskującym dostęp do pamięci i nie jest szczególnie użyteczna podczas uzyskiwania dostępu do pamięci lokalnej, ponieważ opóźnienie byłoby jednolite. Natomiast w NUMA każdy procesor ma własną dedykowaną pamięć, co eliminuje opóźnienia w dostępie do pamięci lokalnej. Zmiany opóźnień zależą od odległości między procesorem a zmianami w pamięci. Jednak w porównaniu do konstrukcji UMA, NUMA oferuje lepszą wydajność.