You are on page 1of 5

5.

Uluslararas leri Teknolojiler Sempozyumu (IATS09), 13-15 Mays 2009, Karabk, Trkiye

DAITIK PARALEL SSTEMLER HAKKINDA KIYASLAMALI BR


ALIMA: PVM VE MPI
A COMPARATIVE STUDY ON DISTRIBUTED PARALLEL SYSTEMS: PVM
AND MPI
a, *

Ahmet elik a, * ve Ahmet zmen b


Dumlupnar niversitesi, Elektrik-Elektronik Mh. Bl., Ktahya, Trkiye, E-posta: ozmen@dpu.edu.tr

zet
Bu almada, datk paralel sistemler irdelenmi, daha
sonra mevcut datk paralel sistemlerden PVM (Parallel
Virtual Machine) ve MPI (Message Passing Interface)
tantlmtr. Datk sistemler aratrma kurumlar,
niversiteler veya yksek performansl bilgisayar ihtiyac
olan yerler iin ekonomik zmler sunmaktadr. PVM ve
MPI datk sistemleri, mevcut kiisel bilgisayarlara iletim
sistemine ek olarak kolayca kurulabilmektedir. Seri
programlar ayn kurulumda salanan ktphane destei ile
paralele dntrlebilmektedir. Datk paralel sistemlerin
kurulumu kolay olmasna ramen, programlanmas zordur.
almada, bu sistemlerin kurulumu, paralel uygulamalarn
bu sistemler zerinde koturulmas bir rnekle anlatlmtr.
Anahtar kelimeler: Paralel bilgi ileme, datk paralel
sistemler, PVM, MPI.

Abstract
In this work, distributed parallel systems examined, and
then PVM (Parallel Virtual Machine) and MPI (Message
Passing Interface) are introduced as existing distributed
parallel systems. Distributed systems provide economical
solutions to organizations such as research centers and
universities when high performance computer is needed.
PVM and MPI can be installed to existing personal
computers as an extension to the operating system. Serial
programs can be converted to parallel with provided
libraries. Although distributed systems are set up easily,
they are difficult to program. The paper presents, how
these systems are set up, and how parallel programs run
on these systems with an example.
Keywords: Parallel
systems, PVM, MPI.

computing,

distributed

parallel

1. Giri
Mhendislik
uygulamalarnda
yksek
performansl
bilgisayarlara ihtiya her geen gn daha da artmaktadr.
Yksek performansl bilgisayarlarn yetenekleri ile retime
giden tasarm srecinde baz evreler ortadan kalkm olup
(rnein prototip gerekleme ve testler), bu ilemler artk
benzetim yoluyla yaplmaktadr. Bylece, gelitirme
srecinde zaman ve paradan tasarruf edilmekte, yeni
rnlerin piyasaya kma periyodu ksalmaktadr.
Yksek performansl sistemler ilemci saat frekansnn
arttrlmas veya donanmn paralel kullanlmasyla elde
edilebilir. lemci saat frekansnn arttrlmas bir noktadan
sonra ya ekonomik nedenlerle veya fiziksel snrlar
IATS09, Karabk niversitesi, Karabk, Trkiye

nedeniyle mmkn olmamaktadr. Bu nedenle daha fazla


