| Dersin Kodu | Dersin Adı | Dersin Türü | Yıl | Yarıyıl | AKTS |
|---|---|---|---|---|---|
| 501004012023 | MULTIPROCESSOR PROGRAMMING | Seçmeli Ders Grubu | 4 | 7 | 5,00 |
Lisans
İngilizce
Çoklu işlemci mimarilerinin yaygınlaşması, yazılım geliştirme sürecini önemli ölçüde etkilemiştir. Buna uygun olarak, bu dersin temel amacı, paylaşılan bir bellek aracılığıyla iletişim kurabilen çoklu işlemci mimarilerinin nasıl programlanacağını anlamaktır. Bu tür sistemlere genellikle paylaşılan bellekli çoklu işlemci veya çoklu çekirdek denir. Bu derste, eşzamanlı programlar hakkında akıl yürütme için doğruluk ve diğer ölçütleri ve yaklaşımları incelemeyi amaçlıyoruz. Diğer hedefimiz, çoklu işlemci mimariler için uyarlanmış çeşitli pratik hususları anlamaktır.
Prof. Dr. Orhan Dağdeviren
| 1 | Çoklu işlemci programlama kavramlarını anlama becerisi. |
| 2 | Primitif senkronizasyon işlemlerini anlama becerisi. |
| 3 | Mimarinin performansı nasıl etkilediğine dair bilgi edinme becerisi. |
| 4 | Ortak bellek programlarının doğruluk ve ilerleme özelliklerini analiz edebilme. |
| 5 | Paylaşılan bellek programlarının sınırlamalarını analiz edebilme. |
| 6 | Detaylı ve detaysız senkronizasyonu uygulayabilme. |
| 7 | Havuzlar olarak bilinen geniş bir nesne sınıfını kullanma becerisi. |
| 8 | Çoklu işlemci programları gerçekleştirebilme. |
Birinci Öğretim
Yok
Yok
Bu dersin içeriği, karşılıklı dışlama, eşzamanlı nesneler, paylaşılan belleğin temelleri, ilkel senkronizasyon işlemleri, konsensusun evrenselliği, döndürme kilitleri, çekişme, monitörler, bloke senkronizasyon, bağlantılı listeler, ABA problemi, dağıtılmış koordinasyon, eşzamanlı karma, atlama listeleri ve dengeli arama gibi çoklu işlemci programlama kavramları ve konularıdır.
| Hafta | Konular (Teorik) | Öğretim Yöntem ve Teknikleri | Ön Hazırlık |
|---|---|---|---|
| 1 | 1 Giriş 2 Birbirini Dışlama 3 Eşzamanlı Nesneler 4 Paylaşılan Belleğin Temelleri 5 İlkel Senkronizasyon İşlemleri 6 Konsensusun Evrenselliği 7 Döndürme Kilitleri ve Çekişme 8 Vize 9 Monitörler ve Bloke Senkronizasyon 10 Bağlı Listeler 11 Kuyruklar, Bellek Yönetimi ve ABA Problemi 12 Yığıtlar ve Yok Etme 13 Sayma, Sıralama ve Dağıtık Koordinasyon 14 Eşzamanlı Anahtarlama ve Doğal Paralellik 15 Atlama Listeleri ve Dengeli Arama 16 Final |
• Maurice Herlihy, Nir Shavit, Victor Luchangco, Michael Spear, The Art of Multiprocessor Programming, Morgan Kaufmann, 2n Edition, 2020.
| Yarıyıl (Yıl) İçi Etkinlikleri | Adet | Değer |
|---|---|---|
| Ara Sınav | 1 | 100 |
| Toplam | 100 | |
| Yarıyıl (Yıl) Sonu Etkinlikleri | Adet | Değer |
| Final Sınavı | 1 | 100 |
| Toplam | 100 | |
| Yarıyıl (Yıl) İçi Etkinlikleri | 40 | |
| Yarıyıl (Yıl) Sonu Etkinlikleri | 60 | |
Yok
| Etkinlikler | Sayısı | Süresi (saat) | Toplam İş Yükü (saat) |
|---|---|---|---|
| Ara Sınav | 1 | 2 | 2 |
| Final Sınavı | 1 | 2 | 2 |
| Derse Katılım | 14 | 3 | 42 |
| Ara Sınav İçin Bireysel Çalışma | 1 | 52 | 52 |
| Final Sınavı içiin Bireysel Çalışma | 1 | 52 | 52 |
| Toplam İş Yükü (saat) | 150 | ||
| PÇ 1 | PÇ 2 | PÇ 3 | PÇ 4 | PÇ 5 | PÇ 6 | PÇ 7 | PÇ 8 | PÇ 9 | PÇ 10 | PÇ 11 | |
| ÖÇ 1 | 5 | 5 | 4 | 4 | |||||||
| ÖÇ 2 | 5 | 5 | 4 | 4 | |||||||
| ÖÇ 3 | 5 | 5 | 3 | 4 | 4 | ||||||
| ÖÇ 4 | 5 | 5 | 3 | ||||||||
| ÖÇ 5 | 5 | 5 | 3 | ||||||||
| ÖÇ 6 | 5 | 5 | 5 | 4 | 3 | 3 | |||||
| ÖÇ 7 | 5 | 5 | 5 | 4 | 3 | 3 | |||||
| ÖÇ 8 | 5 | 5 | 5 | 4 | 5 | 3 | 4 |