Önbellek Tutarlılığı

Kısaca: Önbellek tutarlılığı, paylaşılan kaynağın yerel önbelleğinde kaydedilen verinin tutarlılığını ifade eder. Bir bilgisayar sistemindeki istemciler ortak bir bellek kaynağının önbelleğini kullandıklarında, tutarsız verilerle ilgili sorunlar ortaya çıkabilir. Bu, bilhassa, çoklu işleme yapan sistemlerdeki merkezi işlem birimi için geçerlidir. ...devamı ☟

Önbellek tutarlılığı, paylaşılan kaynağın yerel önbelleğinde kaydedilen verinin tutarlılığını ifade eder. Bir bilgisayar sistemindeki istemciler ortak bir bellek kaynağının önbelleğini kullandıklarında, tutarsız verilerle ilgili sorunlar ortaya çıkabilir. Bu, bilhassa, çoklu işleme yapan sistemlerdeki merkezi işlem birimi için geçerlidir. Paylaşılan Belleğe Bağlı Önbellekler şekline istinaden, üstteki istemcide bir önceki okumasından kalan bir bellek öbeği kopyası varsa ve alttaki istemci o bellek öbeğini değiştirirse, üstteki istemci değişiklikten habersiz olarak geçersiz bir önbellek bilgisiyle kalacaktır. Önbellek tutarlılığı bu gibi çakışmaları idare etmek ve önbellek ile bellek arasındaki tutarlılığı muhafaza etmeyi amaçlar.

Tutarlılık Protokolü

Tutarlılık protokolü dağıtık-paylaşımlı bir bellek sisteminde, önbellekler arasındaki tutarlılığı muhafaza eden protokoldür. Bu protokol belirli bir uyumluluk (consistency) modeline göre bellek tutarlılığını sağlar. Eski çoklu işlemci sistemleri sıralı uyumluluk (sequential consistency) modelini desteklerken yeni sistemler genellikle serbest (release) veya zayıf (weak) uyumluluk modellerini destekler. Bu protokollerin durumlar arası geçişleri her gerçekleştirme için farklı olabilir. Örneğin belli bir gerçekleştirme, okumada-güncelle, yazmada-güncelle, okumada-geçersiz-kıl, yazmada-geçersiz-kıl gibi güncelleme ve geçersiz kılma durum geçişlerinden birini seçebilir. Geçiş seçimi önbellekler arası trafik miktarını etkileyebilir. Bu da gerçekte mümkün olan bant genişliğine bağlı olabilir. İşlemci önbellekleri arasında yoğun çekişmeye sebep olabilecek dağıtık yazılım tasarımında bunun dikkate alınması gerekir. Önbellek tutarlılığını muhafaza etmek için muhtelif model ve protokoller tasarlanmıştır. MSI, MESI (Illinois protokolü), MOSI, MOESI, MERSI, MESIF, tek-yaz, Synapse, Berkeley, Firefly ve Dragon protokolleri bunlardan bazılarıdır. Bir protokol işlemci önbelleklerini, önbellekteki veri hedef belleğe transfer edilmeden önce kaybedilmeyecek şekilde idare eder. İki veya daha fazla bilgisayar işlemcisi bir program üzerinde birlikte çalıştığında, her bir işlemci genellikle ortak kullanılan ve daha büyük olan RAM'den ayrı olarak kendi önbelleğine sahiptir. Önbellek, bellek için kullanılan dinamik RAM'e (DRAM) göre yüksek hızlı statik RAM'den (SRAM) yapılmış bir parçadır. Programların çoğu aynı veri veya buyruklara sık sık eriştiklerinden, bellek verisini önbelleğe almak çok etkin bir yöntemdir. Erişilen bilgiyi olabildiğince SRAM'de tutarak bilgisayar, daha yavaş olan DRAM'e erişmek durumunda kalmaz. Kendi önbelleklerine sahip birden çok işlemci ortak bir ana-belleği paylaştığında, paylaşılan ve herhangi bir önbellekte değiştirilmiş verinin bütün sistemde değiştirilmiş olmasını temin ederek önbellekleri tutarlı tutmak gerekir. Bu iki yolla yapılır: dizin (directory) veya gözetleme (snooping) tabanlı bir sistemle. Dizin-tabanlı bir sistemde paylaşılan veri, önbellekler arası tutarlılığı idare eden ortak bir dizine konulur. Bu dizin, işlemcinin ana bellekten bir öğeyi kendi önbelleğine yüklemek için izin istemesi gereken bir filtre gibidir. Bir öğe değiştirildiğinde, dizin bu öğeye sahip diğer önbellekleri günceller veya geçersiz kılar. Gözetleme tabanlı bir sistemde veriyolu üzerindeki bütün önbellekler, veriyolundan istenen veri öbeğinin bir kopyasına sahip olup olmadıklarını belirlemek için veriyolunu gözetler. Her bir önbellek, sahip olduğu bütün veri öbeklerinin paylaşım durum bilgilerine sahiptir. Paylaşılan veri öbeklerinden kaynaklı bağlı önbellekte bulamama ve veriyolu trafiği, çok işlemcili sistemlerde paralel programlama performansını sınırlar. Önbellek tutarlılığı veri paylaşımıyla ilgili problemleri çözmeyi amaçlar. Uyumluluk modeli seçimi tutarlı önbelleğe sahip bir sistem tasarlamak için çok önemlidir. Tutarlılık modelleri performans ve ölçeklenebilirlik olarak farklılık gösterir ve her sistem tasarımı için farklı değerlendirilmesi gerekir. Önbellek tutarlılığı

