Yazılım Mühendisliği | |||||
Lisans | TYYÇ: 6. Düzey | QF-EHEA: 1. Düzey | EQF-LLL: 6. Düzey |
Ders Kodu: | YAZ004 | ||||
Ders İsmi: | Paralel Bilgisayarlar | ||||
Ders Yarıyılı: | Güz | ||||
Ders Kredileri: |
|
||||
Öğretim Dili: | Türkçe | ||||
Ders Koşulu: | |||||
Ders İş Deneyimini Gerektiriyor mu?: | Hayır | ||||
Dersin Türü: | Bölüm/Program Seçmeli | ||||
Dersin Seviyesi: |
|
||||
Dersin Veriliş Şekli: | Yüz yüze | ||||
Dersin Koordinatörü: | Dr. Öğr. Üy. MUHAMMED DAVUD | ||||
Dersi Veren(ler): | Gürsan Çoban | ||||
Dersin Yardımcıları: |
Dersin Amacı: | • Paralellik kavramı, yerellik, flynn taksonomisi, hızlanma ve verimlilik. • Paralel bilgi işlemin temel mimarileri, Kümeler, SMP, bellek hiyerarşileri, önbellek tutarlılığı, gecikme süresi. • Mesaj Geçişli Hesaplama, MPI, Eşzamanlı-Eşzamansız mesaj iletimi, arabelleğe alınmış-arabelleğe alınmamış ileti geçişi, paralel programların değerlendirilmesi, ping-pong, wall-clock time • Toplu iletişim rutinleri • Doğrusal denklem sistemlerinin paralel çözümü konusunda temel bilgiler • Kendiliğinden paralel problemler • Bölümleme, böl ve yönet, eşzamanlı hesaplamalar, veri paralel hesaplama • Yük dengeleme • Paylaşımlı Bellek Programlama, OpenMP hakkında bilgi kazanımı sağlamak. |
Dersin İçeriği: | Bir haberleşme altyapısı üzerinden bağlanan sistemlerde yüksek hacimli verilerin ve hesaplama algoritmasının bölüntülü ve dengeli bir formda incelenmesinin sağlanması, birim zamanda gerçekleştirilen kayar nokta hesaplamalarının artmasını sağlar. Bu hesaplamalı olgu yüksek hızlarda çıktı elde edilmesi için temel teşkil etmektedir. Bu ders kapsamında yüksek performanslı hesaplama (HPC) işlemlerinin yürütülebilmesi için gerekli olan bilgisayar mimarileri incelenmekte, kodlama altyapıları uygulamalı olarak verilip (C veya Fortran), bilimsel uygulama alanları ile ilgili temel örnekler verilmektedir. |
Bu dersi başarıyla tamamlayabilen öğrenciler;
1) Paralel bir bilgi işlem ortamının altyapısının temel özelliklerini anlayabilir, olası darboğazları ve sistemlerin sınırlamalarını analiz edebilir. 2) Belirli bir paralel program için analizi başarılı sonuçlara yönlendirecek temel programlama kavramlarını bilir. Paralel bir çözümün başarısını uygun ölçümlerle değerlendirebilir. 3) Mesaj Aktarma, Hesaplama rutinlerini bilir ve uygular (MPI). 4) Kendiliğinden paralel hesaplamaları uygulama ve programlama konusunda beceriye sahiptir. 5) Yük dengeleme ve bölümleme stratejileri hakkında bilgi sahibi olur. 6) ‘Pipelined’ hesaplama kavramını, doğrusal sistemleri çözmek için nasıl uygulandığını bilir. 7) Paylaşılan bellek programlama kavramlarını bilir ve bunları OpenMP aracılığıyla uygular. |
Hafta | Konu | Ön Hazırlık |
1) | Paralel hesaplamaya giriş, genel ilkeler, taksonomi | |
2) | Paralel Hesaplama Mimarileri, Donanım ve Yazılım 1 | Ders Kaynak Kitabı, CH2 |
3) | Paralel Hesaplama Mimarileri, Donanım ve Yazılım 2 | Ders Kaynak Kitabı, CH2 |
4) | MPI ile Dağıtılmış Bellekli Programlama (1) (MPI programları, işaret temelleri, eş zamanlı- eş zamansız) | Ders Kaynak Kitabı, CH3 |
5) | MPI ile Dağıtılmış Bellekli Programlama (2) (toplu iletişim, kendiliğinden paralel hesaplamalar) | Ders Kaynak Kitabı, CH3 |
6) | Bölümleme Stratejileri, Ardışık Düzenli Hesaplama | Ek sunum dökümanları |
7) | Yarıyıl Sınavı | |
8) | Yük dengeleme | Ek sunum dökümanları |
9) | Pthreads ile Paylaşılan Bellek Programlama | Ders Kaynak Kitabı, CH4 |
10) | Paylaşılan bellek programlama -1 (OpenMP) | Ders Kaynak Kitabı, CH5 |
11) | Paylaşılan bellek programlama -2 (OpenMP) | Ch5 |
12) | Paralel Program Geliştirme Kavramları | CH6 |
13) | Algoritmalar ve Uygulamalar | Sunumlar |
14) | Dönem projesi sunumları-Tamamlayıcı |
Ders Notları / Kitaplar: | An Introduction to Parallel Programming, Peter S. Pacheco, Morgan Kaufmann; 1st Edition, 2011 |
Diğer Kaynaklar: | Parallel Programming: Techniques and Applications Using Networked Workstations and Parallel Computers 2nd Edition Barry Wilkinson, Michael Allen Paralel Programming in C with MPI and OpenMP, 1st edition, Michael J. Quinn, 2004 |
Ders Öğrenme Kazanımları | 1 |
2 |
3 |
4 |
5 |
6 |
7 |
||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Program Kazanımları | |||||||||||||||
1) Matematik, fen bilimleri ve ilgili mühendislik disiplinine özgü konularda yeterli bilgi birikimine; bu alanlardaki kuramsal ve uygulamalı bilgileri, mühendislik problemlerinde kullanabilme becerisine sahiptir. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | ||||||||
2) Bir sistemi, süreci veya ürünü ekonomik, çevre, sosyo-politik, etik, sağlık, güvenlik, üretilebilirlik ve sürdürülebilirlik ile ilişkili gerçekçi koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisine sahiptir. | 3 | 3 | 2 | 2 | 3 | 2 | 2 | ||||||||
3) Mühendislik problemlerini tanımlama, formüle etme ve çözme; çözüm için gerekli yöntemi seçme ve uygulama becerisine sahiptir. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | ||||||||
4) Mühendislik uygulamalarında karşılaşılan problemlerin analizi ve çözümü için gerekli olan modern teknikleri geliştirme, seçme ve kullanma; bilişim teknolojilerini etkin bir şekilde kullanma becerisine sahiptir. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | ||||||||
5) Mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisine sahiptir. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | ||||||||
6) Çok disiplinli takımlarda etkin biçimde çalışabilme becerisine sahiptir. | |||||||||||||||
7) Sözlü ve yazılı etkin iletişim kurma becerisi ile etkin rapor yazma ve yazılı raporları anlama, etkin sunum yapabilme becerisine sahiptir. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | ||||||||
8) Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilincine sahiptir; mühendislik uygulamalarında kullanılan standartlar hakkında bilgiye sahiptir. | |||||||||||||||
9) Bir yabancı dili Avrupa Dil Portföyü kriteri açısından en az B1 düzeyinde kullanabilme becerisine sahiptir. | |||||||||||||||
10) Yaşam boyu öğrenmenin gerekliliği bilincine sahiptir; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisine sahiptir. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | ||||||||
11) Bilgisayar yazılımı ile birlikte bilişim ve iletişim teknolojilerini Avrupa Bilgisayar Kullanma Lisansı İleri düzeyinde kullanabilme becerisine sahiptir. | |||||||||||||||
12) Proje yönetimi ve risk yönetimi uygulamaları hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgiye sahiptir. | |||||||||||||||
13) Mühendislik uygulamalarının evrensel ölçekte çevre, sağlık ve güvenlik üzerindeki etkileri ve hukuksal sonuçları hakkında bilgi ve farkındalığa sahiptir. | |||||||||||||||
14) Yazılım alternatiflerini irdeleyerek bilgisayar tabanlı sistemlerin modellenmesi ve tasarımında, algoritma prensiplerini, matematiksel temelleri ve bilgisayar bilimleri teorisini uygulama becerisine sahiptir. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | ||||||||
15) Türevsel denklemler, integral hesapları, doğrusal cebir, mantık ve ayrık matematik içerecek şekilde ileri matematik eğitimi ile birlikte yazılım mühendisliğinde veri yapıları ve algoritmalar, programlama dilleri, işletim sistemleri, bilgisayar güvenliği, bilgisayar teorisi, ağ programlama ve makine öğrenmesi alanlarını kapsayan mühendislik eğitimine sahiptir. | 2 | 2 | 3 | 2 | 2 | 3 | 3 |
Etkisi Yok | 1 En Düşük | 2 Orta | 3 En Yüksek |
Dersin Program Kazanımlarına Etkisi | Katkı Payı | |
1) | Matematik, fen bilimleri ve ilgili mühendislik disiplinine özgü konularda yeterli bilgi birikimine; bu alanlardaki kuramsal ve uygulamalı bilgileri, mühendislik problemlerinde kullanabilme becerisine sahiptir. | 3 |
2) | Bir sistemi, süreci veya ürünü ekonomik, çevre, sosyo-politik, etik, sağlık, güvenlik, üretilebilirlik ve sürdürülebilirlik ile ilişkili gerçekçi koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisine sahiptir. | 2 |
3) | Mühendislik problemlerini tanımlama, formüle etme ve çözme; çözüm için gerekli yöntemi seçme ve uygulama becerisine sahiptir. | 3 |
4) | Mühendislik uygulamalarında karşılaşılan problemlerin analizi ve çözümü için gerekli olan modern teknikleri geliştirme, seçme ve kullanma; bilişim teknolojilerini etkin bir şekilde kullanma becerisine sahiptir. | 3 |
5) | Mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisine sahiptir. | 3 |
6) | Çok disiplinli takımlarda etkin biçimde çalışabilme becerisine sahiptir. | |
7) | Sözlü ve yazılı etkin iletişim kurma becerisi ile etkin rapor yazma ve yazılı raporları anlama, etkin sunum yapabilme becerisine sahiptir. | 3 |
8) | Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilincine sahiptir; mühendislik uygulamalarında kullanılan standartlar hakkında bilgiye sahiptir. | |
9) | Bir yabancı dili Avrupa Dil Portföyü kriteri açısından en az B1 düzeyinde kullanabilme becerisine sahiptir. | |
10) | Yaşam boyu öğrenmenin gerekliliği bilincine sahiptir; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisine sahiptir. | 3 |
11) | Bilgisayar yazılımı ile birlikte bilişim ve iletişim teknolojilerini Avrupa Bilgisayar Kullanma Lisansı İleri düzeyinde kullanabilme becerisine sahiptir. | |
12) | Proje yönetimi ve risk yönetimi uygulamaları hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgiye sahiptir. | |
13) | Mühendislik uygulamalarının evrensel ölçekte çevre, sağlık ve güvenlik üzerindeki etkileri ve hukuksal sonuçları hakkında bilgi ve farkındalığa sahiptir. | |
14) | Yazılım alternatiflerini irdeleyerek bilgisayar tabanlı sistemlerin modellenmesi ve tasarımında, algoritma prensiplerini, matematiksel temelleri ve bilgisayar bilimleri teorisini uygulama becerisine sahiptir. | 3 |
15) | Türevsel denklemler, integral hesapları, doğrusal cebir, mantık ve ayrık matematik içerecek şekilde ileri matematik eğitimi ile birlikte yazılım mühendisliğinde veri yapıları ve algoritmalar, programlama dilleri, işletim sistemleri, bilgisayar güvenliği, bilgisayar teorisi, ağ programlama ve makine öğrenmesi alanlarını kapsayan mühendislik eğitimine sahiptir. | 2 |
Yarıyıl İçi Çalışmaları | Aktivite Sayısı | Katkı Payı |
Devam | 14 | % 0 |
Laboratuvar | 14 | % 0 |
Sunum | 1 | % 0 |
Projeler | 1 | % 0 |
Ara Sınavlar | 1 | % 30 |
Final | 1 | % 35 |
Final Sözlü | 1 | % 35 |
Toplam | % 100 | |
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI | % 65 | |
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI | % 35 | |
Toplam | % 100 |
Aktiviteler | Aktivite Sayısı | İş Yükü |
Ders Saati | 14 | 28 |
Laboratuvar | 14 | 28 |
Sınıf Dışı Ders Çalışması | 14 | 14 |
Sunum / Seminer | 2 | 6 |
Proje | 12 | 35 |
Ara Sınavlar | 2 | 12 |
Final | 2 | 12 |
Toplam İş Yükü | 135 |