Siber Güvenlik (YL) (Tezli) (İngilizce) | |||||
Yüksek Lisans | TYYÇ: 7. Düzey | QF-EHEA: 2. Düzey | EQF-LLL: 7. Düzey |
Ders Kodu: | COE5025 | ||||
Ders İsmi: | Distributed Systems | ||||
Ders Yarıyılı: | Güz | ||||
Ders Kredileri: |
|
||||
Öğretim Dili: | İngilizce | ||||
Ders Koşulu: | |||||
Ders İş Deneyimini Gerektiriyor mu?: | Evet | ||||
Dersin Türü: | Bölüm/Program Seçmeli | ||||
Dersin Seviyesi: |
|
||||
Dersin Veriliş Şekli: | Yüz yüze | ||||
Dersin Koordinatörü: | Doç. Dr. EMİR SEYYEDABBASİ | ||||
Dersi Veren(ler): | Dr. Hüsamettin Osmanoğlu | ||||
Dersin Yardımcıları: |
Dersin Amacı: | Bu dersin amacı, öğrencilere dağıtık sistemlerin mimarisi, orta yazılım, sistem düzeyi destek ve dağıtık algoritmaların tasarımında karşılaşılan farklı yönlerle ilgili bilgi sahibi olmaktır. Bu ders, dağıtık hesaplama sistemlerinin oluşturulması ve yönetilmesi için tasarım prensipleri, zorluklar ve gelişmekte olan paradigmalar üzerine derinlemesine bir çalışma sunar. Öğrenciler, pratik alıştırmalar ve projeler aracılığıyla dağıtık sistemlerde kullanılan çeşitli kavramları, algoritmaları ve teknolojileri keşfedecek ve aynı zamanda Google Dosya Sistemi ve MapReduce gibi popüler dağıtık sistem paradigmalarını tasarlama ve uygulama becerisi kazanacaklardır. |
Dersin İçeriği: | Dağıtık Sistem genellikle bir bilgisayar ağının farklı işlem düğümlerine dağıtılmış mantıksal olarak ilişkili veri koleksiyonu olarak tanımlanır. Bağımsız bilgisayarların birleşmiş bir bilgisayar gibi kullanıcılara göründüğü bir sistemdir. Dağıtık bir sistemde, ağdaki bilgisayarların donanım veya yazılım bileşenleri sadece mesajlaşma yoluyla iletişim kurar ve eylemlerini koordine eder. Bu kursun ana temaları, süreç dağıtımı ve iletişimi, veri dağıtımı, zamanlama, eşzamanlılık, kaynak paylaşımı, senkronizasyon, adlandırma, soyutlama ve modülerlik, hata yönetimi, kazara ve kötü amaçlı zararlardan koruma, dağıtık programlama modelleri, dağıtık dosya sistemleri, sanallaştırma ve sorun çözmede enstrümantasyon, izleme ve hata ayıklama araçlarının kullanımını içerir. Yazılım sistemlerinin oluşturulması ve yönetimi, lisans düzeyindeki sistemler derslerinin temel bir hedefidir, bu nedenle öğrenciler büyük programlama projelerini tasarlayacak, uygulayacak ve hata ayıklama yapacaklardır. |
Bu dersi başarıyla tamamlayabilen öğrenciler;
1) Dağıtık sistemlerdeki tasarım prensiplerini ve dağıtık sistem mimarilerini anlamak. 2) Saat senkronizasyonu, eşzamanlılık kontrolü, ölümcül durum tespiti, yük dengeleme, oylama vb. ile ilişkili çeşitli dağıtık algoritmaları uygulamak. 3) Dağıtık sistemlerde hata tolere edebilirlik ve kurtarma süreçlerini ve buna yönelik algoritmaları analiz etmek. 4) Mevcut dağıtık sistemlerin ve dosya sistemlerinin tasarımını ve işlevselliğini analiz etmek. |
Hafta | Konu | Ön Hazırlık |
1) | Introduction to Distributed Systems | Chapter 1 |
2) | Distributed System Architectures | Chapter 2 |
3) | Web services | |
3) | Communication and Coordination in Distributed Systems | Chapter 3 |
4) | Challenges and Time in distributed systems | A Note on Distributed Computing. Sun Microsystems Laboratories, Inc. Technical Report SMLI TR-94-29. November 1994. Lamport, Leslie. Time, Clocks, and the Ordering of Events in a Distributed System. Communications of the ACM, 21(7), July 1978. |
5) | Strong Consistency | Chandy, K. Mani and Lamport, Leslie. Distributed Snapshots: Determining Global States of Distributed Systems. ACM Transactions on Computer Systems 3(1), February 1985. Spanner: Google’s Globally-Distributed Database. ACM Transactions on Computer Systems 31(3), August 2013. Optional: Chain Replication for Supporting High Throughput and Availability |
6) | Consensus (Paxos, Raft, etc.) | Ongaro, Diego and Ousterhout, John. In Search of an Understandable Consensus Algorithm. USENIX Annual Technical Conference (ATC), 2014. See “Ongaro PDF” link near the bottom of the page Paxos Made Live - An Engineering Perspective. ACM Symposium on Principles of Distributed Computing (PODC), 2007. |
7) | CAP, FLP, and other impossibilities | Fischer, Michael J., and Lynch, Nancy A., and Paterson, Michael S. Impossibility of Distributed Consensus with One Faulty Process. Journal of the ACM 32(2), April 1985. Brewer, Eric. CAP Twelve Years Later: How the “Rules” Have Changed. IEEE Computer 45, February 2012. |
8) | Weak and Eventual Consistency | Managing update conflicts in Bayou, a weakly connected replicated storage system. ACM Symposium on Operating Systems Principles (SOSP), 1995. Conflict-Free Replicated Data Types. Symposium on Self-Stabilizing Systems (SSS), 2011. |
9) | Large scale data storage and processing: Hadoop & Spark | Dean, Jeffrey and Ghemawat, Sanjay. MapReduce: Simplified Data Processing on Large Clusters. In 6th Symposium on Operating Systems Design and Implementation (OSDI), 2004. Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing. NSDI 2012. https://people.cs.rutgers.edu/~pxk/417/notes/mapreduce.html https://people.cs.rutgers.edu/~pxk/417/notes/pregel.html https://people.cs.rutgers.edu/~pxk/417/notes/spark.html |
10) | Distributed Resource Management | Apache Hadoop YARN: Yet Another Resource Manager. In the 4th Annual Symposium on Cloud Computing (SoCC), 2013. Large-scale Cluster Management at Google with Borg. In the 10th European Conference on Computer Systems (EuroSys), 2015. https://people.cs.rutgers.edu/~pxk/417/notes/clusters.html https://static.googleusercontent.com/media/research.google.com/en//archive/googlecluster-ieee.pdf https://people.cs.rutgers.edu/~pxk/417/notes/pdf/13c-clusters-hpc-slides.pdf |
12) | Naming and binding | https://people.cs.rutgers.edu/~pxk/417/notes/naming.html |
13) | Distributed System Security | https://people.cs.rutgers.edu/~pxk/417/notes/crypto.html |
Ders Notları / Kitaplar: | 1. Ajay D. Kshemkalyani and Mukesh Singhal, Distributed Computing: Principles, Algorithms and Systems, Cambridge University Press, 2011 2. George Coulouris, Jean Dollimore, Tim Kindberg and Gordon Blair, Distributed Systems: Concepts and Design, Fifth Edition, Pearson Education, 2017 |
Diğer Kaynaklar: | George Coulouris, Jean Dollimore, Tim Kindberg and Gordon Blair, Distributed Systems: Concepts and Design, Fifth Edition, Pearson Education, 2017 |
Ders Öğrenme Kazanımları | 1 |
2 |
3 |
4 |
||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Program Kazanımları | ||||||||||||
1) Lisans düzeyi yeterliliklerine dayalı olarak, aynı veya farklı bir alanda bilgilerini uzmanlık düzeyinde geliştirebilme ve derinleştirebilme. | ||||||||||||
2) Alanında edindiği uzmanlık düzeyindeki kuramsal ve uygulamalı bilgileri kullanabilme. | ||||||||||||
3) Alanında edindiği bilgileri farklı disiplin alanlarından gelen bilgilerle bütünleştirerek yorumlayabilme ve yeni bilgiler oluşturabilme, | ||||||||||||
4) Alanı ile ilgili karşılaşılan sorunları araştırma yöntemlerini kullanarak çözümleyebilme. | ||||||||||||
5) Alanındaki güncel gelişmeleri ve kendi çalışmalarını, nicel ve nitel veriler ile destekleyerek alanındaki ve alan dışındaki gruplara, yazılı, sözlü ve görsel olarak sistemli biçimde aktarabilme. | ||||||||||||
6) Bir yabancı dili en az Avrupa Dil Portföyü B2 Genel Düzeyi'nde kullanarak sözlü ve yazılı iletişim kurabilme. | ||||||||||||
7) Alanında edindiği uzmanlık düzeyindeki bilgi ve becerileri eleştirel bir yaklaşımla değerlendirebilme ve öğrenmesini yönlendirebilme. | ||||||||||||
8) Alanının gerektirdiği düzeyde bilgisayar yazılımı ile birlikte bilişim ve iletişim teknolojilerini ileri düzeyde kullanabilme. | ||||||||||||
9) Alanı ile ilgili verilerin toplanması, yorumlanması, uygulanması ve duyurulması aşamalarında toplumsal, bilimsel, kültürel ve etik değerleri gözeterek denetleyebilme ve bu değerleri öğretebilme. | ||||||||||||
10) Alanında özümsedikleri bilgiyi, problem çözme ve/veya uygulama becerilerini, disiplinlerarası çalışmalarda kullanabilme. | ||||||||||||
11) Alanı ile ilgili uzmanlık gerektiren bir çalışmayı bağımsız olarak yürütebilme. | ||||||||||||
12) Alanı ile ilgili uygulamalarda karşılaşılan ve öngörülemeyen karmaşık sorunların çözümü için yeni stratejik yaklaşımlar geliştirebilme ve sorumluluk alarak çözüm üretebilme. |
Etkisi Yok | 1 En Düşük | 2 Orta | 3 En Yüksek |
Dersin Program Kazanımlarına Etkisi | Katkı Payı | |
1) | Lisans düzeyi yeterliliklerine dayalı olarak, aynı veya farklı bir alanda bilgilerini uzmanlık düzeyinde geliştirebilme ve derinleştirebilme. | 2 |
2) | Alanında edindiği uzmanlık düzeyindeki kuramsal ve uygulamalı bilgileri kullanabilme. | |
3) | Alanında edindiği bilgileri farklı disiplin alanlarından gelen bilgilerle bütünleştirerek yorumlayabilme ve yeni bilgiler oluşturabilme, | 2 |
4) | Alanı ile ilgili karşılaşılan sorunları araştırma yöntemlerini kullanarak çözümleyebilme. | |
5) | Alanındaki güncel gelişmeleri ve kendi çalışmalarını, nicel ve nitel veriler ile destekleyerek alanındaki ve alan dışındaki gruplara, yazılı, sözlü ve görsel olarak sistemli biçimde aktarabilme. | |
6) | Bir yabancı dili en az Avrupa Dil Portföyü B2 Genel Düzeyi'nde kullanarak sözlü ve yazılı iletişim kurabilme. | |
7) | Alanında edindiği uzmanlık düzeyindeki bilgi ve becerileri eleştirel bir yaklaşımla değerlendirebilme ve öğrenmesini yönlendirebilme. | |
8) | Alanının gerektirdiği düzeyde bilgisayar yazılımı ile birlikte bilişim ve iletişim teknolojilerini ileri düzeyde kullanabilme. | |
9) | Alanı ile ilgili verilerin toplanması, yorumlanması, uygulanması ve duyurulması aşamalarında toplumsal, bilimsel, kültürel ve etik değerleri gözeterek denetleyebilme ve bu değerleri öğretebilme. | 1 |
10) | Alanında özümsedikleri bilgiyi, problem çözme ve/veya uygulama becerilerini, disiplinlerarası çalışmalarda kullanabilme. | |
11) | Alanı ile ilgili uzmanlık gerektiren bir çalışmayı bağımsız olarak yürütebilme. | |
12) | Alanı ile ilgili uygulamalarda karşılaşılan ve öngörülemeyen karmaşık sorunların çözümü için yeni stratejik yaklaşımlar geliştirebilme ve sorumluluk alarak çözüm üretebilme. |
Yarıyıl İçi Çalışmaları | Aktivite Sayısı | Katkı Payı |
Ödev | 20 | % 10 |
Sunum | 20 | % 20 |
Projeler | 60 | % 30 |
Final | 40 | % 40 |
Toplam | % 100 | |
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI | % 60 | |
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI | % 40 | |
Toplam | % 100 |
Aktiviteler | Aktivite Sayısı | İş Yükü |
Ders Saati | 14 | 42 |
Sınıf Dışı Ders Çalışması | 15 | 30 |
Sunum / Seminer | 14 | 14 |
Proje | 15 | 45 |
Final | 1 | 20 |
Toplam İş Yükü | 151 |