Kaynaklar

Vikipedi

Bu konuda henüz görüş yok.
Görüş/mesaj gerekli.
Markdown kullanılabilir.

MERSI
3 yıl önce

MERSI protokolü PowerPC G4 işlemcisinde kullanılan bir önbellek tutarlılığı protokolüdür. Bu protokol beş durumdan oluşur. M, E, S ve I durumları MESI...

önbellek
3 yıl önce

önbelleğin ara depolaması ile verilerin bulunduğu konum arasında tutarlılığı sağlamak için (potansiyel olarak dağıtılmış) bir önbellek tutarlılık protokolüne...

Önbellek, Ansiklopedi, Arabellek, Arama motoru, Google, Hard disk, Web tarayıcı, İngilizce, İşlemci önbelleği, İşletim sistemi, ,
MESI Protokolü
7 yıl önce

olarak da bilinen MESI protokolü yaygın olarak kullanılan bir ön bellek tutarlılığı protokolüdür. Intel'in Pentium işlemcilerinde kullanılan ön belleklerde...

MESI Protokolü, Bellek (bilgisayar), Bilgisayar, Bit, Intel, Pentium, Taslak, í–nbellek
MSI
3 yıl önce

Temel bir ön bellek tutarlılığı protokolü olan MSI protokolü çoklu işlemci sistemlerinde çalışır. Diğer ön bellek tutarlılığı protokollerinde olduğu gibi...

MESIF
3 yıl önce

Coherent Non-Uniform Memory Access) için geliştirilmiş bir ön bellek tutarlılığı protokolüdür. Bu protokol beş durumdan oluşur. Bunlardan "M", "E", "S"...

MOESI
7 yıl önce

MOESI diğer ön bellek tutarlılığı protokollerinin çoğunda kullanılan durumları kapsayan tam bir protokoldür. Yaygın olan dört yaygın MESI durumları yanında...

MyISAM
7 yıl önce

özelliğe sahiptir. Ne var ki, MySQL'in son sürümleri aktarım ve veri tutarlılığı kısıtlamaları desteği sunan ve yüksek eşgüdüm öngören InnoDB'yi yeğlemektedir...