Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

GPU Önbelleklerinde Yerelliğe Bağlı Dinamik Yazma Politikası

Benzer bir sunumlar


... konulu sunumlar: "GPU Önbelleklerinde Yerelliğe Bağlı Dinamik Yazma Politikası"— Sunum transkripti:

1 GPU Önbelleklerinde Yerelliğe Bağlı Dinamik Yazma Politikası
Sunuş: Çağatay TURGUT (TOBB ETÜ, Bilgisayar Mühendisliği) Yazarlar: Doç. Dr. Oğuz ERGİN Akademik Bilişim 2017 Aksaray Üniversitesi

2 İçerik GPU GPGPU GPU Önbellekleri Önbellek Yazma Politikaları
Dinamik Yazma Politikası Yerellik Detektörü Yerellik Skoru Politika Başarımları

3 GPU Grafik İşlemci Ünitesi (Graphics Processing Unit)
Birçok basit seviyede çekirdeğe sahiptir . Parallel algoritma hesaplarında yüksek başarıma sahiptir. Grafik yaratımı hızlandırıcı aygıttır. Gömülü sistemler, cep telefonları, kişisel bilgisayarlar, workstation, oyun konsolları gibi yerlerde kullanılır. Nvidia, AMD Grafik kartlarının üzerinde bulunan bir işlemcidir. Merkezi işlemci biriminden farkı çok sayıda çekirdeğe sahip olmasıdır. Bu çekirdekler, merkezi işlemci çekirdeklerine göre oldukça basit yapıya sahiptirler. Daha düşük frekansta çalışmaktadırlar, dallanma komutları performansı düşürmektedir, dallanma öngürüsü(branch prediction) yoktur, basit pipeline’a sahip, çok sayıdadırlar. Sayıca fazla olmaları parallel algoritma hesaplarında yüksek başarım elde etmeyi sağlamaktadır. Grafik işlemleri fazla parallellik gösterdiğinden asıl kullanım alanları merkezi işlemci biriminin üzerinde grafik yaratmak için harcanan performans yükünü azaltmaktır. Günümüzde grafik işlemcileri birçok yerde kullanılmaktadır. Kullanılan alanlar başlıca şunlardır :hayatımızda fazlaca kullanmaya başladığımız elektronik aletlerin içlerindeki gömülü sistemler, cep telefonları, kişisel bilgisayarlarımız, workstationlar ve oyun konsolları . GPU donanımlarının günümüzdeki en büyük üreticileri NVIDIA ve AMD’dir.

4 GPU (Shader Pipeline) Fixed Pipeline Unified Pipeline
Computer Organization and Design MIPS Edition: The Hardware/Software Interface Yazar: David A. Patterson,John L. Hennessy Appendix C, C-10 İlk GPU örnekleri belli bir sıra ile daha önceden tanımlanmış aşamalarda hesap yapmaktaydılar. Bu yapıya fixed shader pipeline denilmektedir. Günümüzde bu farklı aşamalarda yapılan hesaplamalar ortaklanarak bir çok çekirdekten oluşan çekirdek dizesinde yapılmaktadır. Bu sayede eskiden sabit ve her aşaması farklı donanıma sahip olan mimari, ortak ve programlanabilinir tek bir donanıma sahip mimariye dönüşmüştür. Patterson, David A., and John L. Hennessy. Computer organization and design: the hardware/software interface. Newnes, 2013.

5 GPU (NVIDIA Tesla Mimarisi)
NVIDIA TESLA:A UNIFIED GRAPHICS AND COMPUTING ARCHITECTURE p.41 Lindholm, Erik, et al. "NVIDIA Tesla: A unified graphics and computing architecture." IEEE micro 28.2 (2008).

6 GPGPU General Purpose Computing on GPU
Shader pipeline’ı genel amaçlı hesaplar için kullanmaktır. Birçok iş parçacığı SIMT modeliyle çalışmaktadır. CUDA(Compute Unified Device Architecture), OpenCL(Open Computing Language) Quadro P6000 : 3840 cuda çekirdeği, 12 TFLOPs FP32 performansı, 432 GB/s bellek bant genişliği. 432 GB/s çok iyi bir bant genişliği olmasına rağmen binlerce cuda çekirdeğinde paralel bir şekilde çalışabilen iş parçacıkları için yeterli olmadığı zamanlar olmaktadır. Bazı uygulamaların karmaşık bellek adres erişimine sahip olduğu durumlarda, sahip olunan toplam bantgenişliğinin tamamı kullanılamamaktadır.

7 GPU Önbellekleri Fermi( ) mimarisi ile GPU’larda önbelleğe yer verilmiştir. GPU önbellek amacı bant genişliğine yardımcı olmaktır. GPGPU uygulamalarında önbelleğin başarımı birçok durumda arttırdığı gözlemlenmiştir. Uygulama başarımını trashing durumlarında negatif etkilediği durumlar olabilmektedir. İş parçacığı sayısının fazla olması trashing olma olasılığını arttırmaktadır.

8 Önbellek Yazma Politikaları
Write-Allocate(WA) Yazma kaybı durumlarında veriyi önbelleğe yazar ve o satırı kirli olarak işaretler. Yazma yerelliliği olduğu durumlarda başarım artışı sağlar. a = b + c; a = a^2; Yazma yerelliliği olmadığı durumlarda fazladan bellek trafiği oluşturur(yazarken satırın eksik bölgelerini bellekten çekerek) ve önbelleğe kullanılmayacak bilgileri ekler. No Write-Allocate(NoWA) Yazma kaybı durumlarında önbellekte değişiklik yapılmaz, yazılacak veri bir alt bellek hiyerarşisine yollanır.

9 Dinamik Yazma Politikası
Yerelliğin olduğu durumlarda WA, olmadığı durumlarda NoWA politikalarının kullanılmak amaçlanmıştır. Yerellik detektörü ile yazma yerellikleri bulunur, yerellik skoru güncellenir, bu skora göre politika kararı verilir. Uygulamanın çalışma esnasında anlık uygun politika seçilmeye çalışılmaktadır.

10 Yerellik Detektörü WA NoWA Örnek : WA aktif iken
1. Belleğe bir yazma isteği yazıldı.(Yazma Kaybı) 2. VTA tablosuna yazma kaybına sahip adres eklendi. 3a. Belleğe gelen sonraki yazma/okuma isteklerinden biri VTA tablosunda var -> Yerellik bayrağı yukarı çekilir ve skor arttırılır. 3b. Belleğe gelen sonraki yazma istekleri VTA tablosu içerisinde olmadığından, tablodan önceki isteklere ait girdi çıkarılır. Eğer yerellik bayrağı düşük ise skor azaltılır. WA Yazma Kaybı -> Yazma İsabeti Yazma Kaybı -> Okuma İsabet NoWA Yazma Kaybı -> Yazma Kaybı Yazma Kaybı -> Okuma İsabeti/Kaybı

11 Yerellik Skoru Breadth First Search(BFS) Kırmızı -> WA
Mavi -> NoWA

12 Politika Başarımları Dinamik politika bazı durumlarda diğer politikalardan daha iyi sonuç verebilmektedir. En kötü durumda, diğer politikalardan daha iyi çalışana yakınsamaktadır.


"GPU Önbelleklerinde Yerelliğe Bağlı Dinamik Yazma Politikası" indir ppt

Benzer bir sunumlar


Google Reklamları