Veri önbelleği güvenilirliğinin modellenmesi ve geliştirilmesi
Modelling and improving cache reliability
Yazar: HANDE ŞEN
Danışman: YRD. DOÇ. DR. İSMAİL KADAYIF
Çanakkale Onsekiz Mart Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2008
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Günümüzde önbellekler çip üzerinde çok büyük bir oranda yer kapladığından bilgisayarsisteminin diğer bileşenlerine kıyasla önbellekler soft errorlara karşı daha kolay etkilenir halegelmişlerdir. Bu çalışmada, önce L1 veri önbelleği için soft error modeline odaklanacağız,sonra değişik güvenilirlik geliştirme tekniklerini araştıracağız. Bu esnada önbellekte oluşanbir hatanın programın sonuç çıktısında görülmesinin olasılığını gösteren AVFC (ArchitecturalVulnerability Factor for Caches) ölçüsünden bahsedeceğiz. Oluşturacağımız modeledayanarak, soft errorların varlığında güvenilirliği arttıran 3 mimarisel yaklaşım önereceğiz.İlk yaklaşımımız, soft errorın bellek hiyerarşisinde daha alt seviyelere yayılmadanönlenmesidir. Bu kirli blokların (dirty block) L1 önbelleğinden L2 önbelleğine geri yazılırkendeğişmemiş veri kelimelerinin (data words) geriye yazılmamalarıyla sağlanır. İkinci yaklaşım,önbellek bloklarının herhangi bir soft errora yakalanma şansını azaltmaya yöneliktir veetkilenir periyotlarını azaltmak için seçilmiş önbellek bloklarını iptal etme şeklindegerçekleştirilmeye çalışılır. Deney sonuçları, bu iki yaklaşımın da AVFC ölçüsüne dayanarakL1 veri önbelleğindeki soft errorları hafifletici etki yaptığını göstermektedir. Özellikle, ilkyaklaşımı kullanarak hiçbir performans kaybına sebep olmadan AVFC ölçüsünü %32geliştirmek mümkündür. Diğer taraftan, ikinci yaklaşımla önbellek bloklarının ne kadaragresifçe iptal edileceğine bağlı olarak, performans azalımı %0 ile %21,3 arasında değişirken,AVFC ölçüsü %60 ila %97 arasında gelişir. Önbellek bloklarının iptal edilmesine bağlı olarakyaşanan performans yükünü azaltmak için önerdiğimiz üçüncü yaklaşım önceden getirme ileiptal edilmiş bloğun yeni bir kopyasının önbelleğe getirilmeye çalışılmasıdır. Bu yaklaşımsayesinde deney testleri içindeki tüm uygulamalar için performans maliyetini (yükünü) %1den daha az azaltır. Ancak bunun için ikinci yaklaşımdaki güvenilirlik gelişiminden tolereedilebilir ölçüde vazgeçmek gerekir.

Abstract:
Since cache memories take the largest fraction of on-chip real estate today, they aremore vulnerable to soft errors, as compared to many other components of computing system.We first focus on a soft error model for L1 data caches. AVFC (Architectural VulnerabilityFactor for Caches) is the probability with which a fault in the cache be visible in the finaloutput of the program. We then propose three architectural schemes for improving reliabilityin the existence of soft errors. Our first scheme prevents an error from propagating to thelower levels in the memory hierarchy by not forwarding the unmodified data words of a dirtycache block to the L2 cache when the dirty block is to be replaced. The second schemeproposed selectively invalidates cache blocks to reduce their vulnerable periods, decreasingtheir chances of catching any soft errors. Based on the AVFC metric, our experimental resultsshow that these two schemes are very effective in alleviating soft errors in the L1 data cache.By using our first scheme, it is possible to improve the AVFC metric by 32% without anyperformance loss. The second scheme enhances the AVFC metric between 60% and 97%, atthe cost of a performance degradation which varies from 0% to 21.3%. To reduce theperformance overhead caused by cache block invalidation, we also propose a third schemewhich tries to bring a fresh copy of the invalidated block into the cache via prefetching.