Dersin Kodu | Dersin Adı | Dersin Türü | Yıl | Yarıyıl | AKTS |
---|---|---|---|---|---|
9105055452012 | Dağıtık Algoritmalar | Seçmeli Ders Grubu | 1 | 1 | 8,00 |
Yüksek Lisans
Türkçe
Bu dersin amacı öğrencilerin; dağıtık algoritmaları kavramaları, analiz edebilmeleri, dağıtık algoritmaların doğrulukları ve performansları hakkında yorum yapabilmeleri, limitlerini kavrayabilmelerini ve yeni dağıtık algoritmalar geliştirebilmelerini sağlamaktır.
Doç. Dr. Orhan Dağdeviren
1 | 1. Dağıtık Algoritma kavramını anlayabilmek. |
2 | 2. Problemlere farklı bir bakış açısıyla dağıtık bir şekilde çözüm üretebilmek. |
3 | 3. Bilinen dağıtık problemleri ve çözümler hakkında bilgi sahibi olmak. |
4 | 4. Dağıtık algoritmaların analizini yapabilmek. |
5 | 5. Dağıtık ortamda oluşabilecek problemleri fark edebilmek. |
6 | 6. Problemleri dağıtık bir şekilde düşünerek dağıtık algoritmasını tasarlayabilmek. |
7 | 7. Dağıtık yazılım geliştirmek için çağdaş teknolojileri kullanabilmek. |
8 | 8. Bilinen seri çalışan bir algoritmayı dağıtık hale çevirebilmek. |
Yok
Yok
Dağıtık çizge algoritmaları: Dağıtık hesaplama modelleri, çizge teorisine ve çizge teorik algoritmaların tekrarı, köşe ve ağaç kapsama (cover) algoritmaları, dağıtık herkese gönderim (broadcast), kapsayan ağaç algoritmaları, GHS algoritması, dağıtık DFS ve dağıtık BFS algoritmaları, eşleme, bağımsız küme ve hâkim küme, kümeleme. Temel dağıtık algoritmalar: Zaman senkronizasyonu, dağıtık karşılıklı dışlama algoritmaları, sonlanma tespiti, dağıtık ortamlarda ölü-kilit problemleri ve örnek çözüm algoritmaları, anlaşma protokolleri, oto-stabilizasyon.
Hafta | Konular (Teorik) | Öğretim Yöntem ve Teknikleri | Ön Hazırlık |
---|---|---|---|
1 | Dağıtık sistemlerin tanımı, dağıtık uygulama örnekleri, mesaj gönderimi modelleri, paylaşımlı bellek modeli. | ||
2 | Sonlu durum makineleri, görevler, threadler, thread çeşitleri ve semafor örnekleri. | ||
3 | Çizge teorisi ve temel çizge algoritmaları: BFS algoritması, DFS algoritması, çizge bağlılığı, topolojik sıralama algoritması. | ||
4 | Köşe ve ağaç boyama algoritmaları, dağıtık köşe ve ağaç boyama algoritması, dağıtık ağaç tabanlı algoritmalar: broadcast (herkese gönderim) ve convergecast (herkesten toplama) algoritmaları. | ||
5 | BFS ağaç oluşturma, yayma (flooding), seri ve dağıtık MST algoritmaları, döngü (cycle) ve kesim (cut) kavramları. | ||
6 | Dağıtık sistemlerde zaman senkronizasyonu, Berkeley zaman protokolü, mantıksal saatler, Lamport’un mantıksal saat algoritması, vektör saatleri, matris saatleri | ||
7 | Kaynak paylaştırma, kritik bölge problemi, donanımsal senkronizasyon, semaforlar, semafor problem örnek kod incelemesi. | ||
8 | Ara Sınav | ||
9 | Karşılıklı dışlama algoritmaları: Lamport’un algoritması, Ricart-Agrawala’nın algoritması, Suzuki-Kasami’nin algoritması, Raymond’ın algoritması, Maekawa’nın algoritması. | ||
10 | Dağıtık sistemlerin global durumu, Chandy Lamport’un algoritması, Lai Yang’ın algoritması, snapshot. | ||
11 | Ölü kilitler ve sonlanma tespiti, Dijkstra-Scholten algoritması, dağıtık ölü kilit, Chandy Misra Haas ölü kilit önleme algoritması. | ||
12 | Lider seçimi algoritmaları: Bully algoritması, LeLann’ın algoritması, Chang Roberts algoritması, Senkronizörler. | ||
13 | Anlaşma protokolleri, Bizans generalleri problemi, konsensus. | ||
14 | Anlaşma protokolleri, oto stabilizasyon. | ||
15 | Proje Sunumları | ||
16 | Final Sınavı |
1.Sukumar Ghosh, Distributed Systems : An Algorithmic Approach, Chapman and Hall, (2006) . 2.Vijay Garg, Elements of Distributed Computings, John Wiley, (2002). 3.Gerard Tel, Introduction to Distributed Algorithms, 2nd Ed., Cambridge University Press, (2000). 4.David Peleg, Distributed Algorithms, Locality Sensitive Approach, SIAM, Philadelphia, PA, (2000). 5.Jon Kleinberg and Eva Tardos, Algorithm Design, Addison Wesley, (2006). 6.Douglas West, Introduction to Graph Theory, 2nd Edition, Prentice-Hall, (2000). 7. J.Gross and J. Yellen, Graph Theory and Its Applications, 2nd Edition, Chapman & Hall, (2005).
Etkinlikler ayrıntılı olarak "Değerlendirme" ve "İş Yükü Hesaplaması" bölümlerinde verilmiştir.
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 | 3 | 3 |
Final Sınavı | 1 | 3 | 3 |
Derse Katılım | 14 | 3 | 42 |
Rapor Hazırlama | 8 | 3 | 24 |
Proje Hazırlama | 9 | 4 | 36 |
Proje Sunma | 1 | 3 | 3 |
Ödev Problemleri için Bireysel Çalışma | 7 | 7 | 49 |
Ara Sınav İçin Bireysel Çalışma | 1 | 21 | 21 |
Final Sınavı içiin Bireysel Çalışma | 1 | 30 | 30 |
Okuma | 7 | 3 | 21 |
Toplam İş Yükü (saat) | 232 |
PÇ 1 | PÇ 2 | PÇ 3 | PÇ 4 | PÇ 5 | PÇ 6 | PÇ 7 | |
ÖÇ 1 | 5 | 5 | |||||
ÖÇ 2 | 5 | 5 | |||||
ÖÇ 3 | 5 | 5 | |||||
ÖÇ 4 | 4 | 5 | |||||
ÖÇ 5 | 5 | ||||||
ÖÇ 6 | 4 | 5 | 5 | ||||
ÖÇ 7 | 5 | 3 | |||||
ÖÇ 8 | 4 | 5 |