donanmn paralel olarak kullanlmasyla performans
arttrlmas en ok tercih edilen yoldur. Bu yaklam kendini
nce ilemci iinde paralellik ile gsterdi. retim hatt
(pipeline) mimarisinde ilemci iine ilave edilen donanm
ile ayn anda birden fazla komut icra edilebilir hale getirildi.
Bylece komut seviyesinde paralellik yoluyla performans
artrlm
oldu.
Artk
gnmz
genel
amal
bilgisayarlarnda kullanlan ilemcilerinin hepsinde pipeline
yap kullanlmaktadr. Bu sistemlerde paralellik komut
leinde olduundan, kullanc asndan bir sorun veya
deiiklik olumaz. Paralellik iin gerekli dzenlemeler
derleyici veya donanm iindeki alt birimler tarafndan
gereklenir.
Gelien yariletken teknolojisi ile daha ok miktarda
donanm ayn pul (wafer) zerinde gereklenebilir oldu.
Gnmz teknolojisiyle, yakn gemiteki ilemcilerden 2,
4, 8 gibi saylardaki oklu kopyalar ve ara lojik devreleri
ayn pul zerinde sentezlenebilmektedir. Yaygn olarak
kullanmda olan bu ilemcilere gnmzde ok ekirdekli
ilemciler denilmektedir. Bu yaklamda paralellik, hem
ekirdek iinde (pipeline) ve hem de ekirdekler arasnda
kullanlmaktadr.
lemci iindeki paralellik bir komutun evreleri veya
komutlar aras lekte olmaktadr. Bunun yannda, bir
grevin blmleri bir grup ilemci arasnda eit datlmak
suretiyle de paralellik gereklenebilir. Balangta
belirlenen kurala ve datlm verilere gre, her ilemci
kendi iini yapar sonucunu yine balangta belirlenmi
ilemciye gnderir. Grev datm yoluyla paralellik
yazlm yoluyla gereklendiinden, dier yntemlere gre
esnek ve ekonomiktir.
Bu almann konusu kk ve orta lekli kurumlarda
zaten var olan bir grup bilgisayarn hzl bir a ile birbirine
balanmas suretiyle yksek performansl bir bilgisayar
elde edilmesidir. Bu amala iletim sistemine ek olarak
gelitirilmi ve yaygn olarak kullanmda olan iki sistem
mevcuttur: PVM (Parallel Virtual Machine) ve MPI
(Message Passing Interface) [1, 2]. almada bu
sistemlerin kurulmas, uygulamalarn derlenmesi ve
koturulmas konular kyaslamal olarak incelenmitir.
Ayrca, bir matris arpm program deien makine says
ve problem boyutu iin altrlm ve sonular analiz
edilmitir.

2. Paralel Sistemlerin Snflandrlmas


Grev paylaml paralel sistemler ortak bellekli (shared
memory) ve datk bellekli (distributed memory) olmak
zere iki ana snfa ayrlmaktadr. Bu sistemlere sk bal

elik, A. ve zmen, A.

(tightly coupled) ve gevek bal (loosely coupled)


sistemler de denmektedir.
Islemci 1

Paylaml bellekli sistemlerde birbirinin tamamyla ayn


olan ok sayda ilemci ayn saat frekans ile srlr ve
ayn bellei paylarlar (Bkz. ekil 1). lemciler arasnda
iletiim paylalan bellek zerinden olduundan veri
paylam olduka hzldr. Bu tr sistemlerde tek iletim
sistemi tm ilemcileri ve bellei ynetir ve bilgisayar
genelde tek bir kasa iinde gereklenir. Kullanc,
donanmsal farkll (tek ilemcili sistemlere gre) pek
hissetmez. Uygulama yazlmlarnn paralelletirilmesi
donanm, derleyici ve iletim sistemi yardmyla gereklenir
ve kullancya sadece ihtiya duyduu ilemci saysn
belirlemek kalr. Bu nedenle bu tr sistemleri kullanmak, bu
tr sistemler iin yazlm gelitirmek dier paralel
sistemlere gre daha kolaydr. Ancak, bu mimarideki
paralel sistemler genelde snrl miktarda imal
edildiklerinden pahal, farkl amalar iin kullanm zor ve
yeniden dzenlenmeye, yaplandrlmaya esnek deildir.

Islemci 1

Islemci 2

Islemci n
Bus

Bellek 1

Islemci 2

Bellek n

Bellek 2
IO

Dagitik Bellek

Islemci n

IO

IO

Hizli anahtar

Mimarisi

ekil 2. Datk bellek mimarisinde paralel bir


bilgisayarn ematik grn.
Bu tr sistemlerde icra sresi ilk prosesin icraya
balamasndan son prosesin icray sona erdirmesine kadar
geen sredir. cra sresi iinde her proses zamann bir
ksmn hesaplamayla (ilemcide geen sre), bir ksmn
iletiimle (mesajlama), bir ksmn da sistem iinde geirir.
Sistemde harcanan sre genelde dierleri yannda ihmal
edilebilir boyuttadr. Ancak, paralel bir uygulamann
iletiimde harcad srenin, hesaplamada (ilemcilerde)
harcanan sreye oran ne kadar kk olursa, paralellik o
oranda baarl olmu olur. Bu oran bydke verim
der, performans tek ilemcili sistemden bile daha kt
olabilir.

