Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Paralel Sanal Makinelerde Paralel Programlama Ümit Çiftçi.

Benzer bir sunumlar


... konulu sunumlar: "Paralel Sanal Makinelerde Paralel Programlama Ümit Çiftçi."— Sunum transkripti:

1 Paralel Sanal Makinelerde Paralel Programlama Ümit Çiftçi

2 1. PVM ÇEVRE VE UYGULAMA YAPISI

3 1.1 Supervisors & Workers

4 Şekil.1 Bağımsız workerlarla Supervisor-Worker sıralama yapısı

5 Şekil.2 İletişim halindeki workerlarla Supervisor-Worker sıralama yapısı

6 1.2 Hiyerarşik Yapı

7 Şekil.3 Supervisor-Worker Hiyerarşik Sıralama Yapısı

8 2. GÖREV YARATMA

9 2.1 Görev Tanımlayıcısı Alımı a-)Task’s TID mytid=pvm_mytid b-)Child’s TID pvm_spawn(………………&tid); c-)Parent’s TID my_parent_tid=pvm_parent( ); d-)Deamon’s TID deamon_tid=pvm_tidohost(id);

10 2.2 Dinamik Görev Oluşturma num=pvm_spawn(Child,Arguments,Flag,Where,HowMany,&Tids) Örnek: n1=pvm_spawn(“/user/rewini/worker”, 0, 1, “homer”, 2, &tid1) n2=pvm_spawn(“/user/rewini/worker”, 0, 1, “fermi”, 4, &tid2)

11 3. GÖREV GRUPLARI i=pvm_joingroup(group_name) info=pvm_lvgroup(group_name) pvm_gsize(group_name) pvm_gettid(group_name, intance number) pvm_getinst(group_name, TID)

12 Varsayalım; T0,T1,T2 ve T3 görevlerimiz ve TID değerleri sırasıyla 200, 100, 300 ve 400 olsun. T0 -----> i1=pvm_joingroup(“slave”) Grup ilk kez oluşturuluyor. (i1=0). T1 -----> i2=pvm_joingroup(“slave”) (i2=1). T2 -----> i3=pvm_joingroup(“slave”) (i3=2). T1 -----> info=pvm_lvgroup(“slave”) (1 numara kullanılabilir durumda) Herhangi bir görev -----> size=pvm_gsize(“slave”) (size=2). T3 -----> i4=pvm_joingroup(“slave”) (i4=1). T1 -----> i5=pvm_joingroup(“slave”) (i5=3). Herhangi bir görev -----> tid=pvm_gettid(“slave”,1) (tid=400) Herhangi bir görev -----> inst=pvm_getinst(“slave”,100) (inst=3)

13 3. GÖREVLER ARASI İLETİŞİM

14

15 3.1 Mesaj Tamponları Bufid=pvm_initsend(encoding_option) Bufid=pvm_mkbuf(encoding_option) ________________________________________ Kodlama Seçeneği Anlamı 0 XDR 1 No encoding 2 Leave data in place Tablo.1 Tampon Oluşturma için Kodlama Seçenekleri

16 3.2 Veri Paketleme info=pvm_pkint(my_array, n, 1) pvm_pkstr(), pvm_pkbyte(), pvm_pkdouble(), pvm_pkfloat(), pvm_pkint(), pvm_pklong(), pvm_pkshort()


"Paralel Sanal Makinelerde Paralel Programlama Ümit Çiftçi." indir ppt

Benzer bir sunumlar


Google Reklamları