lleği tasarımıdır. NUMA altında bir işlemci kendi yerel belleğine yerel olmayan bellekten daha hızlı bir şekilde ulaşır, diğer bir ifadeyle, bir başka işlemcinin yerel belleğinden veya işlemciler arasında paylaşılan bellekten daha hızlı erişir.

NUMA mimarileri simetrik çoklu işleme (SMP) mimarilerinden başlayarak mantıksal bir ölçeklemeyi takip eder. Bu ürünlerin ticari gelişimi 1990’lı yıllarda Convex Computer (daha sonra HP oldu), SGI, Sequent ve Data General ile başladı. Bu şirketler tarafından geliştirilen teknikler çeşitli Unix benzeri işletim sisteminde olduğu gibi bir ölçüye kadar Windows NT ve Microsoft Windows’un ileri versiyonlarında görülmektedir.

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 1970'li yıllara kadar böyle devam etti. O tarihlerden bu yana CPU’lar her geçen gün daha da artan bir şekilde veriye doymuyor, bellek erişiminin tamamlanması için beklemek zorunda kalıyorlar. 1980'lerin ve 1990'ların süper bilgisayar tasarımları daha hızlı işlemciler yerine yüksek hızlı bellek erişimi sağlamak ve bilgisayarları büyük veri kümeleri üzerinde diğer sistemlerin erişemeyeceği hızlarda çalıştırmaya odaklanmıştı.

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 (sunucular ve benzeri uygulamalarda sık görülür), NUMA tek bir paylaşılan bellek üzerindeki performansı kabaca bir hesapla işlemci ( veya ayrı bellek bankaları ) sayısının bir faktörü kadar artırır.

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.

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” (cache-coherent NUMA ) veya ccNUMA diye sınıflandırılırlar.

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 (DEC) şirketinin Alfa İşlemcisi EV7 tabanı üzerine kurulmuştu.

NUMA çok sıkı çiftlenmiş bir çeşit grup hesaplama olarak görülebilir. NUMA donanımının mevcut olmadığı yerde bir grup mimarisine sanal bellek sayfalamanın ilavesi ile tamamen yazılım olarak NUMA yaratılması mümkündür. Buna rağmen yazılım tabanlı NUMA uygulamasında boğum noktaları arasındaki gecikme süresi muhtelif durumlarda donanım tabanlı NUMA uygulamalarından daha yüksektir.




IBM 360

IBM 360 Sistemi (S/360), IBM tarafından ilk kez 7 Nisan 1964 yılında tanıtılan bir tür ana çerçeve bilgisayar sistemidir. Bilgisayarın yapısı ve uygulamaları arasında belirli bir fark yaratan ilk bilgisayar türüdür.

IBM'in farklı fiyatlarla bir dizi farklı ama uyumlu tasarımlarını piyasaya sürmesini sağlamıştır. Piyasada gerçekten de çok büyük bir başarı elde eden bu sistem, müşterilerin ihtiyaçları arttıkça donanımlarını da arttırabilecekleri küçük sistemler satın almalarını sağlamıştır. Bu tasarım birçok kişi tarafından gelecek yıllarda bigisayar tasarımlarını etkileyecek olan tarihte gelmiş geçmiş en başarılı bilgisayar olarak görülmüştür. (360 ve onu takip eden sistemler tartışılmaz bir şekilde tarihin en çek kar getiren bilgisayar sistemleri serileridir.) S/360’ın baş mimarı Gene Amdahl’dır.

