Paralel Hesaplama - TRUBA
Transcript of Paralel Hesaplama - TRUBA
![Page 1: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/1.jpg)
EGEE-II INFSO-RI-031688
Enabling Grids for E-sciencE
www.eu-egee.org
EGEE and gLite are registered trademarks
Paralel Hesaplama
Onur Temizsoylu
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi ODTÜ, Ankara
![Page 2: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/2.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 2
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
İçerik
– Neden paralel hesaplama?
– Terminoloji– Paralel hesaplamanın tarihi
– Teori: Hızlanma, Amdahl Yasası Sınıflandırma
– Yönetim Modelleri
– Programlama Modelleri– Paralel Donanım Mimarileri
– Paralel Uygulamalar– Örnek Problemler
![Page 3: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/3.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 3
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Neden Paralel Hesaplama
– Hesaplama ihtiyaçları, gün geçtikçe artmaktadır. Daha yüksek frekanslı sensörler, görselleştirme kalitesinin artması, dağıtık veri tabanları buna birer örnektir.
– Diğer taraftan işlemci teknolojisi fiziksel limitlerine (termodinamik, ışık hızı, CMOS transistörler) yaklaşmaktadır.
– Paralel hesaplama, daha hızlı sonuç almak için bir uygulamaya ait program parçalarının birden fazla işlemcide aynı anda çalıştırılmasıdır.
– Ağ teknolojilerindeki hızlı gelişmeler paralel hesaplama için kolay edinilebilir ve ulaşılabilir donanımlara izin vermektedir.
![Page 4: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/4.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 4
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Moore Yasası (?)
– Intel’in kurucularından Gordon E. Moore tarafından ortaya atılmıştır.
– “Mikroişlemciler içindeki transistör sayısı her iki yılda bir iki katına çıkacaktır.”
– Buna bağlı olarak işlemci hızlarının da iki katına çıkması beklenmektedir.
– Ucuz CMOS transistörlerle üretim, 2008 yılı içinde 45nm üretim teknolojisi bile kullanılsa da hız artışının sonu gelmektedir.
– Intel, çok çekirdekli işlemciler ile Moore yasasını geçerli kılmaya çalışmaktadır.
![Page 5: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/5.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 5
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Butters Yasası
– Ağ dünyasında ise Gerald Butters her dokuz ayda tek bir fiber kablodan geçebilecek veri miktarının iki katına çıktığını öne sürmüştür.
– Özellikle WDM teknolojisi ile optik kablolar üzerinden transfer edilebilecek veri miktarı artmaktadır.
– İşlemcilerden farklı olarak farklı dalga boylarında çalışan lazer ışığı kullanıcı farkında olmadan birleştirilmektedir.
– Lokal ve geniş ağlardaki hızlı teknoloji değişimi ile paralel hesaplama için küme bilgisayarlar, grid hesaplama gibi yöntem ve mimariler ortaya çıkmıştır.
![Page 6: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/6.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 6
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Terminoloji
– Süreç (“Process”) – İş Parçacığı (“Thread”) – Görev (“Task”)
– Hızlanma (“Speedup”) – Ölçeklenebilirlik (“Scalability”)– Verimlilik– Senkronizasyon (“Synchronization”)– Paralel Ek Yükü (“Parallel Overhead”)– Süperbilgisayar
![Page 7: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/7.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 7
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Paralel Hesaplamanın Tarihi
– İlk paralel hesaplamanın M.Ö. tabletlerde yapıldığı varsayılmaktadır
Seri Çağı
Paralel Çağı
1940 50 60 70 80 90 2000 2030
Ticarileştirme Araştırma Son Ürün
Donanım
İşletim Sistemi / Derleyici
Uygulamalar
Donanım
İşletim Sistemi / Derleyici
Uygulamalar
![Page 8: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/8.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 8
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Paralel Hesaplamanın Tarihi
1942
Atanasoff–Berry Computer (ABC)
30 OPS
1946
UPenn ENIAC 100 kOPS
1960
UNIVAC LARC 150 kFLOPS
1976
CRAY-1 250 MFLOPS
1995
CRAY T3E > 1 TFLOPS
1997
Intel ASCI Red 1.3 TFLOPS
2004
IBM Blue Gene/L 280 TFLOPS
![Page 9: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/9.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 9
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Paralel Hesaplamanın Tarihi
– TOP500 Listesine göre son 15 sene içinde süperbilgisayar sistemlerinde mimari değişimi
![Page 10: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/10.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 10
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Paralelleştirme
– Bir işin paralelleştirilmesinde programın toplam çalışma zamanını azaltmak amaçlanır.
![Page 11: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/11.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 11
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Paralelleştirme Ek Yükü
– Ek yük: İşlemcilerde fazladan geçen
süre İletişim ek yükü Senkronizasyon ek yükü Programın paralel olmayan/
olamayan parçaları
– Paralel programlamada ek yük ve çalışma zamanı hızlanma ve verimlilik ile ifade edilir.
Çalışma Zamanı
İşlemciZamanı
Haberleşme Ek Yükü
1 işlemci
2 işlemci
4 işlemci
8 işlemci
Çalışma ZamanındaAzalma
![Page 12: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/12.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 12
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Hızlanma ve Verimlilik
– İ sayıda işlemcide programın toplam işlemci zamanını Z(i) olarak ifade edelim.
Hızlanma (i) = Z(1) / Z(i)
Verimlilik (i) = Hızlanma (i) / i
– İdeal durumda:
Z (i) = Z (1) / i
Hızlanma (i) = i
Verimlilik (i) = 1
– Ölçeklenebilir programlar büyük işlemci sayılarında bile verimli kalırlar.
Hızlanma
İşlemci Sayısı
ideal
Süper-lineer
Saturasyon
Felaket
Verimlilik
İşlemci Sayısı
1
![Page 13: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/13.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 13
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Amdahl Yasası
– Amdahl yasası: “Kodun paralel olmayan kısmı (ek yük), kodun ölçeklenebilirliği
konusunda üst limiti oluşturur.”
– Kodun seri kısmını s, paralel kısmını p olarak ifade edersek:
1 = s + p
Z (1) = Z (s) + Z (p)
= Z (1) * (s + p)
= Z (1) * (p + (1-p))
Z (i) = Z (1) * (p/i + (1-p))
Hızlanma (i) = Z (1) / Z (i)
= 1 / (p/i + 1 – p)
Hızlanma (i) < 1 / (1 - p)
![Page 14: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/14.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 14
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Pratikte
– Pratikte programları paralelleştirmek Amdahl yasasında görüldüğü kadar zor değildir.
– Ancak programın çok büyük bir kısmını paralel işlem için harcaması gereklidir. Hızlanma
Kodda Paralel Kısım0% 20% 40% 100%60% 80%
8.0
7.0
6.0
5.0
4.0
3.0
2.0
1.0
1970s1980s
1990sEn iyi paralel kodlar
~99% diliminde
P=2
P=4
P=8
David J. Kuck,Hugh Performance Computing,Oxford Univ.. Press 1996
![Page 15: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/15.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 15
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Coarse/Fine Grained Paralel
– Fine-Grained: Genelde her döngüde
paralelleştirme vardır.
Çok sayıda döngü paralleleştirilir.
Kodun çok iyi bilinmesine gerek yoktur.
Çok fazla senkronizasyon noktası vardır.
– Coarse-Grained: Geniş döngülerle paralleştirme
yapılır.
Daha az senkronizasyon noktası vardır.
Kodun iyi anlaşılması gerekir.
Ana Program
A B C D
F E G H I J
K L M N O
p q
r s
t
Coarse-grained
Fine-grained
![Page 16: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/16.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 16
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Ölçeklenebilirlik
– Ölçeklenebilirliği etkileyen diğer faktörler: İş parçacıkları arası yük
dengesizliği : Bir kodun herhangi bir paralel kısmının çalışma zamanı en uzun süren iş parçacığının çalışma zamanıdır. Coarse-Grained programlamada ortaya çıkması daha olasıdır.
Çok fazla senkronizasyon: Kodda küçük döngüler sırasında her seferinde senkronizasyon yapılırsa bu ek yük getirir. Fine-Grained programlamada ortaya çıkması daha olasıdır.
Çalışma Zamanı
i0i1i2i3
başlangıç bitiş
![Page 17: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/17.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 17
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Flynn Sınıflandırması
– Michael J. Flynn paralel bilgisayar mimarilerini komut ve veri akışlarına göre sınıflandırmıştır: SISD (Single Instruction, Single Data)
• PCler, iş istasyonları
SIMD (Single Instruction, Multiple Data)• Vektör makineler, Intel SSE
MISD (Multiple Instruction, Single Data)• Çok fazla örneği yok
MIMD (Multiple Instruction, Multiple Data)• SGI sunucular, küme bilgisayarlar
![Page 18: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/18.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 18
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
SISD
İşlemciVeri Girişi Veri Çıkışı
Kom
ut lar
![Page 19: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/19.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 19
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
MISD
GirdiVerisi
Çıktı Verisi
İşlemciA
İşlemciB
İşlemciC
KomutAkışı A
Komut Akışı B
Komut Akışı C
![Page 20: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/20.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 20
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
SIMD
KomutAkışı
İşlemci
A
İşlemci
B
İşlemci
C
Girdi AkışıA
Girdi AkışıB
Girdi AkışıC
Çıktı AkışıA
Çıktı AkışıB
Çıktı Akışı C
![Page 21: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/21.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 21
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
MIMD
İşlemci
A
İşlemci
B
İşlemci
C
GirdiAkışı A
GirdiAkışı B
GirdiAkışı C
ÇıktıAkışı A
ÇıktıAkışı B
ÇıktıAkışı C
KomutAkışı A
KomutAkışı B
KomutAkışı C
![Page 22: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/22.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 22
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Ortak Bellek MIMD
BELLEK
YOLU
BELLEK
YOLU
Bellek
İşlemciA
İşlemciB
İşlemciC
BELLEK
YOLU
![Page 23: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/23.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 23
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Dağıtık Bellek MIMD
BELLEK
YOLU
İşlemciA
İşlemciB
İşlemciC
BELLEK
YOLU
BELLEK
YOLU
BELLEK A
BELLEK B
BELLEK C
IPC
Kanalı
IPC
Kanalı
![Page 24: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/24.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 24
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Terminoloji - II
– Son senelerde ağ hızındaki önemli artış ve çoklu çekirdekli işlemcilerin kullanılmaya başlaması ile paralel hesaplama konusunda birçok terminoloji karışıklığı olmaya başlamıştır. MPP, küme bilgisayarlarla hesaplama, dağıtık hesaplama, grid hesaplama...
– Paralel hesaplamada yaygın kullanılan terimlerden bazıları şunlardır: Multiprocessing: İki veya daha fazla işlemcinin aynı bilgisayar sistemi
içinde kullanılmasıdır. Dağıtık hesaplama: Ağ üzerinden iki veya daha fazla bilgisayar üzerinde
aynı anda belli bir programa ait parçaların çalıştırıldığı hesaplama.
![Page 25: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/25.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 25
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Paralel Programlama Modelleri
• Ortak Hafıza Modelleri– Dağıtık Ortak Bellek– Posix Threads– OpenMP – Java Threads (HKU JESSICA, IBM cJVM)
• Mesaj Tabanlı Modeller– PVM – MPI
• Hibrid Modeller– Ortak ve dağıtık hafızayı birlikte kullananlar– OpenMP ve MPI birlikte kullananlar
• Nesne ve Servis Tabanlı Modeller– Geniş alanda dağıtık hesaplama teknolojileri
Nesne: CORBA, DCOM Servis: Web servisleri tabanlı
• Bilimsel araştırma projelerinde sıklıkla Derleyici tarafından paralelleştirilen ortak bellek tabanlı programlar MPI gibi mesaj paylaşımı tabanlı programlar kullanılmaktadır.
• Belirli bir programlama modelinin seçimi, genellikle uygulama gereksinimi, kişisel tercih veya donanımla ilgilidir.
• Ortak hafızaya sahip makineler, hem OpenMP gibi SMP hem de MPI gibi mesaj paylaşımı tabanlı modelleri çalıştırabilirler.
![Page 26: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/26.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 26
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
π sayısını OpenMP ile hesaplamak
π = = Σ 0
1
4(1+x2)
dx0<i<N
4N(1+((i+0.5)/N)2)
#define n 1000000main() {
double pi, l, ls = 0.0, w = 1.0/n;int i;
#pragma omp parallel private(i,l) reduction(+:ls) {#pragma omp for
for(i=0; i<n; i++) {l = (i+0.5)*w;ls += 4.0/(1.0+l*l);
}#pragma omp master
printf(“pi is %f\n”,ls*w);#pragma omp end master }}
• Seri programlama şeklinde yazılıyor• Otomatik yük dağılımı yapılıyor.• Bütün değişkenler paylaşılıyor.
![Page 27: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/27.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 27
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
π sayısını MPI ile hesaplamak
π = = Σ 0
1
4(1+x2)
dx0<i<N
4N(1+((i+0.5)/N)2)
#include <mpi.h>#define N 1000000main(){
double pi, l, ls = 0.0, w = 1.0/N; int i, mid, nth;
MPI_init(&argc, &argv);MPI_comm_rank(MPI_COMM_WORLD,&mid);MPI_comm_size(MPI_COMM_WORLD,&nth);
for(i=mid; i<N; i += nth) {l = (i+0.5)*w;ls += 4.0/(1.0+l*l);
}MPI_reduce(&ls,&pi,1,MPI_DOUBLE,MPI_SUM,0,MPI_COMM_WORLD);if(mid == 0) printf(“pi is %f\n”,pi*w);MPI_finalize();
}
• Önce iş parçacıkları belirleniyor• Bütün değişkenler sürece özel kalıyor.• Uygulama dışında yük dağılımı ve veri paylaşımı yapılıyor.
![Page 28: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/28.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 28
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Paralel Uygulamalarda Bağlantı
– Sıkı bağlı sistemler: Süreçler arasında yoğun haberleşme Gecikme süresine hassas Ortak Bellek Paralel Dağıtık Bellek Paralel
![Page 29: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/29.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 29
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Paralel Uygulamalarda Bağlantı
– Gevşek bağlı sistemler: Süreçler arasında haberleşme azdır veya hiç yoktur. Gecikme süresine hassas değillerdir. Ancak bant genişliği veri transferi
için etkili olabilir.
– Parametrik çalışan uygulamalar Süreçler arasında haberleşme yoktur. Kümelerde, grid altyapılarında çalışan uygulamaların çoğunluğunu
oluştururlar.
![Page 30: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/30.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 30
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Paralel Donanım Mimarileri
– SMP makineler
– MPP makineler– NUMA makineler
– Superscalar işlemciler– Vektör makineler
– Küme bilgisayarlar
![Page 31: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/31.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 31
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
SMP
– SMP, birden fazla eş işlemcinin ortak bir belleğe bağlandığı çok işlemcili bir bilgisayar mimarisidir.
– SMP sistemler, görevleri işlemciler arasında paylaşabilirler.– SMP sistemler, paralel hesaplama için kullanılan en eski sistemlerdir
ve hesaplamalı bilimlerde yoğun bir şekilde kullanılırlar.
![Page 32: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/32.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 32
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
MPP
– MPP, binlerce işlemci kullanılabilen çok işlemcili bir mimaridir.
– Bir MPP sisteminde her işlemci kendi belleğine ve işletim sistemi kopyasına sahiptir.
– MPP sistemler üzerinde çalışacak uygulamalar eş zamanda çalışacak eş parçalara bölünebilmelidirler.
– MPP sistemlere yeni işlemci ekledikten sonra uygulamalar yeni paralel kısımlara bölünmelidirler. SMP sistemler ise bundan çok iş parçacığı çalıştırabilir yapıları sayesinde hemen faydalanırlar.
![Page 33: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/33.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 33
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
NUMA
– NUMA, çok işlemcili makinelerde bellek erişim zamanının bellek yerine göre değiştiği bir bellek tasarımıdır.
– İlk defa 1990’larda ortaya çıkmıştır. – Modern işlemciler, belleklere hızlı bir şekilde erişmeye ihtiyaç
duyarlar. NUMA, istenen verinin “cache” bellekte bulunamaması, belleğin başka işlemci tarafından kullanılması gibi performans sorunlarını her işlemciye bellek vererek aşar.
– Intel Itanium ve AMD Opteron işlemciler ccNUMA tabanlıdır.
![Page 34: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/34.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 34
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Superscalar İşlemciler
– 1998 senesinden beri üretilen bütün genel amaçlı işlemciler “superscalar” işlemcilerdir.
– “Superscalar” işlemci mimarisi, tek bir işlemcide makine kodu seviyesinde paralellik sağlar.
– “Superscalar” bir işlemci tek bir basamakta birden fazla işlem yapar.
![Page 35: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/35.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 35
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Vektör Makineler
– Vektör işlemciler, aynı anda birden fazla veri üstünde matematik işlem yapabilen işlemcilerdir.
– Şu anda süperbilgisayar dünyasında vektör işlemciler çok az kullanılmaktadırlar.
– Ancak bugün çoğu işlemci vektör işleme komutları içermektedirler (Intel SSE).
– Vektör işlemciler, aynı matematiksel komutu farklı veriler üzerinde defalarca çalıştırmak yerine bütün veri yığınını alıp aynı işlemi yapabilirler.
![Page 36: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/36.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 36
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Küme Bilgisayarlar
– Hesaplamada küme bilgisayar kullanımı 1994 senesinde NASA’da Beowulf projesi ile başlamıştır. 16 Intel 486 DX4 işlemci ethernet ile bağlanmıştır.
– Yüksek performanslı hesaplama, artık küme bilgisayarlarla hesaplama halini almıştır.
– Küme bilgisayar, birlikte çalışmak üzere bağlanmış birden fazla sunucudan oluşur.
– En önemli dezavantajı kullanıcıya tek sistem arayüzü sunamamasıdır.
![Page 37: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/37.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 37
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Paralel Uygulamalar
![Page 38: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/38.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 38
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Dünya Simülasyonu
• Gelişmiş nümerik simülasyon yöntemleri ile sanal bir dünya yaratarak gelecekte dünyanın nasıl görüneceğini hesaplayan bir Japonya’da bir projedir.
• 40 TFLOPS işlem kapasitesine sahiptir.
• Toplam 10 TByte belleğe sahiptir.• Her birinde 8 vektör işlemci bulunan
640 işlemci ucundan oluşur.
![Page 39: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/39.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 39
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
TeraGrid
NCSA: Compute IntensiveSDSC: Data Intensive PSC: Compute Intensive
IA64
IA64 Pwr4EV68
IA32
IA32
EV7
IA64 Sun
10 TF IA-64128 large memory nodes
230 TB Disk Storage3 PB Tape Storage
GPFS and data mining
4 TF IA-64DB2, Oracle Servers500 TB Disk Storage6 PB Tape Storage1.1 TF Power4
6 TF EV6871 TB Storage
0.3 TF EV7 shared-memory150 TB Storage Server
1.25 TF IA-6496 Viz nodes
20 TB Storage
0.4 TF IA-64IA32 Datawulf80 TB Storage
Extensible Backplane NetworkLA
HubChicago
Hub
IA32
Storage Server
Disk Storage
Cluster
Shared Memory
VisualizationCluster
LEGEND
30 Gb/s
IA64
30 Gb/s
30 Gb/s30 Gb/s
30 Gb/s
Sun
Sun
ANL: VisualizationCaltech: Data collection analysis
40 Gb/s
Backplane Router
PSC integrated Q3 03
![Page 40: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/40.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 40
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Scale> 49 ülkede 224 site~ 38.000 işlemci> 15 PB veri alanı> Günde onbinlerce çalışan iş> Yüzden fazla kayıtlı sanal
organizasyon
EGEE Altyapısı
![Page 41: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/41.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 41
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
• LHC 7’şer TeV’lik enerjiye sahip iki proton demetini çarpıştıracak.
• En yeni süperiletken teknolojisini kullanarak mutlak sıfırın hemen üstünde – 2710C’de çalışacak. ,
• 27 km’lik çevresiyle dünyadaki en büyük süperiletken uygulaması olacak.
LHC 2007’de çalışmaya
başlayacak
Dedektörleri birer saray büyüklü üğ nde olan dört deney:
ALICEATLASCMSLHCb
LHC
![Page 42: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/42.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 42
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
• Saniyede 40 milyon olay
• Filtrelemeden sonra saniyede 100 ilginç olay
• Her olayda bir megabitlik dijital veri = 0.1 Gigabit/s’lik veri kayıt hızı
• Yılda 1010 olay kaydı = 10 Petabyte/yıllık veri üretimi
CMS LHCb ATLAS ALICE
1 Gigabyte (1GB) = 1000MBA DVD filmi
1 Terabyte (1TB)= 1000GBDünyanın yıllık kitap üretimi
1 Petabyte (1PB)= 1000TBBir LHC deneyinin yıllık veri üretimi
1 Exabyte (1EB)= 1000 PBDünyanın yıllık bilgi üretimi
LHC Verileri
![Page 43: Paralel Hesaplama - TRUBA](https://reader030.fdocuments.net/reader030/viewer/2022012622/61a1fec563948737f84baa7d/html5/thumbnails/43.jpg)
Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi 43
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688