soğuk önbellek ve sıcak önbellek konsepti ne anlama geliyor?


10

Bir makale okudum ve “soğuk önbellek” ve “sıcak önbellek” terimlerini kullandı. Soğuk önbellek ve sıcak önbellek konsepti ne anlama geliyor? Ziyaret ettiğim bu ama bir şey daha lazım.


1
Neyi yararlı olarak kabul edersiniz? Bilgileri nasıl kullanmayı düşünüyorsunuz? Sadece soruyorum çünkü biliyorsunuz: google.com/search?q=wikipedia+cold+cache
mikeserv

Bu kavramı makalemde kullanmak istiyorum, bu yüzden onlar hakkında daha fazla ayrıntıya ihtiyacım var.
Amir

Sadece bir süreklilikte "kullanışlılık" bulunduğundan, belirli bir önbelleğin ne kadar yararlı olduğunu anlamak için sıcaklığı bir metafor olarak kullanmaktır. Sıcak önbellekler yüksek isabet oranlarına sahipken, soğuk önbellekler yakında herhangi bir zamanda tekrar istemeyeceğiniz verilerle doldurulur ve bu nedenle sadece yer kaplarlar.
Bratchley

@JoelDavis - Önbelleklerin hatalarla başa çıkması gerekmiyorsa, yukarıdakiler doğru olurdu ve şimdiye kadar geliştirilmesi gereken önbelleğe alınmış verileri değiştirmenin tek yöntemi LFU olurdu, ancak veriler çeşitli nedenlerle hataya eğilimli olduğundan, işleme soğuk önbellek, en az kullanılan verilerin değiştirilmesinden biraz daha karmaşıktır.
mikeserv

Yanıtlar:


13

Kısacası: Soğuk bir önbellek kullanılmazken sıcak bir önbellek yararlıdır. Aslında, soğuk bir önbellek kullanmak tehlikeli olabilir.

Gördüğünüz gibi, bir önbelleğin tüm amacı, erişilen verilerin erişilebilir olmasını sağlamaktır. Örneğin, bir DNS önbelleği yakın zamanda talep ettiğiniz ad çözümlerinin sonuçlarını yerel olarak depolar ve aynı çözünürlükler yeniden istendiğinde, sonuçları zaten daha büyük ve olası bir site dışı ad veritabanını sorgulamadan hemen kullanılabilir ve sunulur . Diğer bir deyişle, bilgisayarınızın ip adresi için internet servis sağlayıcısının alan adı sunucusunu sormak zorunda değildir google.com bilgisayarınız zaten bildiği için - DNS önbelleği olan sıcak.

Ancak google'ın ipini asla istemezseniz, önbelleğinizde olmayacaktır. Bir soğuk önbellek muhtemeldir içerdiği verilerde olduğu gibi - yararlı olduğu ya da bayat çok eski olması doğru - veya tamamen edilir boşaltın ve boş bol soğuk.

Ancak genellikle boş olan eskiden daha iyidir - bu elbette önbelleğe alınan verilere oldukça bağımlıdır. Empty'nin kullanımı kolaydır, çünkü sadece doldurulması gerekir - bu beyinsizdir - ancak eski önbellekler hata düzeltmeyi gerektirir. Bu, önbellek sistemlerinin geliştirilmesi ve sürdürülmesinin birincil lojistik problemidir - önbelleğe aldığınız verilerin güncel olduğunu ve yapılmadığında ne yapıldığını nasıl bilebilirsiniz?

Ben bu sorulara da cevap olmayacak - onlar bağımlı ve muhtemelen çok uzakta benim yeteneği ötesinde, zaten gerek uygulama konum - ama tüm önbelleğe alma sistemleri bazı doğasında ile gelen anlaşılmalıdır risk ait yanlışlığına. Bu bölge ile gider. Risk büyük olmayabilir - genellikle işlem süresinde yalnızca birkaç nanosaniyelik bir risktir. Önbellek sistemi, istenen verileri önbellek tasarımcısı tarafından uygulanan herhangi bir arızaya karşı kontrol eder ve istediği tespit edilirse, önbellek sistemi örneğin ISP'nin DNS'sini google'ın ip'i için sorgular ve her şey yolunda gider.

