Bilgi Paketi / Ders Kataloğu
Paralel Sistemler
Ders Kodu: CSE407
Ders Türü: Seçmeli
Ders Grubu: Lisans
Eğitim Dili: İngilizce
Staj Durumu: Yok
Teori: 2
Uyg.: 2
Kredi: 3
Laboratuvar: 0
AKTS: 6
Amaç

Bu derste öğrencilere paralel mimariler ve onlara yönelik programlama modellerinin tanıtılması amaçlanmaktadır. Paralel sistemlerin ve paralel programlamanın avantajlarının vurgulanmasına ek olarak, doğru paralel kod yazmadaki zorluklar üzerinde durulmaktadır. Amdahl Kanunu'nu sürdürülebilir kılmak için paralel bilgisayarları bir gereksinim haline getiren tek çekirdekli işlemcilerdeki engellerden de (güç duvarı ve ILP duvarı) bahsedilmektedir.

Özet İçerik

Özel önbelleklere sahip işlemcilerden oluşan paralel mimarilerde karşılaşılan veri tutarlılığı problemi tanıtılıp önbellek tutarlılık protokolleri üzerinde durulmaktadır. Önbellek tutarlı üniform olmayan bellek erişimli (ccNUMA) paralel sistemler tanıtılıp bu tür mimarilerin sağladığı performans kazançlarından bahsedilmektedir. Genel olarak, programlama modeli olarak paylaşılan bellekli makineler yönelik OpenMP anlatılıp, işlerin çoklu iş parçacıkları arasında paylaşımını sağlayan OpenMP özellikleri üzerine yoğunlaşılmaktadır. Ayrıca dağıtık bellekli makineler için MPI programlama modelinden kısa da olsa bahsedilmektedir.

Dersi Veren Öğretim Görevlisi/Görevlileri
Öğrenme Çıktıları
1.Paralel mimarileri gruplandırır.
2.Paralel bilgisayarların faydalarını takdir eder ve onlardan en iyi performansı elde etmek için paralel program yazmada dikkat edilmesi gereken hususların farkındadır.
3.Paralel hesaplamanın kaçınılmaz olup olmadığınının hükmüne varır.
4.Önbellek tutarlılık konusunu açıklar ve bu problemin çözümü için geliştirilen protokolleri sayar.
5.Günümüzdeki çok çekirdekli işlemcilerin ortaya çıkmasına sebep olan yazılımsal ve teknolojik sebepleri yorumlar.
6.ccNUMA mimarilerini ve onların performans faydalarını onaylar.
7.OpenMP ve MPI gibi paralel programlama modellerinde program yazar.
8.Programlardaki mevcut farklı paralellik formlarını sayar ve her bir paralel formdan yararlanmak için ne çeşit bir makineye ihtiyaç duyulduğunu açıklar.
Ders Kitabı / Malzemesi / Önerilen Kaynaklar
1.Using OpenMP, Portable Shared Memory Parallel Programming by B. Chapman, G. Jost, R. V. D. Pas, The MIT Press Cam-bridge, Massachusetts, 2008.
2.Parallel Programming in OpenMP by R. Chandra, L. Dagum, D. Kohr, D. Maydan, J. McDonald, R. Menon, Morgan Kaufmann Publishers, 2001
Haftalık Ayrıntılı Ders İçeriği
1. Hafta - Teorik
Paralel mimarilere giriş
2. Hafta - Teorik
Yazılımlardaki paralellik çeşitleri: komut seviyesi, görev seviyesi, program seviyesi; Bu paralelliklerden yararlanmak için gerekli donanım destekleri
3. Hafta - Teorik
Paralel makine çeşitleri: süper ölçekli, eşzamanlı çok iş parçalı, dağıtık bellekli makineler, paylaşımlı bellekli, çok çekirdekli makineler
4. Hafta - Teorik
Paylaşımlı bellekli paralel makinelerde tutarlılık ve uyumluluk problemleri; Önbellek tutarlılık protokolleri.
5. Hafta - Teorik
Çok çekirdekli makineler ve bunların çekirdek üzeri ağları
6. Hafta - Teorik
Çekirdek üzeri ağlar (devam)
7. Hafta - Teorik
Eşzamanlı çok iş parçacıklı işleme
8. Hafta - Teorik
Paralel programlama modelleri: OpenMP (paylaşımlı bellek) ve MPI (dağıtık bellek); OpenMP'ye bakış; İş parçacıkları arasında yük paylaşımı
9. Hafta - Teorik
OpenMp senkronizasyon yapıları (bariyerler, sıralı yapı, kritik yapı, atomik yapı, kilitler, vb.)
10. Hafta - Teorik
OpenMP'de iş parçacığı sayısını ayarlama; En iyi performansı elde etmek için yazılım ve donanım teknikleri (paylaşımlı önbellek, TLB, döngü optimizasyonları, veri paylaştırma, vb.)
11. Hafta - Teorik
OpenMP'de performans ölçümü; Yanlış paylaşım, özel/paylaşımlı veride yanlış seçim ve gereğinden fazla sayıda iş parçacığı ile çalışma gibi hususlardan ortaya çıkan paralelliğin ölçeklenmesine ters etki eden durumlardan sakınma yöntemleri
12. Hafta - Teorik
Gerçek dünyada OpenMP kullanımı ve OpenMP için ölçeklenebilirlik zorlukları
13. Hafta - Teorik
Dağıtık paylaşımlı bellekli mimarilerden maksimum performans sağlamak için OpenMP ve MPI birlikte kullanımı
14. Hafta - Teorik
Dağıtık paylaşımlı bellekli mimarilerden maksimum performans sağlamak için OpenMP ve MPI birlikte kullanımı
Değerlendirme
Değerlendirme TürüAdetYüzde
Laboratuvar1%5
Ödev5%5
Kısa Sınav (Quiz)4%15
Ara Sınav (Vize)1%15
Dönem Sonu Sınavı (Final)1%60
İş Yükü Hesaplaması
EtkinlikSayısıÖn HazırlıkSüreToplam Iş Yükü (Saat)
Kuramsal Ders140228
Uygulamalı Ders140228
Ödev52115
Proje18715
Kısa Sınav45126
Ara Sınav116218
Dönem Sonu Sınavı116218
TOPLAM İŞ YÜKÜ (Saat)148
Program ve Öğrenme Çıktıları İlişkisi
PÇ-1
PÇ-2
PÇ-3
PÇ-4
PÇ-5
PÇ-6
PÇ-7
PÇ-8
PÇ-9
PÇ-10
PÇ-11
OÇ-1
5
4
4
4
OÇ-2
5
4
5
4
4
4
OÇ-3
4
4
OÇ-4
5
4
OÇ-5
4
5
4
4
4
4
OÇ-6
4
4
4
4
OÇ-7
5
4
5
5
OÇ-8
4
4
4
4
4
4
Adnan Menderes Üniversitesi - Bilgi Paketi / Ders Kataloğu
2026