İşlem değişikliklerinin etkisini azaltmak için komut önbelleği erişim gecikmesinin kodlanması
Encoding instruction cache access latency for mitigating the impact of process variations
Yazar: SEHER KIZILTEPE
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, 2010
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin: Bilgisayar teknolojisi = Computer technology

Özet:
Daha küçük geometrili devrelerin üretilmesi teknolojik açıdan mümkün olurken, bu durum kanal genişliği, kapı oksit kalınlığı ve dopant iyon yoğunluğu gibi cihaz (transistor) karakteristiklerinde dramatik değişkenliklere yol açabilen kritik fiziksel parametrelerin kontrolünü son derece zorlaştırmaktadır. SRAM hücreleri küçük boyutlu transistorlarla tasarlandıklarından bu değişkenlikler SRAM' lerde daha yaygın olarak ortaya çıkabilmektedir. Bunun sonucu olarak aynı şekilde tasarlanmış devre bileşenlerinin erişim gecikmelerinde ve enerji tüketimlerinde dalgalanmalar söz konusu olabilmektedir. Örnek olarak bu, aynı önbelleğe ait farklı blokların farklı erişim gecikmelerine sahip olması anlamına gelmektedir. Bu problemle baş etmenin en basit yolu en yavaş erişim gecikmesi paradigmasını kullanmaktır. Diğer bir ifadeyle bu, bütün önbellek blokların erişim gecikmesinin en yavaş bloğun erişim gecikmesine sahip olduğunu kabul etmektir. Bu şekildeki düzenli önbellek yönetimi, basit olmasına rağmen performansta kayıplara yol açabilmektedir. Bu husus, bu yöntemin geleceğin yüksek performanslı işlemcilerde uygulanmasısın dezavantajlı kılar. Bu çalışmada biz, işlem değişkenliklerinin komut önbelleklerinde yol açtığı erişim gecikmelerinin olumsuz etkilerini azaltmak için derleyiciye dayalı bazı yöntemler üzerinde duracağız. Önerdiğimiz derleyici teknikleri, komutların erişim gecikmelerinin komutlarda kodlanması yeniliğini getirmektedir. Daha açık olarak ifade etmek gerekirse, bir komutun önbellek erişim gecikmesi o komuttan önce çalıştırılan komuta/komutlara kodlanır. Deneysel sonuçlarımız SPEC2000'a ait uygulamalar için geliştirdiğimiz uyarlanabilir önbellek yönetim yöntemlerimizin, işlem değişkenliklerinden kaynaklanan performans kayıplarını azaltmada oldukça etkili olduklarını göstermektedir. Buna ek olarak sonuçlarımız, kod yer değişikliğinin erişim gecikmeleri kodlaması ile kullanılması halinde performans kayıplarının daha da azaltılabileceğini göstermektedir. Örneğin, hem kod yer değişimi hem de kodlamayı kullanan yöntemlerimizden birinin, %30,2'lik performans kaybının %5,9'a indirilebilmesini sağlamaktadır.

Abstract:
As technology moves toward finer process geometries, it is becoming extremely difficult to control the critical physical parameters such as channel length, gate oxide thickness, and dopant ion concentration, which in turn leads to dramatic variations in device characteristics. These variations are more pronounced in SRAM cells as they are typically designed with minimum sized transistors for density reasons, and they manifest themselves as fluctuations in access latencies as well as power consumptions of the identically-designed components. This means for example that the different lines of the same cache may have different access latencies. A simple solution to address this problem is to adopt the worst case latency paradigm, i.e., all the cache lines are assumed to have the latency of the slowest cache line. While this egalitarian cache management is simple, it may introduce a significant performance overhead, making it unfeasible for future high performance processors. In this study, we investigate several compiler techniques to mitigate the effect of process variation on the instruction cache. Our proposed techniques annotate the cache access latency of instructions within themselves. More specifically, the access latency of the cache set of the instruction to be accessed next is encoded in its predecessor instruction(s). Our experimental results with the SPEC2000 suite show that, using our adaptive cache management policies based on varying instruction cache access latencies, it is possible to reduce the performance overhead (resulting from process variation) significantly. In addition, our results also show that applying code relocation with encoding can reduce performance overheads even further. For example, using one of our schemes that employs both code relocation and encoding, we can cut the original 30.2% average performance overhead introduced by an access mechanism employing the worst case latency paradigm to 5.9%.