Önbellek daha sıcak, gerçi, daha az orada olduğunu tehlikeye attı. Sıcak cache en faydaları sevgili verilerini tutmanın yakın ağır basmaktadır riskleri arasında soğuk cache en muhtemelen önbelleğe alma olmamalı ... sakıncaları veya.


7
Ünlü alıntı, "Bilgisayar biliminde iki zor sorun var: Bir şeyleri adlandırmak, Önbellek geçersiz kılma ve tek tek hatalar." Önbelleğe alınan değerlerinizin eski olduğunu bilmek, önbellek geçersiz
kılmanın

Önbellek yanlışlığı hakkındaki yorumunuzda, bu mutlaka doğru değildir. Sistem / uygulama veri kaynağına özel erişime sahipse, önbellek girdileri uygun şekilde güncellenebilir veya çıkarılabilir. Bu sorunla yalnızca eşzamanlı olarak erişilen kaynaklarla (ör. DNS, NFS veya CIFS) uğraşıyorsanız (DNS gibi yazma erişimine sahip olsa bile).
Bratchley

"aksi halde neden hiç önbelleğe alıyorsunuz" Başka bir şeyi önbelleğe almak için sahip olmanızın aynı nedeni: yüksek gecikmeye karşı koruma. Örneğin, dosya sistemi önbelleği bu nedenle işletim sisteminin ortak istekler için diske gitmesi gerekmez. Bununla birlikte, önbellek hala tutarlı bir durumdadır, çünkü yerel dosya sistemlerinde yapılan değişiklikler zaten çekirdekten geçmelidir. ECC kısmı gerçekten alakalı değil, çünkü bu tür bir bozulma önbelleğe almanın önbelleğe alınması nedeniyle değil, nasıl tasarlandıklarına bakılmaksızın tüm sistemleri eşit olarak vuracak bir donanım hatası nedeniyle.
Bratchley

Disk bir RAM önbelleği mi?
Bratchley

Bence ilişki tersine döndü. Son erişilen disk içeriği RAM'de önbelleğe alınır, böylece bellek disk için bir önbellektir (veya en azından önbellek sisteminin bir parçası olarak kullanılır). Disk erişimi, bellekte bir şeyleri saklamak için tasarlanmış yavaş işlemdir.
Bratchley

6

Genel olarak, soğuk bir önbellek (henüz) iyi doldurulmamış olan bir önbellektir. Bu nedenle önbelleğiniz soğuksa, bilgi muhtemelen daha yavaş yöntem kullanılarak alınmalıdır. Bu genellikle bir uygulama başlatıldıktan veya sorgu türleri önemli ölçüde değiştikten kısa bir süre sonra geçerlidir.

Tersine, sıcak bir önbellek yakın zamanda veya sık sık aldığınız bilgilerle doldurulur.

Ext dosya sistemleri ve dizin yapıları ile ilgili olarak, Linux'ta Sanal Dosya Sistemi'nde (VFS) önbelleğe almanın genellikle nasıl çalıştığı hakkında bazı bilgiler vardır: http://www.tldp.org/LDP/tlk/fs/filesystem.html


"son zamanlarda mı, sık sık" mı? Son zamanlarda, evet. ama sık sık?
Faheem Mitha


1
@FaheemMitha Doğru - LFU kesinlikle bu bölümde karşılaşacağınız çok yaygın bir kısaltmadır. Önbelleğinizin yalnızca en son bilgileri içerdiğinden eminseniz ve doluysa, yeni verilerde okunduğunuzda hangi bilgilerin değiştirileceğini belirlemek için başka araçlara sahip olmanız gerekir. LFU muhtemelen gideceğiniz yol.
mikeserv

@cpugeniusmv Bağlantı için teşekkürler. Bu, cevabınıza makul bir şekilde dahil edilebilir.
Faheem Mitha
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.