|
Blokirovkali va blokirovkasiz xabar almashish oʻrtasidagi asosiy farqlar,afzallik va kamchiliklari
|
bet | 16/18 | Sana | 07.02.2024 | Hajmi | 435,82 Kb. | | #152842 |
Bog'liq Mustaqil ishi Xakimov Allamurod (3)Blokirovkali va blokirovkasiz xabar almashish oʻrtasidagi asosiy farqlar,afzallik va kamchiliklari.
Bloklirovkali xabar almashish protseduralari ishni to shart bajarilgunga qadar to'xtatib turadi. Asinxrondan qaytish aloqa operatsiyasini ishga tushirgandan so'ng darhol sodir bo'ladi.
Bloklirovkali xabar almashish bilan ehtiyotkorlik bilan foydalanish lozim.
Asinxron operatsiyalardan foydalanish ma'lumotlar massivlaridan ehtiyotkorlik bilan foydalanishni talab qiladi.
Yuborish va qabul qilish operatsiyalari blokirovka qiluvchi(sinxron) yoki bloklanmaydigan(assinxron) bo'lishi mumkin. Bloklanmaganmaydigan operatsiyalar uchun tayyorlikni tekshirish va bajarilishini kutish funktsiyalari belgilanadi.Aloqaning yana bir usuli - masofaviy xotiraga kirish , bu sizga masofaviy jarayonning xotira maydonini o'qish va o'zgartirish imkonini beradi. Mahalliy jarayon masofaviy jarayonning xotira maydoniga (jarayonlar tomonidan ko'rsatilgan oyna ichidagi) murojat qilishi va aksincha bo’lishi mumkin, shuningdek, masofaviy jarayonga uzatilgan ma'lumotlarni uning xotirasida mavjud bo'lgan ma'lumotlar bilan birlashtirishi mumkin (masalan, yig'ish orqali). Xotiraga masofaviy kirishning barcha operatsiyalari bloklanmaydi, biroq blokirovka qiluvchi sinxronlash funksiyalari bajarilishidan oldin va keyin chaqirilishi kerak.
Asinxron ma'lumotlarni uzatish.
Jarayonlarni to'xtatmasdan, qo'ng'iroqdan keyin darhol qaytadi.
Asinxron almashinuvni yakunlash uchun buferdan foydalanish maqsadida qo'shimcha protseduralar talab qilinadi.
Bloklanmagan operatsiya tugagunga qadar siz foydalanilgan ma'lumotlar qatoriga boshqa malumot yoza olmaysiz.
Jarayonlar oʻrtasida ikki tomonlama xabar almashish uchun ishlatiladigan funksiyalar.
MPI_Sendrecv funksiyasi
Bu funksiya Send/Recv ga qo'ng'iroq qilishda blokirovkalar paydo bo'lishining oldini oladi
Agar funksiya muvaffaqiyatli bajarilsa MPI_SUCCESS (0 qiymat) qaytaradi. Aks holda, qaytariladigan qiymat xato kodi hisoblanadi.
|
| |