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?

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...

Detaylı