Paylasimli Bellek
Mimarisi

Bellek

ekil 1. Paylaml bellek mimarisinde paralel bir


bilgisayarn ematik grn.
Datk
mimari,
paylalan
bellek
mimarisinin
dezavantajlarn gidermek iin gelitirilmitir. En byk
avantaj, aa bal ve zaten kullanlmakta olan
bilgisayarlardan ihtiya duyulan kadarn yazlm yoluyla
yaplandrp tek bir hzl bilgisayara (sper-bilgisayara)
dntrebilmesidir. Ayrca, sisteme ilave edilen
bilgisayarlarn, mimarileri ya da iletim sistemleri farkl
olabilmektedir. Datk mimaride, ilemci iindeki
paralellikten farkl olarak komutlar aras paralellik deil de
gruplar halindeki komutlar aras paralellik n plana
kmaktadr. ekil 2de datk mimaride paralel bir
bilgisayarn blok diyagram grlmektedir. Sistemi
meydana getiren bireysel bilgisayarlarn kullanclar
isterlerse her an bilgisayarlarn kullanmaya devam
edebilirler. Yksek performans taleplerine ekonomik
zm sunduu iin bu yaklam aratrma kurumlarnda,
niversitelerde ve hatta orta lekli kurumlarda tercih
edilmektedir.
Bununla birlikte, datk sistemlerin temel problemi
programlama zorluudur. yknn dalmn, ilemciler
arasndaki
veri
paylamn
ve
senkronizasyonu
programcnn kendisi tasarlamal ve uygulamasn ona
gre yaplandrmaldr. Bu nedenle, bu sistemlerde
almak zere tasarlanan uygulama yazlmlarnn
nceden performans gzlemlenmesi yaplmaldr. Aksi
halde sistemden beklenen performans elde edilemez.

Piyasada datk bellekli, tek iletim sistemi ile ynetilen


bilgisayarlar
da kullanlmtr [3]. Bu sistemler
kullanclarna trl kolaylklar sunmakla beraber, hem
pahal ve hem de esnek deildirler. Bunun yannda, her tr
mimari ve iletim sistemine kolayca ilave edilebilen iki
yaklam (PVM, MPI) yaygn olarak tercih edilmektedir. Bu
sistemlere ait paket programlar Internette cretsiz olarak
indirilip
eitim
veya
ticari
maksatl
olarak
kullanlabilmektedir. Aadaki blmler bu yaklamlarn
kurulumu, altrlmas ve zerinde program koturulmas
ile ilgili bilgiler iermektedir.

2. PVM: Paralel Zahiri Makine (Parallel Virtual


Machine)
PVM, Oak-Ridge ulusal laboratuarlarnda Tennessee
niversitesi ibirlii ile gelitirilmitir. Ksa zamanda birok
niversite tarafndan eitimde ve daha sonra ticari,
endstriyel
ve
tp
uygulamalarnda
kullanlmaya
balanmtr [4].
PVM bir yazlm pakedi olarak i) sunucu (PVM daemon), ii)
statik ktphaneler (pvm.h gibi), iii) dinamik ktphaneler
(libpvm.a gibi) ve iv) rnek programlarla birlikte
gelmektedir. Bu yazlm paketinin derlenmi ve
derlenmemi (kaynak kodlu) paketlerini indirmek
mmkndr.
Derlenmemi,
kaynak
kodlu
olarak
indirildiinde, derleme aamalarn ve kurulum aamalarn
anlatan yardmc dosyalar paket iinde mevcuttur. Bunun
yannda kapsaml bir dokmantasyon destei de web
aracl ile sunulmaktadr.
PVM bir grup makineye kurulup aktif hale getirildiinde her
makinede PVM sunucusu (pvmd daemon) arka planda
alr. Makineler aras iletiim grup iinde farkl
makinelerde uygulamalarn altrlmas rsh (remote
shell: uzak kabuk) altyapsna dayanmaktadr. Bu nedenle

elik, A. ve zmen, A.

paralel sisteme ilave


