Rekommenderas, 2024

Redaktionen

Skillnad mellan UMA och NUMA

Multiprocessorer kan delas upp i tre kategorier med delad minnesmodell - UMA (Uniform Memory Access), NUMA (Non-uniform Memory Access) och COMA (Cache-Only Memory Access). Modellerna är differentierade utifrån hur minnes- och hårdvaruresurserna distribueras. I UMA-modellen delas det fysiska minnet jämnt mellan processorerna, som också har samma latens för varje minnesord medan NUMA ger variabel åtkomsttid för processorerna att komma åt minnet.

Bandbredden som används i UMA till minnet är begränsad eftersom den använder enstaka minnesstyrenhet. Det främsta motivet för tillkomsten av NUMA-maskiner är att öka den tillgängliga bandbredden till minnet genom att använda flera minneskontrollrar.

Jämförelsediagram

Grunder för jämförelseUMANUMA
GrundläggandeAnvänder en enda minnesregulatorMultipel minnesregulator
Typ av bussar som användsEnkel, multipel och tvärstång.Träd och hierarkisk
MinnesåtkomsttidLikaÄndringar enligt mikroprocessorns avstånd.
Lämplig förAllmänna ändamål och tidsdelningsprogramRealtid och tidskritiska applikationer
Fartlångsam~~POS=TRUNCSnabbare
BandbreddBegränsadMer än UMA.

Definition av UMA

UMA (Uniform Memory Access) -systemet är en delad minnesarkitektur för multiprocessorerna. I denna modell används ett enda minne och åtkomst av alla processorer presenterar multiprocessorsystemet med hjälp av sammankopplingsnätet. Varje processor har lika minne åtkomsttid (latens) och åtkomsthastighet. Det kan använda antingen enbussen, flera bussar eller spärrbrytare. Eftersom det ger balanserad delad minnesåtkomst är den också känd som SMP (Symmetric Multiprocessor) -system.

Den typiska utformningen av SMP visas ovan, där varje processor först kopplas till cacheminnet, då cachen är kopplad till bussen. Slutligen är bussen ansluten till minnet. Denna UMA-arkitektur reducerar striden för bussen genom att hämta instruktionerna direkt från den individuella isolerade cachen. Det ger också en lika stor sannolikhet för läsning och skrivning till varje processor. De typiska exemplen på UMA-modellen är Sun Starfire-servrar, Compaq alpha-server och HP v-serien.

Definition av NUMA

NUMA (Non-uniform Memory Access) är också en multiprocessormodell där varje processor är ansluten till det dedikerade minnet. Men dessa små delar av minnet kombinerar att skapa ett enda adressutrymme. Huvudpunkten att begrunda här är att till skillnad från UMA, är åtkomsttiden för minnet beroende av det avstånd där processorn är placerad vilket innebär varierande minnetillgångstid. Det tillåter åtkomst till någon av minnesplatsen med hjälp av den fysiska adressen.

Som nämnts ovan är NUMA-arkitekturen avsedd att öka den tillgängliga bandbredden till minnet och för vilken den använder flera minneskontrollrar. Det kombinerar många maskinkärnor i " noder " där varje kärna har en minneskontroller. För att komma åt det lokala minnet i en NUMA-maskin hämtar kärnan minnet som hanteras av minnesstyrenheten med noden. För att komma åt fjärrminne som hanteras av den andra minnesstyrenheten skickar kärnan minnesförfrågan genom samtrafiklänkarna.

NUMA-arkitekturen använder träd och hierarkiska bussnät för att koppla samman minnesblocken och processorerna. BBN, TC-2000, SGI Origin 3000, Cray är några av exemplen på NUMA-arkitekturen.

Viktiga skillnader mellan UMA och NUMA

  1. Modellen UMA (shared memory) använder en eller två minneskontrollrar. Däremot kan NUMA ha flera minnesstyrare att komma åt minnet.
  2. Enkla, flera och crossbar bussar används i UMA arkitektur. Omvänt använder NUMA hierarkiska och trädtyp bussar och nätverksanslutning.
  3. I UMA är minnetillgångstiden för varje processor samma medan i NUMA ändras minnetillgångstiden när minnesavståndet från processorn ändras.
  4. Allmänna ändamål och tidsdelningsprogram är lämpliga för UMA-maskinerna. Däremot är den lämpliga applikationen för NUMA realtid och tidskritisk centrerad.
  5. De UMA-baserade parallella systemen fungerar långsammare än NUMA-systemen.
  6. När det gäller bandbredd UMA, har begränsad bandbredd. Tvärtom har NUMA bandbredd mer än UMA.

Slutsats

UMA-arkitekturen ger samma övergripande latens för processorerna som kommer åt minnet. Detta är inte särskilt användbart när det lokala minnet är tillgängligt eftersom latensen skulle vara enhetlig. Å andra sidan hade varje processor i sitt NUMA sitt dedikerade minne vilket eliminerar latensen när det lokala minnet är tillgängligt. Latensen ändras som avståndet mellan processorn och minnesändringen (dvs icke-enhetlig). NUMA har dock förbättrat prestanda jämfört med UMA-arkitekturen.

Top