Parallel dasturlash



Download 0,6 Mb.
bet16/77
Sana07.07.2022
Hajmi0,6 Mb.
#754293
1   ...   12   13   14   15   16   17   18   19   ...   77
Bog'liq
Parallel dasturlash (1)

Hello from process 1
Hello from process 3

Olingan natijalarning bunday "suzuvchi" koʻrinishi parallel dasturlarni ishlab chiqish, sinovdan oʻtkazish va tahrir qilishni sezilarli darajada murakkablashtiradi, chunki bunda dasturlashning asosiy tamoyillaridan biri - bajarilgan hisoblash tajribalarining takrorlanuvchanligi yoʻqoladi. Qoida tariqasida, agar bu samaradorlikni yoʻqotishga olib kelmasa, parallel hisoblashlardan foydalanganda hisob-kitoblarning noaniqligini ta’minlash kerak. Shunday qilib, koʻrib chiqilgan oddiy misol uchun, xabarni qabul qilish jarayonida joʻnatish jarayonining darajasini belgilash orqali olingan natijalarning barqarorligini tiklash mumkin:




MPI_Recv(&RecvRank, 1, MPI_INT, i, MPI_ANY_TAG, MPI_COMM_WORLD, &Status).

Yuboruvchi jarayon darajasining koʻrsatilishi xabarlarni qabul qilish tartibini tartibga soladi va natijada bosma satrlar qat’iy ravishda jarayonlarning darajalarini oshirish tartibida paydo boʻladi (takrorlaymizki, bunday tartibga solish parallel hisoblashlarda ba’zi holatlarda sekinlashishiga olib kelishi mumkin.).


Yana bir muhim narsani ta’kidlash kerak - MPI-dan foydalangan holda ishlab chiqilgan dastur, ham ushbu versiyada, ham eng umumiy holatda, parallel dasturning barcha jarayonlarini yaratish uchun ishlatiladi va natijada barchada bajarilgan hisob-kitoblarni aniqlashi kerak. bu jarayonlar. Aytishimiz mumkinki, MPI dasturi bu qandaydir "makros kod" boʻlib, uning turli qismlari turli jarayonlar tomonidan qoʻllaniladi. Shunday qilib, masalan, yuqoridagi dastur misolida, dastur kodining qoʻsh chegara bilan ajratilgan boʻlimlari hech qanday jarayonda bir vaqtning oʻzida bajarilmaydi. MPI_Send qabul qilish funksiyasi bilan ajratilgan birinchi boʻlim faqat 0 darajali jarayon tomonidan bajariladi, MPI_Recv qabul qilish funksiyali ikkinchi boʻlim nol jarayonidan tashqari barcha jarayonlar tomonidan qoʻllaniladi.
Jarayonlar orasidagi kod qismlarini ajratish uchun odatda koʻrib chiqilgan dasturda qoʻllaniladigan yondashuv qoʻllaniladi - MPI_Comm_rank funksiyasidan foydalanib, jarayonning darajasi aniqlanadi, soʻngra darajaga muvofiq jarayon uchun zarur boʻlgan dastur kod boʻlimlari aniqlanadi. ajratilgan. Bitta dasturda turli jarayonlarning kod qismlarining mavjudligi ham MPI dasturini tushunishni va umuman ishlab chiqishni sezilarli darajada murakkablashtiradi. Natijada, ishlab chiqilayotgan dasturlar hajmining oshishi bilan turli jarayonlarning dastur kodini alohida dastur modullariga (funksiyalariga) koʻchirishni tavsiya qilish mumkin. Bunday holda, MPI dasturining umumiy sxemasi quyidagicha koʻrinadi:


MPI_Comm_rank(MPI_COMM_WORLD, &ProcRank); if ( ProcRank == 0 ) DoProcess0();

else if ( ProcRank == 1 ) DoProcess1();


else if ( ProcRank == 2 ) DoProcess2();

Koʻp hollarda, koʻrib chiqilgan misolda boʻlgani kabi, bajarilgan harakatlar faqat 0 darajali jarayon uchun farq qiladi. Bu holda, MPI dasturining umumiy sxemasi oddiyroq shaklni oladi:




MPI_Comm_rank(MPI_COMM_WORLD, &ProcRank); if ( ProcRank == 0 ) DoManagerProcess(); else DoWorkerProcesses();

Misolni muhokama qilishni yakunlash uchun, keling, MPIda funksiyalarning bajarilishining toʻgʻriligini nazorat qilish uchun qoʻllaniladigan yondashuvni tushuntiramiz - barcha MPI funksiyalari oʻz qiymati sifatida chiqish kodini qaytaradi. Funksiya muvaffaqiyatli bajarilgandan soʻng, qaytarish kodi MPI_SUCCESS boʻladi. Tugatish kodining boshqa qiymatlari funksiyalarni bajarishda ma’lum xatolar aniqlanganligini koʻrsatadi. Aniqlangan xato turini aniqlash uchun oldindan belgilangan nomli konstantalar qoʻllaniladi, jumladan:


1   ...   12   13   14   15   16   17   18   19   ...   77




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish