NUMA: Revizyonlar arasındaki fark
[kontrol edilmiş revizyon] | [kontrol edilmiş revizyon] |
İçerik silindi İçerik eklendi
düzeltme AWB ile |
Değişiklik özeti yok |
||
1. satır:
{{kaynaksız}}
'''NUMA''', '''Düzensiz Bellek Erişimi''' veya '''Düzensiz Bellek Mimarisi'''
NUMA mimarileri
== Temel kavramlar ==
Modern [[CPU]]’lar bağlı oldukları ana bellekten önemli ölçüde daha hızlı çalışırlar. Yüksek hızlı hesaplamalar ve süper bilgisayarların ilk zamanlarında CPU genellikle bellekten daha yavaş çalışırdı. Bu durum her ikisinin performans çizgilerinin kesiştiği
Modern bir bilgisayardan yüksek performans çıkartmanın anahtarı bellek erişim sayısını sınırlamaktan geçmektedir. Ticari işlemciler söz konusu olduğunda bunun anlamı gittikçe artan miktarda yüksek hızlı ön bellek belleği yerleştirmek ve “ön bellek kayıplarını” önleyebilmek için gittikçe artan karmaşıklıkta sofistike algoritmalar kullanmaktır. Fakat işletim sistemlerinin boyutlarındaki dramatik artış ve üzerlerinde koşan uygulamalar [[ön bellek]] işleme konusundaki bu gelişmeleri bir anlamda ikinci planda bırakmıştır. Çok işlemcili sistemler bu sorunu daha da beter hale getirmektedir. Bu yüzden artık bir sistemin birden fazla işlemcisi açlık çekmekte, çünkü her bir işlemci belleğe ayrı zamanlarda erişebilmektedir.
NUMA bu sorunu '''her bir işlemciye ayrı bir bellek''' atayarak çözmeye çalışmaktadır. Birden fazla işlemci aynı belleğe erişmeye çalıştığında oluşacak performans düşüşünden de kaçınılmasına çalışmaktadır. Yayılı veri ile ilgili sorunlar söz konusu olduğunda (
Tabii ki bütün bunlar tek bir göreve indirgenerek sınırlandırılamaz, yani birden fazla işlemci aynı anda aynı verilere ihtiyaç duyuyor olabilir. NUMA sistemleri bu tür vakalarla başa çıkabilmek için verinin bankalar arasında hareketini sağlamak üzere ilave donanım ve yazılıma sahiptirler. Birden fazla işlemcinin aynı anda aynı belleğe erişmeye çalışması söz konusu bankalara bağlı işlemcilerin hızlarında düşüşlere neden olur. NUMA belirli herhangi bir zaman kesitinde sistemde koşan görevin tabiatına tam olarak uygun harekete yol açacağından sistemin tamamının hızında da bir artışa neden olacaktır.
== Ön bellek uyumlu NUMA (
Hemen hemen bütün CPU mimarileri bellek erişiminde referans lokallemesi kullanımı için ön bellek adı verilen, paylaşılmayan ve çok hızlı bir bellek parçası kullanır. Ön bellek eş evreliliği NUMA ile paylaşılan bellek üzerinde de devam ettirmeye çalışmak önemli ölçüde yük getirir.
Tasarlanması ve üretilmesi daha basit olmasına rağmen ön bellek uyumlu olmayan NUMA sistemleri, standart '''von Neuman mimarisi''' programlama modeli içerisinde programlanamayacak kadar karmaşık bir hale geldiler. Bunun sonucu olarak piyasada satılmakta olan bütün NUMA’lı bilgisayarlar ön bellek uyumunun sağlanabilmesi için özel amaçlı donanımlara sahiptir ve bu nedenle '''“ön bellek uyumlu NUMA” (
Bu durum tipik olarak, birden fazla ön bellek aynı bellek lokasyonunu depoladığında ön bellek kontrol birimleri arasında tutarlı bir bellek görüntüsünün sağlanabilmesi amacıyla işlemciler arası iletişim gerçekleştiğinde meydana gelir. Bu nedenle, birden fazla işlemci süratli çalışma ortamında aynı bellek alanına erişmeye çalıştığında ccNUMA kötü bir performans gösterir. NUMA’ya İşletim sistemi desteği sağlanarak bellek ve işlemcilerin NUMA’ya uygun olacak bir biçimde dağıtılması ve bu şekilde NUMA’ya uygun olmayacak erişimlerin engellenmesi, kilitlenmesi veya erişimlerin buna göre planlanması sağlanabilir.
Günümüzde mevcut '''ccNUMA''' sistemi uygulamaları AMD Opteron işlemci tabanlı çok işlemcili sistemlerdir. Daha önceki ccNUMA yaklaşımları Digital Equipment Corporation (
== NUMA ile Grup hesaplamanın karşılaştırılması ==
|