Xabarlarni almashish interfeys texnologiyasi



Download 13,7 Kb.
Sana31.12.2021
Hajmi13,7 Kb.
#223776
Bog'liq
MPI дастурлаш технологияси


Xabarlarni almashish interfeys texnologiyasi
Taqsimlangan xotira parallel kompyuterlardagi keng tarqalgan dasturlash texnologiyasi MPI texnologiyasi xisoblanadi. Bunday sistemalardagi parallel jarayonlarning o’zaro muloqat usuli bir-biri bilan xabarlar almashishdan iborat. Bu usul texnologiyasi nomi - Message Passing Interface (xabarlar almashish interfeysi) deb aks ettirilgan. MPI standartida sistema amal qilishi va dastur yaratishda foydalanuvchilar amal qilishi kerak bo’lgan qoidalar mavjud. MPI Fortran va Si bilan ishlashni qo’llab-quvvatlaydi. Interfeysning to’liq versiyasida 125 tadan ko’proq protsedura va funktsiyalar mavjud. MPI MIMD(Multiple Instruction Multiple Data) stilidagi parallel dasturlarni qo’llab quvvatlaydi. Unda turli matnlar bilan berilgan jarayonlar birlashtiriladi. Biroq bunday dasturlarni tuzish va otladka etish murakkab. Shuning uchun amalda dasturchilar SPMD (SINGLE PROGRAM MULTIPLE DATA) parallel dasturlash modelidan foydalanishadi. Unda parallel jarayonlar uchun bitta dastur kodi qo’llaniladi. Xozirgi paytda MPI ko’proq to’rlar bilan ishlashni qo’llab-quvvatlaydi. MPI kutubxonasining parallel jarayonlar bilan mo’ljallangan funktsiyalarini qo’llab-quvvatlash uchun dasturni kompilyatsiya etishda zarur kutubxona modullarini ulash zarur. Buni buyruq sifatida ulash yoki ko’pgina sistemalarda maxsus mpicc (Si tilidagi dasturlar uchun), mpicc (Si++ tilidagi dasturlar uchun) va mpif77/mpif90 (Fortran77/90 tilidagi dasturlar uchun) buyruq va funktsiyalar mavjud. Kompilyatorning “-o name” bo’limi yaratiladigan ishchi fayl a.out deb nomlanadi, Masalan: mpiff77-o program program.f
Ishchi fayl yaratilgandan keyin uni zarur miqdordagi jarayonlar uchun ishga tushirish kerak. Buning uchun odatda MPI-dasturlarini ishga tushiruvchi mpirun buyrug’i mavjud, Masalan: mpirun – np N< dastur va argumentlari>
Bu erda N – bitta masaladagi jarayonlar miqdori. Ishga tushirilgandan keyin bitta dastur ishga tushirilgan jarayonlar tomonidan chaqiriladi. Chaqirish natijasi sistemaga bog’liq ravishda terminalga yoki nomi ko’rsatilgan faylga yoziladi. Qolgan barcha ob’ektlar: protseduralar, konstantalar va MPI da aniqlangan ma’lumotlar toifalari MPI old qo’shimchaga ega bo’ladi. Agar foydalanuvchi dasturda bunday qo’shimchali nomlardan foydalanmasa xam MPI ob’ektlar bilan muammo tug’ilmaydi. Bundan tashqari Si tilida funktsiya nomlaridan bosh va kichik xarflar farqlanadi. Odatda MPI funktsiya nomidagi MPI qo’shimchasidan keyingi xarf bosh xarf bilan, keyingilari kichik xarflar bilan yoziladi. MPI konstantalar nomi esa butunligicha bosh xarflar bilan yoziladi. MPI interfeysining tavsifi mpif.h (mpi.h) faylida mujassamlashtirgan. Shuning uchun MPI – dastur boshqa include ’mpif.h’ direktivasi (ko’rsatmasi) (Si tilida dasturda #include ’mpi.h’) joylashishi kerak. MPI dastur – bu o’zaro muloqat qiluvchi parallel dasturlar to’plamidir. Har bir jarayon bir marta yuz beradi va dasturni parallel qismini tashkil etadi. MPI dastur bajarilishi jarayonida qo’shimcha jarayonlarni tashkil etish yoki mavjudlarini yo’qotish mumkin emas. Har jarayon o’zining manzil soxasida joylashadi va umumiy o’zgaruvchilar MPI da yo’q. Jarayonlar o’rtasida muloqatning yagona usuli xabarlar almashishdir. Parallel jarayonlarni muloqatini mustaqil amalga oshirish uchun jarayonlar guruxi tanlab olinib ular uchun aloxida muxit kommunikatorlar yaratiladi. Jarayonlar faqat bitta kommunikatorlar ichida muloqat qilinadi va turli kommunikatorlarga yuborilgan xabarlar kesishmaydi. Fotran tilidagi kommunikatorlar INTEGER toifasiga ega bo’ladi. Dastur ishga tushishida yuzaga keladigan jarayonlar to’la qamrovli MPI_COMM_WORLD nomli kommunikator doirasida ishlaydi deb xisoblanadi. Ushbu kommunikator doimo mavjud bo’ladi va ishga tushgan barcha MPI dasturlarni muloqat qilish uchun xizmat qiladi. Bundan tashqari dastur ishga tushishida bitta jarayonga ega bo’lgan MPI_COMM_SELF kommunikatori, xamda bitta xam jarayonga ega bo’lmagan MPI_COMM_NULL kommunikatori mavjud bo’ladi. Jarayonlar o’rtasida muloqatlar ma’lum kommuniqatorlar doirasida amalga oshadi. Turli kommunikatorlarga berilgan xabarlar kesishmaydi. MPI dasturidagi xar bir jarayon o’zi tegishli bo’lgan gurux ichida takrorlanmas atributga – musbat butun sondan iborat jarayon nomeriga ega bo’ladi. Ushbu atribut yordamida jarayonlar o’rtasidagi asosiy muloqatlar olib boriladi. Bitta kommunikatordagi jarayonlar xar xil nomerga ega bo’ladi, biroq jarayon bir vaqtda bir necha kommuniqatorga tegishli bo’lishi mumkin. Bu xolda jarayonning bitta kommunikator ichida nomeri ikkinchi kommunikator ichidagi nomeridan farq qilishi mumkin. Bunday jarayonning ikkita asosiy atributi tushinarli bo’ladi: kommunikator va kommunikatorda nomer. Agar guruxda n ta jarayon bo’lsa, u xolda joriy guruxdagi ixtiyoriy jarayon nomeri 0 dan n – 1 gacha oraliqda yotadi. Jarayonlarni o’zaro muloqat qilishining asosiy usuli xabarlar almashishdan iborat. Xabar–bu biror toifadagi ma’lumotlar to’plamidir. Xar bir xabar bir qancha atributlarga ega bo’ladi. Masalan, jo’natuvchi jarayon nomeri, qabul qiluvchi jarayon nomeri, xabar identifikatori va boshqalar. Xabarning asosiy atributlaridan biri uning identifikatori yoki tegi xisoblanadi. Xabarni qabul qilayotgan jarayon xabar identifikatori bo’yicha unga bitta jarayondan kelgan ikkita xabarni farqlab oladi. Xabar identifikatori musbat butun son bo’lib 0 va MPI_TAG_UP diopazonda yotadi va MPI_TAG_UP 32767 dan kichik emas. Xabar atributlari bilan ishlash uchun massiv (Si tilida struktura) kiritilgan. Massiv elementlari yordamida xabar qiymatlariga murojat etiladi. MPI protseduralarini ko’pchiligida oxirgi argumentda muvaffaqiyatli tugaganlik xaqidagi ma’lumot qaytariladi. Muvaffaqiyatli bajarilganda MPI_SUCCES qiymati, aks xolda xatolik kodi qaytariladi. Protsedura bajarilishida yuz bergan xatolikni uning tavsifidan bilib olishi mumkin. Turli xatolik kodlariga mos tavsiflar mpif.h faylida joylashadi.
Download 13,7 Kb.

Do'stlaringiz bilan baham:




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