Giriş ve Motivasyon
Transkript
Giriş ve Motivasyon
Enabling Grids for E-sciencE
Giriş ve Motivasyon
Onur Temizsoylu
BAŞARIM09
ODTÜ, Ankara
www.eu-egee.org
EGEE-III INFSO-RI-222667
EGEE and gLite are registered trademarks
İçerik
Enabling Grids for E-sciencE
–
–
–
–
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
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
2
Neden Paralel Hesaplama
Enabling Grids for E-sciencE
– 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.
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
3
Moore Yasası (?)
Enabling Grids for E-sciencE
– 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.
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
4
Butters Yasası
Enabling Grids for E-sciencE
– 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.
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
5
Terminoloji
Enabling Grids for E-sciencE
– 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
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
6
Paralel Hesaplamanın Tarihi
Enabling Grids for E-sciencE
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
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
7
Paralel Hesaplamanın Tarihi
Enabling Grids for E-sciencE
– TOP500 Listesine göre son 15 sene içinde süperbilgisayar
sistemlerinde mimari değişimi
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
8
Paralelleştirme
Enabling Grids for E-sciencE
– Bir işin paralelleştirilmesinde programın
çalışma zamanını azaltmak amaçlanır.
EGEE-III INFSO-RI-222667
toplam
BAŞARIM09, 18 Nisan 2009
9
Paralelleştirme Ek Yükü
Enabling Grids for E-sciencE
İş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.
İşlemci
Zamanı
Haberleşme Ek Yükü
8 işle
4 i mci
şle
mci
2
iş
le
mc
i
– Ek yük:
1
ci
m
le
ş
i
Çalışma Zamanında
Azalma
Çalışma Zamanı
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
10
Hızlanma ve Verimlilik
Enabling Grids for E-sciencE
– İ 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
Hızlanma
ideal
Süper-lineer
Saturasyon
Felaket
– İdeal durumda:
Z (i) = Z (1) / i
Hızlanma (i) = i
Verimlilik (i) = 1
Verimlilik
İşlemci Sayısı
1
– Ölçeklenebilir programlar büyük
işlemci sayılarında bile verimli
kalırlar.
İşlemci Sayısı
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
11
Amdahl Yasası
Enabling Grids for E-sciencE
– 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)
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
12
Pratikte
Enabling Grids for E-sciencE
– 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
8.0
P=8
7.0
6.0
5.0
P=4
4.0
3.0
P=2
2.0
1.0
0%
David J. Kuck,
Hugh Performance Computing,
Oxford Univ.. Press 1996
EGEE-III INFSO-RI-222667
20%
40%
60%
80% 100%
Kodda Paralel Kısım
1970s
1980s
1990s
En iyi paralel kodlar
~99% diliminde
BAŞARIM09, 18 Nisan 2009
13
Coarse/Fine Grained Paralel
Enabling Grids for E-sciencE
– 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 Coarse-grained
A
E
B
F
C
G
K
H
L
p
I
J
N
M
O
q
r
s
t
EGEE-III INFSO-RI-222667
D
Fine-grained
BAŞARIM09, 18 Nisan 2009
14
Ölçeklenebilirlik
Enabling Grids for E-sciencE
– Ölçeklenebilirliği etkileyen diğer
faktörler:
İş parçacıkları arası yük
dengesizliği
:
Bir
kodun i0
herhangi bir paralel kısmının i1
çalışma zamanı en uzun süren iş i2
parçacığının çalışma zamanıdır. i3
Coarse-Grained programlamada başlangıç
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. FineGrained programlamada ortaya
çıkması daha olasıdır.
EGEE-III INFSO-RI-222667
Çalışma Zamanı
bitiş
BAŞARIM09, 18 Nisan 2009
15
Flynn Sınıflandırması
Enabling Grids for E-sciencE
– 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
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
16
SISD
Enabling Grids for E-sciencE
Komutlar
Veri Girişi
EGEE-III INFSO-RI-222667
İşlemci
Veri Çıkışı
BAŞARIM09, 18 Nisan 2009
17
MISD
Enabling Grids for E-sciencE
Komut
Akışı A
Komut
Akışı B
Komut
Akışı C
İşlemci
A
Girdi
Verisi
Çıktı
Verisi
İşlemci
B
İşlemci
C
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
18
SIMD
Enabling Grids for E-sciencE
Komut
Akışı
Girdi Akışı
A
Girdi Akışı
B
Girdi Akışı
C
EGEE-III INFSO-RI-222667
Çıktı Akışı
A
İşlemci
A
Çıktı Akışı
B
İşlemci
B
İşlemci
C
Çıktı Akışı
C
BAŞARIM09, 18 Nisan 2009
19
MIMD
Enabling Grids for E-sciencE
Komut
Akışı A
Girdi
Akışı A
Girdi
Akışı B
Girdi
Akışı C
EGEE-III INFSO-RI-222667
Komut
Akışı B
Komut
Akışı C
Çıktı
Akışı A
İşlemci
A
Çıktı
Akışı B
İşlemci
B
İşlemci
C
Çıktı
Akışı C
BAŞARIM09, 18 Nisan 2009
20
Ortak Bellek MIMD
Enabling Grids for E-sciencE
İşlemci
A
B
E
L
L
E
K
Y
O
L
U
İşlemci
B
B
E
L
L
E
K
Y
O
L
U
İşlemci
C
B
E
L
L
E
K
Y
O
L
U
Bellek
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
21
Dağıtık Bellek MIMD
Enabling Grids for E-sciencE
IPC
IPC
Kanalı
Kanalı
İşlemci
A
B
E
L
L
E
K
Y
O
L
U
BELLEK
A
EGEE-III INFSO-RI-222667
İşlemci
B
B
E
L
L
E
K
Y
O
L
U
BELLEK
B
İşlemci
C
B
E
L
L
E
K
Y
O
L
U
BELLEK
C
BAŞARIM09, 18 Nisan 2009
22
Terminoloji - II
Enabling Grids for E-sciencE
– 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.
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
23
Paralel Programlama Modelleri
Enabling Grids for E-sciencE
•
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.
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
24
π
sayısını OpenMP ile hesaplamak
Enabling Grids for E-sciencE
π=
1
4 dx
(1+x2)
0
=0<i<N
Σ
4
N(1+((i+0.5)/N)2)
#define n 1000000
main() {
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.
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
25
π
sayısını MPI ile hesaplamak
Enabling Grids for E-sciencE
π=
1
4 dx
(1+x2)
0
=0<i<N
Σ
4
N(1+((i+0.5)/N)2)
#include <mpi.h>
#define N 1000000
main()
{
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.
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
26
Paralel Uygulamalarda Bağlantı
Enabling Grids for E-sciencE
– 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
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
27
Paralel Uygulamalarda Bağlantı
Enabling Grids for E-sciencE
– 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.
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
28
Paralel Donanım Mimarileri
Enabling Grids for E-sciencE
–
–
–
–
–
–
SMP makineler
MPP makineler
NUMA makineler
Superscalar işlemciler
Vektör makineler
Küme bilgisayarlar
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
29
SMP
Enabling Grids for E-sciencE
– 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.
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
30
MPP
Enabling Grids for E-sciencE
– 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.
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
31
NUMA
Enabling Grids for E-sciencE
– 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.
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
32
Superscalar İşlemciler
Enabling Grids for E-sciencE
– 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.
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
33
Vektör Makineler
Enabling Grids for E-sciencE
– 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.
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
34
Küme Bilgisayarlar
Enabling Grids for E-sciencE
– 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.
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
35
Neden kümeleme?
Enabling Grids for E-sciencE
– 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:
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
36
Kümeleme nedir?
Enabling Grids for E-sciencE
– 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
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
37
Dezavantajları
Enabling Grids for E-sciencE
– 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.
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
38
HA – Yüksek Kullanılabilirlik Kümeleri
Enabling Grids for E-sciencE
– 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.
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
39
Yük Dengeleme için Kümeleme
Enabling Grids for E-sciencE
– 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.
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
40
Veritabanı Kümeleri
Enabling Grids for E-sciencE
– 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.
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
41
YBH Kümeleri
Enabling Grids for E-sciencE
– 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.
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
42
YBH Küme Mimarileri
Enabling Grids for E-sciencE
– 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 ...)
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
43
Mimari
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
Sunucular
Enabling Grids for E-sciencE
– 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 ...
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
45
Bileşenlerin bant genişliği
Enabling Grids for E-sciencE
Infiniband DDR 4x
2 GB/s
SATA-300
300 MB/s
PC2-5300
5.3 GB/s
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
46
Gecikme Süreleri
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
47
Ağ Bağlantısı
Enabling Grids for E-sciencE
– 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.
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
48
IPC Ağı
Enabling Grids for E-sciencE
– 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.
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
49
Depolama
Enabling Grids for E-sciencE
– 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.
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
50
Dosya Sistemleri
Enabling Grids for E-sciencE
– Paralel olmayanlar:
NFS, CIFS
– Paralel (“Metadata”)
Lustre : Ölçeklenebilir
Panasas : Ölçeklenebilir
– Paralel (“Metadata” olmadan)
XFS
IBM GPFS : Ölçeklenebilir
PVFS
Oracle Cluster FS
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
51
Mimari - Yazılım
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
MPI
Enabling Grids for E-sciencE
– 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.
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
53
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
Paralel Uygulamalar
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
56
Dünya Simülasyonu
Enabling Grids for E-sciencE
•
•
•
•
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.
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
57
TeraGrid
Enabling Grids for E-sciencE
Caltech: Data collection analysis
0.4 TF IA-64
IA32 Datawulf
80 TB Storage
Sun
IA64
ANL: Visualization
LEGEND
Cluster
Visualization
Cluster
Storage Server
Shared Memory
IA32
IA64
IA32
Disk Storage
Backplane Router
1.25 TF IA-64
96 Viz nodes
20 TB Storage
IA32
Extensible Backplane Network
LA
Hub
30 Gb/s
40 Gb/s
30 Gb/s
30 Gb/s
30 Gb/s
30 Gb/s
4 TF IA-64
DB2, Oracle Servers
500 TB Disk Storage
6 PB Tape Storage
1.1 TF Power4
IA64
Chicago
Hub
Sun
IA64
10 TF IA-64
128 large memory nodes
230 TB Disk Storage
3 PB Tape Storage
GPFS and data mining
Pwr4
SDSC: Data Intensive
NCSA: Compute Intensive
EV7
EV68
6 TF EV68
71 TB Storage
0.3 TF EV7 shared-memory
150 TB Storage Server
Sun
PSC: Compute Intensive
PSC integrated Q3 03
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
58
EGEE Altyapısı
Enabling Grids for E-sciencE
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-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
59
LHC
Enabling Grids for E-sciencE
• LHC 7’şer TeV’lik enerjiye sahip iki proton demetini
çarpıştıracak.
LHC 2007’de
çalışmaya
• En yeni süperiletken teknolojisini kullanarak mutlak
sıfırın hemen üstünde – 2710C’de çalışacak. ,
Dedektörleri birer
saray büyüklüğünde
olan dört deney:
• 27 km’lik çevresiyle dünyadaki en büyük süperiletken
uygulaması olacak.
ALICE
ATLAS
CMS
LHCb
EGEE-III INFSO-RI-222667
başlayacak
BAŞARIM09, 18 Nisan 2009
60
LHC Verileri
Enabling Grids for E-sciencE
1 Gigabyte (1GB)
= 1000MB
A DVD filmi
• Saniyede 40 milyon olay
1 Terabyte (1TB)
= 1000GB
Dünyanın yıllık kitap
üretimi
• Filtrelemeden sonra saniyede 100 ilginç
olay
1 Petabyte (1PB)
= 1000TB
Bir LHC deneyinin yıllık
veri üretimi
• 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
EGEE-III INFSO-RI-222667
LHCb
ATLAS
1 Exabyte (1EB)
= 1000 PB
Dünyanın yıllık bilgi
üretimi
ALICE
BAŞARIM09, 18 Nisan 2009
61
Enabling Grids for E-sciencE
EGEE-III INFSO-RI-222667
BAŞARIM09, 18 Nisan 2009
62
Benzer belgeler
What is High Performance Computing?
– 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
tra...