yaplandrlmaldr.

edilen

makineler

rsh

iin

Tm makinelere PVM paketi kurulduktan sonra bir makine


konsol olarak belirlenir ve tm sistem oradan ynetilir. lk
yaplacak i paralel sistem iinde yer alacak makineleri
sisteme ilave etmektir. Bu amala konsol makinede
kabuktan pvm yazlr, ve arkasndan paralel sistemin
dier yeleri zahiri sisteme add komutuyla ilave edilir.
Belirli sayda ve zellikteki makineleri barndran bir sistemi
ksa srede oluturmak iin bilgisayar adlar bir dosyaya
yazlabilir. Bu ekilde tek komutla istenilen kadar bilgisayar
hemen sisteme ilave edilmi olur. PVM grsel arayz
zerinden de kontrol edilebilmektedir. Grsel arayz
yazlm XPVM olarak adlandrlm olup, ayr bir paket
olarak indirilip sadece konsol makineye kurulabilmektedir
[5]. ekil 3te sisteme ilave edilmi 9 makine XPVM hosts
arayznde grlmektedir.

zaman-uzay (time-space) diyagram grlmektedir. Bu


ekilde yeil renkli ubuklar ilgili ilemcinin uygulamay icra
ettiini, sar renkli ksmlar sistemde geen sreyi, beyaz
ksmlar ise bekleme (bo) zaman gstermektedir.
ubuklar arsndaki krmz izgiler ise mesajlamay
gstermektedir.

ekil 4. cra halindeki bir PVM uygulamasnn zaman-uzay


arayzndeki grnm.
XPVM paralel sistemdeki makinelerin, program icrasnn
dnda baka arayzleri de sunmaktadr (mesaj
kuyruklar, utilization gibi). Burada yer darlndan dolay
dier arayzlere ait ktlar verilmemitir.

ekil 3. PVM grafik arayz XPVM de sanal makineye


dahil edilmi bilgisayarlarn grnm.
Paralel sistem oluturulduktan sonra, altrlacak
yazlmlarn hazrlanmas gerekmektedir. Bu ilem iin ya
problemimizi zecek paralel bir program kendimiz
yazmalyz veya problemimize zm olan mevcut bir
program paralel sistemde koturmalyz. Paralel program
yazmak, paralel algoritma gelitirmek bu almann
kapsam dnda olduundan, biz ikinci ksma
odaklanacaz.
PVM de alacak programlar Fortran veya C dilinde
yazlm olabilirler. Bir Linux bilgisayarda Fortran ve C
derleyicileri mevcuttur. PVM uygulamalarn derlemek iin
bu derleyicilerden yararlanlabilir. Bunun iin statik ve
dinamik ktphanelerin yerini belirtmek ve derleme satrna
ilgili anahtarlar koymak gereklidir (-lpvm3 gibi). Program
derlendikten sonra, tm makinelere kopyalanmaldr. Baz
programlar ana ve uydu olarak iki icra edilebilir dosyadan
oluabilir, bu durumda hangi makinede hangi icra edilebilir
ksm alacaksa uygun ekilde kopyalanmaldr. Bu ilem
ftp yoluyla ok hzl bir ekilde halledilebilmektedir. Baz
sistemlerde network file system olabilir, byle durumlarda
ise kopyalamaya gerek kalmayabilir.
Kopyalama tamamlandktan sonra konsoldan paralel
uygulama altrlabilir. Uygulama yazlmnn veri girileri
ve sonularn sunumu genelde konsol makineden yaplr.
Benzer ekilde almakta olan bir paralel uygulamann
evreleri grafik arayzden izlenebilmektedir. ekil 4te

XPVM etkin paralel program gelitirmede, mevcut


programlarn en iyi konfigrasyonla altrlmasn ve
dolaysyla paralel sistemden azami istifade edilmesini
salamas bakmndan ok faydal bir aratr. Ancak,
grsel arayz iin toplanan veriler paralel programa ait
verilerle ayn ada seyahat ettiklerinden sistemin
gzlemlenen sistemi etkilemektedir. Bu etki seri
programlardakinden daha fazladr [6,7].

