![](http://gadget-info.com/img/difference-between/192/difference-between-uma.jpg)
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örelse | UMA | NUMA |
---|---|---|
Grundläggande | Använder en enda minnesregulator | Multipel minnesregulator |
Typ av bussar som används | Enkel, multipel och tvärstång. | Träd och hierarkisk |
Minnesåtkomsttid | Lika | Ändringar enligt mikroprocessorns avstånd. |
Lämplig för | Allmänna ändamål och tidsdelningsprogram | Realtid och tidskritiska applikationer |
Fart | långsam~~POS=TRUNC | Snabbare |
Bandbredd | Begränsad | Mer ä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.
![](http://gadget-info.com/img/difference-between/192/difference-between-uma-2.jpg)
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.
![](http://gadget-info.com/img/difference-between/192/difference-between-uma-3.jpg)
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
- Modellen UMA (shared memory) använder en eller två minneskontrollrar. Däremot kan NUMA ha flera minnesstyrare att komma åt minnet.
- Enkla, flera och crossbar bussar används i UMA arkitektur. Omvänt använder NUMA hierarkiska och trädtyp bussar och nätverksanslutning.
- I UMA är minnetillgångstiden för varje processor samma medan i NUMA ändras minnetillgångstiden när minnesavståndet från processorn ändras.
- 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.
- De UMA-baserade parallella systemen fungerar långsammare än NUMA-systemen.
- 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.