Daha önceki uygulamalarından farklı olarak IBM büyükten küçüğe, düşükten yüksek performansa kadar çeşitli değişiklikler gösteren ancak aynı komut sıralamasıyla çalışan (belirli piyasalar için hazırlanmış iki istisna ile beraber) ayrı bir bilgisayar (CPU) serisi piyasaya sürmüştür. Bu başarı, müşterilerin daha düşük fiyatlı bir modeli kullanarak ihtiyaçları arttıkça – zaman harcamadan ve yeniden yazılım yükleme masrafı olmadan daha büyük sistemlere yükseltebilmelerini sağlamıştır. IBM bu uyumluluğu gerçekleştirmek adına mikro kod teknolojisini büyük olanlar hariç tüm modellere geçirerek ilk defa ticari anlamda kullanmıştır.
Bu esneklik piyasaya girmedeki engelleri büyük ölçüde düşürmüştür. Diğer satıcılarla beraber (özellikle General Elektrik ayrıcalığıyla) müşteriler geliştirebilecekleri ya da güçlendirebilecekleri (dolayısıyla pahalıya mal olacak) makinalar arasında bir seçim yapmak zorunda kalmışlardır. Bu birçok firmanın sadece bilgisayar satın almadığı anlamına gelmektedir. 360 Sistemi piyasanın gidişatını tamamiyle değiştirmiştir çünkü firmalar artık düşük fiyatlara “alt uç” makinaları kiralayabilmişlerdir. (O zamanlar IBM bilgisayarları satmak yerine kiralamaktaydı.

IBM öncelikle altı ana bilgisayar ve kırk adet ortak çevresel bilgisayardan oluşan bir seri piyasaya sürdü. IBM bir tanesi NASA için üretimiş olan çok ender bir model de dahil olmak üzere on dört model satışa sundu. En ucuz olan 360/20 modelinde 8K’lık küçük bir ana hafıza ve 360’larda bulunan on altı adet 32- bit’lik yerine sekiz adet 16-bit’lik sabit disk kullanılmıştır ve ayrıca diğer kategorilerde kullanılan komut kümesinin alt kümesi mevcuttur. (Model 20 daha küçük işletmelerin kullanımlarına uygun olarak üretilmiştir – IBM marka adına ve satış gücüne sahip ancak tüm rakiplerinden üstün özelliklere sahip değildi.)

1964 yılında ilk olarak 30, 40, 50, 60, 62, and 70 Modelleri piyasaya sürülmüştür. İlk üçü IBM 1400 serisini piyasasını amaçlayan düşükten orta düzeye kadar olan sistemlerdi. Her üçü de 1965’in ortalarında nakliye edilmeye başlandı. Son üçü, 7000 serisinin makinaları yerine düşünülmüşlerdi ancak hiç ihraç edilemediklerinden 65 ve 75 ile değiştirildiler, böylelikle sırasıyla Kasım 1965 ve Ocak 1966’da nakliye edilmeye başlandılar.

Daha sonra 20 de dahil olmak üzere alt uçta yapılan ilaveler (yukarıda belirtildiği üzere 1966), 22 (1971) ve 25 (1968) serileridir. 44 (1966) ise yüzeysel noktada bulunan bir donanım ve sınırlı bir komut kümesi ile orta düzeyli bilimsel piyasayı amaçlayan bir değişkendir. Üst uç makinaların devam serileri 67 (1966), 85 (1969), 91 (1967), 95 (1968), ve de 195 (1971) ‘den oluşur. 195 modeli ise Sistem/360 serisi ve devamındaki Sistem/370 aralarındaki boşluğu kapatır.

İlk olarak 1966 yılının Ağustos ayında ihraç edilen 360-67, dinamik adres tercümesi (“DAT”, şu anda daha çok MMU olarak bilinir; önceleri serilerde yer almayan ancak1972 yılında S/370 serisinde yeniden ortaya çıkan DAT donanımı) içeren ilk IBM sistemidir. 360-67 (Ağustos 1965) serisini piyasaya sürerken, IBM aynı zamanda 1971 yılında iptal edilen talihsiz zaman-paylaşımı işletim sistemi projesi TSS/360’ı piyasaya sürmüştür. 360-67’nin oldukça başarılı işletim sistemi özgün sanal makina sistemi olan CP/CMS idi. CP/CMS IBM’in Cambridge Bilim Merkezi’nde Massachusetts Teknoloji Enstitüsü (MIT) araştırmacıları tarafından geliştirilmiştir; dünya çapında bir başarı kazanmıştır ve IBM’in VM/CMS ve bugünün z/VM’lerinin üretilmelerine sebep olmuştur. 1977 yılının sonunda tüm Sistem/360 modelleri piyasadan toplatılmıştır.

IBM'in mevcut müşterileri ikinci kuşak makinalara geçen yazılımlara yatırım yapmışlardır. Birçok model müşterilerin önceki bilgisayarlarıyla benzer mikro kod seçenekleri sunmaktaydı (örneğin; 360/30 modelindeki IBM 1400 seri ya da 360/65 modelindeki IBM 7094) böylelikle eski programlar yeni makinalarda çalışabilmekteydiler. Ancak müşteriler bilgisayarı kapatmak, düğmesini açmak ve benzer bir moda girebilmek için yeniden başlatmak zorundalardı. Daha sonra geliştirilen Sistem/370 modelinde de benzer seçenekler mevcuttu ancak ana program