3. MPI: Mesaj Gei Arayz (Message Passing


Interface)
MPI, PVMden sonra ABDdeki eitli niversiteler
tarafndan ayr srmler olarak gelitirilmitir. FT-MPI:
Tennessee niversitesi, LA-MPI: Los Alamos Ulasal
lboratuar, LAM/MPI: Indiana niversitesi tarafndan
gelitirilmektedir. Bir de tm aratrmaclarn destei ile
gelitirilen Open-MPI bulunmaktadr. MPI, kurulum
asndan PVMe ok benzemekle beraber uzak
makinelerde uygulama altrlmas iin ssh (secure
shell kullanmaktadr. ssh PVMin kulland rsh
oluturduu gvenlik aklarnn kapatlmasn salamtr.
Bu nedenle daha ok tercih edilmektedir.
MPI yazlm paketi cretsiz olarak Internetten
indirilebilmektedir. MPI, PVMde olduu gibi hemen tm
mimarileri ve iletim sistemlerini desteklemektedir. cra
edilebilir ve derlenmemi, kaynak kodu olarak indirilip
dorudan veya derlemek suretiyle kurulabilir. MPInda
grafik arayz XMPI paket olarak bulunmaktadr. Grafik
arayz
paralel
sistemin
durumunu,
altrlacak
uygulamann seimini, icra halindeki programn durumunu
grsel olarak ekrana dkebilmektedir. ekil 5te 9
makineden oluan paralel sistemin anlk durumu

elik, A. ve zmen, A.

grlmektedir. Bu grnmde petek ekli sistemdeki


bilgisayarlar, trafik iareti ise o bilgisayarn o anda ne
yaptn gstermektedir. rnein yeil k ilgili
bilgisayarn hesaplama yaptn, krmz k ise
beklediini gstermektedir.

ekil 6. cra halindeki MPI uygulamasnn zaman-uzay


grnm.

4. rnek alma

ekil 5. MPI grafik arayz XMPIda paralel sistemde


bulunan bilgisayarlar ve o anki durumlar grlmektedir.
MPI Fortran, C++ veya C programlama dillerini
desteklemektedir. Bu dillerde yazlm paralel uygulamalar
paket ile birlikte gelen derleyici ile derlenir (LAM/MPI iin
derleyici ad mpicc). Derlenen uygulamann icra edilebilir
ktlar tm makinelerde bilinen bir yere kopyalanr. Daha
sonra konsol olarak seilen bir makineden mpirun
girilerek paralel uygulama altrlr. Paralel uygulamann
veri girii ve verilerin sunumu, dosyaya kaydedilmesi
genelde konsol makinede yaplr. alan programn icra
srasndaki evreleri grsel arayzden grlebilmektedir.
ekil 6 alan bir paralel programn zaman-uzay
grnmn gstermektedir. Burada yeil ksmlar
ilemcinin problemle ilgili altn, krmz ksmlar ise
beklemede olduunu gstermektedir. Yazlmcnn veya
sistemi idare eden kiinin sistemin verimliliini arttrmak
iin, ekil 6da grlen krmz ksmlar en aza indirmek
temel grevi olmaldr. Aksi takdirde sistemden beklenen
performans elde edilemez.
XMPI ile birlikte paralel uygulamann gzlenmesini
kolaylatran dier baka arayzler de vardr (kiviat, matrix
gibi), burada ok yer kapladndan gsterilememitir.

almann bu ksmnda paralel bir uygulamann PVM ve


MPI ile altrlmas ve zaman lmlerinin yaplmas
anlatlmtr. Bu amala bilgisayar laboratuarndaki 9
makineye PVM ve LAM/MPI kurulmutur. Makinelerin her
biri edeer olup Pentium-4 2.4 GHz ilemci ve 256 MByte
RAM hafzaya sahiptir. A altyaps ise 100 MBit/s lik
standart bir anahtar ve CAT-5 kablolamadan
olumaktadr.
Seilen paralel uygulama bir matris arpm programdr.
Program fox algoritmasna gre paralelletirilmi olup MPI
arlaryla bakalar tarafndan kodlanmtr [fox,
kodlayan]. Program deien makine says (m) ve problem
boyutu (n) iin altrlm icra sreleri kaydedilmitir.
Problem boyutu olarak arpma giren kare matrislerin boyu
alnmtr. Uygulama her bir n, m konfigrasyonu iin 5
defa altrlarak icra sresi olarak bunun ortalamas
alnmtr. Deney srasnda n iin 4, ve 9, m iin ise
150den 510a kadar deerler alnmtr. llen zaman ve
dier bilgiler izelge 1de sunulmutur.
izelge 1. eitli boyutlarda matrisin 4 ve 9 makineyle MPI
ile icra sreleri.
n
m
t (sn)
n
m
t (sn)
4
0,64
4
2,33
150
390
9
0,93
9
1,85
4
0,83
4
3,68
180
420
9
1,02
9
2,45
4
1,14
4
4,26
240
450
9
1,32
9
3,08
4
1,49
4
4,86
300
480
9
1,52
9
3,50
4
1,78
4
6,65
330
510
9
1,78
9
3,56

elik, A. ve zmen, A.

ekil 7den de grld gibi kk boyutlu problemler iin


makine saysn arttrmak icra sresini azaltmamtr.
Mesajlamada geen zaman, hesaplamada geen zamana
gre olduka fazla olduunu gstermektedir. Bu tr
verimsiz alma durumlar zaman-uzay arayznden de
grlebilmektedir.
7
4 makine
9 makine

Icra sresi (t) sn

[1] Geist A, Beguelin A, Dongarra J, Jiang W, Manchek R,


Sunderam V. PVM 3 Users Guide and Reference
Manual. Oak Ridge National Labs. September 1994..
[2] LAM/MPI Users Guide Version 7.1.4. The LAM/MPI
Team, Open Systems Lab., July 2007.
[3] Convex Computer Corporation. Convex
Reference(2nd edn). December 1994.

CXpa

[4] www.ornl.gov.tr.

[5] Geist G.A, Kohl J, Papadopoulus P. Visualization,


Debugging and Performance in PVM. Proceedings of
Visualization and Debugging Workshop. 1994.

4
3

[6] zmen A. A Minimal Overhead Instrumentation


System. Proceedings of the Fifteenth International
Symposium on Computer and Information Sciences
(ISCIS XV). 2000;102110.

2
1
0

Kaynaklar

[7] zmen A., "An Entropy-Based Algorithm for Data


150 180 240 300 330 390 420 450 480 510
Problem boyutu (n)

ekil 7. Paralel matris arpm programnn MPI ile 4 ve 9


makinede icra sreleri.
Yukardaki rnek PVM zerinde de ayn makine saylar ile
altrlm ve benzer sonular elde edilmitir.
Datk paralel sistemler iin program yazmak olduka
gtr. Sorun, yk dengeli bir ekilde makinelere
databilme problemidir. Programclar makinelerin yk ve
performanslarn nceden ngrerek paralel yk dalmn
yapmalar gerekmektedir. Datk bir paralel program
alrken yk dier makinelere kaydrabilme (dinamik
olarak) imkn yoktur. Bu nedenle bir yazlm
gelitirildiinde, problemin boyutuna ve eldeki makinelerin
performansna gre, altrlabilecei en iyi makine
saysn da belirlemek gerekmektedir. Mevcut gzlemle
aralar bu problemlerin zmnde yardmc olmaktadr.

5. Sonular
Bu almada datk paralel sistemler incelenmi, bu
sistemlerden PVM ve MPI tantlmtr. PVM ve MPI,
aratrma kurumlar ve niversitelerin yksek performansl
bilgisayar
(sper-bilgisayar)
ihtiyalarna
ekonomik
zmler sunmaktadr. Kurumlarda zaten mevcut olan
sradan bilgisayarlarn kme halinde bir sper-bilgisayara
dntrld bu yazlm paketleri cretsiz olarak indirilip
kolayca kurulabilmektedir. Bu sistemlerde alacak
programlar yazmak zor olsa da, bu sistemlere ek olarak
verilen
gzlemleme
aralar
(monitrler)
yazlm
gelitirmeyi veya bu sistemleri etkin kullanmay
kolaylatrmaktadr.

Elimination in Time-Driven Software Instrumentation",


Journal of Systems and Software, (Article In Press,
DOI: 10.1016/j.jss.2008.12.028).

You might also like