Tavsiye, 2024

Editörün Seçimi

UMA ve NUMA Arasındaki Fark

Çok işlemciler, üç paylaşımlı bellek modeli kategorisine ayrılabilir: UMA (Tekdüzen Bellek Erişimi), NUMA (Düzgün Olmayan Bellek Erişimi) ve COMA (Yalnızca Önbellek Belleği Erişimi). Modeller, bellek ve donanım kaynaklarının nasıl dağıtıldığına bağlı olarak farklılaşmaktadır. UMA modelinde, fiziksel bellek, her bellek sözcüğü için eşit gecikme süresi olan işlemciler arasında eşit olarak paylaşılırken, NUMA, işlemcilerin belleğe erişmesi için değişken erişim süresi sağlar.

UMA'da kullanılan bant genişliği, tek bellek denetleyicisini kullandığından bellekte sınırlandırılmıştır. NUMA makinelerinin ortaya çıkmasının temel nedeni, çoklu bellek denetleyicileri kullanarak mevcut bant genişliğini belleğe yükseltmektir.

Karşılaştırma Tablosu

Karşılaştırma için temelUMAnuma
TemelTek bir hafıza kontrolörü kullanırÇoklu bellek denetleyicisi
Kullanılan otobüs türüTek, çoklu ve enine çubuk.Ağaç ve hiyerarşik
Hafıza erişim süresiEşitMikroişlemci mesafesine göre değişir.
İçin uygunGenel amaçlı ve zaman paylaşım uygulamalarıGerçek zamanlı ve kritik zaman uygulamaları
hızYavaşDaha hızlı
Bant genişliğiSınırlıUMA'dan daha fazla.

UMA'un tanımı

UMA (Uniform Memory Access) sistemi, çok işlemciler için paylaşılan bir bellek mimarisidir. Bu modelde, ara bağlantı ağı yardımıyla çok işlemcili bir sistem sunan tüm işlemciler tarafından tek bir bellek kullanılır ve bunlara erişilir. Her bir işlemcide eşit bellek erişim süresi (gecikme süresi) ve erişim hızı bulunur. Tek bir veri yolu, çoklu veri yolu veya travers anahtarını kullanabilir. Dengeli paylaşımlı hafıza erişimi sağladığı için SMP (Simetrik çok işlemcili) sistemler olarak da bilinir.

SMP'nin tipik tasarımı, her bir işlemcinin önce önbelleğe, ardından önbellek veriyoluna bağlı olduğu yukarıda gösterilmiştir. Sonunda veriyolu belleğe bağlanır. Bu UMA mimarisi, doğrudan bireysel önbellekten gelen talimatları alarak yönergeleri azaltır. Ayrıca her işlemciye okuma ve yazma konusunda eşit bir olasılık sunar. UMA modelinin tipik örnekleri Sun Starfire sunucuları, Compaq alpha sunucusu ve HP v serisidir.

NUMA'nın tanımı

NUMA (Düzgün Olmayan Bellek Erişimi) ayrıca her işlemcinin ayrı belleğe bağlı olduğu çok işlemcili bir modeldir. Bununla birlikte, hafızanın bu küçük kısımları tek bir adres alanı oluşturmak için birleştirilir. Burada düşünülecek en önemli nokta, UMA'nın aksine, belleğin erişim zamanının, işlemcinin yerleştirildiği mesafeye dayanmasıdır; bu, değişen bellek erişim süresi anlamına gelir. Fiziksel adresi kullanarak herhangi bir hafıza konumuna erişim sağlar.

Yukarıda bahsedildiği gibi, NUMA mimarisinin belleğe mevcut bant genişliğini arttırması ve bunun için çoklu bellek kontrol cihazları kullanması amaçlanmıştır. Çok sayıda makine çekirdeğini, her bir çekirdeğin bellek denetleyicisine sahip olduğu “ düğümler ” halinde birleştirir. NUMA makinesindeki yerel belleğe erişmek için çekirdek, bellek denetleyicisi tarafından düğümü tarafından yönetilen belleği alır. Diğer bellek kontrolörü tarafından yönetilen uzaktaki belleğe erişirken, çekirdek, bellek talebini ara bağlantı linklerinden gönderir.

NUMA mimarisi, bellek bloklarını ve işlemcileri birbirine bağlamak için ağaç ve hiyerarşik veri yolu ağlarını kullanır. BBN, TC-2000, SGI Origin 3000, Cray NUMA mimarisinin örneklerinden bazılarıdır.

UMA ve NUMA Arasındaki Temel Farklar

  1. UMA (paylaşılan bellek) modeli bir veya iki bellek denetleyicisi kullanır. NUMA, belleğe erişmek için birden fazla bellek denetleyicisine sahip olabilir.
  2. UMA mimarisinde tek, çoklu ve çapraz çubuklar kullanılıyor. Buna karşılık, NUMA hiyerarşik ve ağaç tipi veri yolu ve ağ bağlantısı kullanıyor.
  3. UMA'da her işlemcinin belleğine erişim süresi aynı iken NUMA'da belleğe erişme süresi işlemciden uzaklığı değiştikçe değişir.
  4. Genel amaçlı ve zaman paylaşımı uygulamaları UMA makineleri için uygundur. Buna karşılık, NUMA için uygun uygulama gerçek zamanlı ve zaman açısından kritik merkezlidir.
  5. UMA tabanlı paralel sistemler, NUMA sistemlerinden daha yavaş çalışır.
  6. Bant genişliğine gelince UMA, sınırlı bant genişliğine sahip. Aksine, NUMA UMA'dan daha fazla bant genişliğine sahiptir.

Sonuç

UMA mimarisi, belleğe erişen işlemciler için aynı genel gecikmeyi sağlar. Yerel belleğe erişildiğinde bu çok yararlı değildir, çünkü gecikme aynı olacaktır. Öte yandan, NUMA'da her işlemcinin yerel belleğe erişildiğinde gecikmeyi ortadan kaldıran özel bir belleği vardır. Gecikme, işlemci ile bellek arasındaki mesafe değiştikçe değişir (örn. Düzensiz). Bununla birlikte, NUMA performansı UMA mimarisine göre geliştirmiştir.

Top