EGEE-III INFSO-RI-222667
Enabling Grids for E-sciencE
www.eu-egee.org
EGEE and gLite are registered trademarks
Giriş ve Motivasyon
Onur Temizsoylu
BAŞARIM09ODTÜ, Ankara
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 2
İç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
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 3
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.
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 4
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.
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 5
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.
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 6
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
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 7
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
2008 IBM Roadrunner 1105 TFLOPS
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 8
Paralel Hesaplamanın Tarihi
– TOP500 Listesine göre son 15 sene içinde süperbilgisayar sistemlerinde mimari değişimi
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 9
Paralelleştirme
– Bir işin paralelleştirilmesinde programın toplam çalışma zamanını azaltmak amaçlanır.
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 10
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
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 11
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
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 12
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)
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 13
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
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 14
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
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 15
Ö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ş
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 16
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
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 17
SISD
İşlemciİşlemciVeri Girişi Veri Çıkışı
Kom
utlar
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 18
MISD
GirdiVerisi
Çıktı Verisi
İşlemciA
İşlemciB
İşlemciC
KomutAkışı A
Komut Akışı B
Komut Akışı C
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 19
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
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 20
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
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 21
Ortak Bellek MIMD
BELLEK
YOLU
BELLEK
YOLU
BellekBellek
İşlemciA
İşlemciA
İşlemciB
İşlemciB
İşlemciC
İşlemciC
BELLEK
YOLU
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 22
Dağıtık Bellek MIMD
BELLEK
YOLU
İşlemciA
İşlemciA
İşlemciB
İşlemciB
İşlemciC
İşlemciC
BELLEK
YOLU
BELLEK
YOLU
BELLEK A
BELLEK A
BELLEK B
BELLEK B
BELLEK C
BELLEK C
IPC
Kanalı
IPC
Kanalı
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 23
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.
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 24
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.
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 25
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.
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 26
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.
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 27
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
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 28
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.
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 29
Paralel Donanım Mimarileri
– SMP makineler– MPP makineler– NUMA makineler– Superscalar işlemciler– Vektör makineler– Küme bilgisayarlar
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 30
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.
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 31
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.
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 32
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, AMD Opteron işlemciler ccNUMA tabanlıdır.
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 33
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.
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 34
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.
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 35
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.
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 36
Neden kümeleme?
– Fiyat / performans– Standardı oturmuş işletim sistemi, mesajlaşma gibi yazılım
katmanları (Linux, MPI, OpenIB)– Genişleyebilir, standardı oturmuş bağlantı teknolojileri (Gigabit
Ethernet, Infiniband, 10 Gigabit Ethernet)– Son senelerde süperbilgisayarların büyük bir kısmı küme
bilgisayarlardan oluşmaktadır:
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 37
Kümeleme nedir?
– Kümeleme iki veya daha fazla bilgisayarı: Uygulama veya servis kullanılabilirliğini arttırmak için, Yük dengelemek için, Dağıtık ve yüksek başarımlı hesaplama için ağ ile birleştirmektir.
– Kümeleme değişik sistem katmanlarında gerçekleştirilebilir: Depolama: Paylaşılmış disk, ikizlenmiş disk, paylaşılmayan veri İşletim Sistemi: UNIX/Linux kümeleri, Microsoft (?) kümeleri Uygulama Programlama Arayüzü: PVM, MPI Uygulamalar
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 38
Dezavantajları
– Küme bilgisayarların önemli mimari dezavantajları vardır: Ortak bellek yoktur. İletişim bellek okuma/yazma hızına göre yavaştır.
– Bu kısıtlamalar uygulama için önemlidir. Uygulamanın bunlara göre de geliştirilmesi gerekebilir.
– Güç ve klima için genelde daha fazla miktarda bütçe gerekir.
– Ölçeklenebilirlik yakalamak bazı uygulamalar için zordur.
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 39
HA – Yüksek Kullanılabilirlik Kümeleri
– HA kümeleri, servislerin ayakta kalma sürelerini arttırmak içindir.
– Aynı servisin birden fazla kopyası çevrimiçi veya çevrimdışı bekletilir. Serviste bir sorun olduğu zaman devreye alınır.
– Linux-HA projesi, sıklıkla bu amaçla kullanılan bir yazılımdır.
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 40
Yük Dengeleme için Kümeleme
– Yük dengeleme kümeleri, ön arayüzden gelen bütün iş yükünü karşılayıp arkadaki sunuculara aktarırlar.
– Bu kümeler, sunucu çiftliği olarakta adlandırılırlar.
– LSF, MAUI, Sun Grid Engine gibi birçok yük dengeleyici yazılım vardır.
– “Linux Virtual Server” projesi de oldukça sık kullanılan bir yük dengeleyici çözümüdür.
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 41
Veritabanı Kümeleri
– Son senelerde birçok veritabanı üreticisi, yüksek kullanılabilirlik, genişleyebilirlik ve yüksek başarımlılık için kümeleme teknolojisini için ürün çıkarmıştır.
– Bu çözümlerin bir kısmı paylaştırılmış disk alanı, bir kısmı ayrık veri alanları ile çözüm sunmaktadır.
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 42
YBH Kümeleri
– Bu kümeler, zaman kritik paralel, seri veya parametrik hesaplama işlerini çalıştırmak için kullanılır.
– Normal bir bilgisayarda inanılmaz sürede bitebilecek işlemci kritik uygulamaları çalıştırırlar.
– Genellikle normal PC veya sunucular ve Linux ile oluşturulan kümeler Beowulf ismini alırlar.
– MPI, YBH kümelerinde en çok tercih edilen haberleşme kütüphanesidir.
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 43
YBH Küme Mimarileri
– Yüksek başarımlı hesaplama ihtiyacını karşılamak isteyen bir kullanıcının önünde iki seçenek vardır: Uygulamasına göre küme bilgisayarı edinmek. Erişebildiği küme bilgisayarın özelliklerine göre uygulamasını
geliştirmek, değiştirmek veya optimize etmek.
– Her iki durumda da bilinmesi veya hesaplanması gerekenler: Uygulamanın özellikleri, gereksinimleri (yüksek bellek, her sunucuda
yüksek miktarda geçici disk alanı, özel kütüphaneler ...), Kümenin büyüklüğü (işlemci, bellek, disk), Ağ bağlantı biçimi (gigabit ethernet, infiniband), İşletim sistemi (Linux, Microsoft (?) ...), Birçok kullanıcı veya grubun birlikte çalışabilirliği, Derleyiciler (GNU, Intel, Portland Group ...)
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009
Mimari
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 45
Sunucular
– Günümüzde 1U boyutta 16 çekirdekli sunucular almak mümkün olmaktadır.
– Küme bilgisayarlarda sunucu seçimi konusunda birçok faktör vardır: İşlemciler : Tek çekirdek, çok çekirdek, çoklu işlemci soketi ... Anakart : PCI-X, PCI-Express, HyperTransport ... Sunucu form faktörü : Blade, rack monte, PC ... Bellek : Boyutu, DDR-2, DDR-3, FBDIMM … Disk : Boyutu, SATA, SCSI, SAS … Ağ bileşenleri : Gigabit Ethernet, Infiniband, Quadrics ...
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 46
Bileşenlerin bant genişliği
SATA-300 300 MB/s
PC2-5300 5.3 GB/s
Infiniband DDR 4x 2 GB/s
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 47
Gecikme Süreleri
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 48
Ağ Bağlantısı
– Genellikle tek bir kümede birden fazla ağ bulunur: Kullanıcı ağı:
• İş göndermek, görselleştirme, sonuç görüntüleme için kullanılır.
• Grid haberleşmesi için de kullanılabilir.
• Kümelere bağlanmak için genellikle ssh kullanılır.
Yönetim ağı:• İş planlamak, sunucuları izlemek, kurmak için
kullanılır.
• Genellikle IP üzerinden çalışırlar.
• Ganglia gibi yazılımlar multicast çalışırlar.
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 49
IPC Ağı
– Küme bilgisayar performansı ve verimi IPC ağı tarafından belirlenir. Haberleşmede harcanan her fazla süre daha az işlem zamanı demektir.
– Günümüzde küçük kümeler ve gevşek bağlı uygulamalar için gigabit ethernet ideal bir çözümdür.
– Büyük kümeler ve sıkı bağlı uygulamalar için Infiniband, Quadrics gibi çözümler vardır.
– Uygulama gereksinimlerini anlamak teknoloji seçiminde çok önemlidir.
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 50
Depolama
– Küme bilgisayarlarda çalışan kullanıcıların farklı depolama ihtiyaçları bulunur. Ev dizini, uygulamalar için ortak veri alanı Yığın veri saklamak için veri ambarları Yedekleme ve yığın veriler için tape üniteleri Bazı uygulamalar için sunucularda geçici paylaşılmayan disk alanları
– Küme bilgisayarlarda hesaplama yapılan sunucularda kurulum diski veya geçici disk alanı bulundurmak gerekli değildir. Ancak çoğu durumda maliyeti düşüren bu çözüm tercih edilmemektedir.
– Uygulama performansı için özellikle paylaşılan disk alanlarının ihtiyaca uygun tasarlanması gerekir.
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 51
Dosya Sistemleri
– Paralel olmayanlar: NFS, CIFS
– Paralel (“Metadata”) Lustre : Ölçeklenebilir Panasas : Ölçeklenebilir
– Paralel (“Metadata” olmadan) XFS IBM GPFS : Ölçeklenebilir PVFS Oracle Cluster FS
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009
Mimari - Yazılım
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 53
MPI
– MPI mesajlaşarak çalışan bir kütüphanedir. Ne bir dil veya derleyici spesifikasyonudur. Bir ürüne özel değildir. Ne de bir işletim sistemi sürücüsüdür.
– Çok işlemcili bilgisayar ve kümelerde paralel uygulamaların çalışması için tasarlanmıştır.
– Heterojen birçok hesaplama ortamını destekler.
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009
Küme Bilgisayarlar - Örnek: Deniz
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009
Örnek: TR-10-ULAKBIM
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 56
Paralel Uygulamalar
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 57
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.
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 58
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
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 59
Scale> 49 ülkede 269 site
~ 95.000 işlemci/çekirdek
> 680 PB veri alanı
> Günde onbinlerce çalışan iş
> Yüzden fazla kayıtlı sanal organizasyon
EGEE Altyapısı
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 60
• 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
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 61
• 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
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667 BAŞARIM09, 18 Nisan 2009 62