Ko'p tarmoqli(oqimli) dasturlash


Download 27.34 Kb.
bet1/3
Sana09.11.2023
Hajmi27.34 Kb.
#1759151
  1   2   3
Bog'liq
7-amaliy mashg\'ulot


Ko'p tarmoqli(oqimli) dasturlash

Umumiy xotira tizimlari uchun parallel dasturlarni yaratishning eng keng tarqalgan usuli - bu tarmoqlardan foydalanish. Shu bilan birga, funktsional parallelizm osonlik bilan turli xil tarmoqli funktsiyalarni yozish orqali ta'minlanadi va ma'lumotlar parallelligi jarayonning umumiy virtual manzillar maydoni orqali amalga oshiriladi, unga barcha tarmoqlar kira oladi.


Dasturchi operatsion tizim APIsi yordamida yoki o'z tarmoqlar kutubxonasini yaratish orqali tarmoqlar bilan ishlay oladi. Oxirgi yondashuv, ba'zi hollarda, qo'shimcha xarajatlarning pastligi tufayli dasturning tezroq ishlashini ta'minlay oladi, lekin bu ancha mehnat talab qiladi.
Tarmoqli parallel dasturni ishlab chiqish, ayniqsa ma'lumotlar parallelligi holatida, sinxronizatsiya muammosini hal qilishni va bir qancha mumkin bo'lgan muammolarni bartaraf etishni o'z ichiga oladi: o’zaro bloklanish, tiqilib qolish, ma'lumotlar poygasi va boshqalar. Bulardan maqsad, bajarilgan hisob -kitoblarning to'g'ri natijalarini olish, masalan, bir ma'lumotni boshqa tarmoq yozayotgan paytda ma'lumotlarning bir qismini operativ xotiradan bitta oqim tomonidan o'qilishini oldini olish,.

Operatsion tizimlar ko'p tarmoqli dasturlashda yuzaga keladigan barcha muammolarni hal qilish uchun zarur vositalarni beradi: kritik bo'limlar, blokirovka qiluvchi belgilar, semaforlar, mutexlar, hodisalar va boshqalar. Biroq, ushbu mexanizmlardan malakali foydalanish katta kuch sarflashni talab qiladi, chunki ma'lumotlarga kirishni kerakli sinxronlashtirishning yo'qligi hech bo'lmaganda noto'g'ri natijalarga olib keladi, yomon holatda esa dasturni g'ayritabiiy tarzda to'xtatilishiga olib keladi. Shu bilan birga, haddan tashqari sinxronizatsiya parallel dasturning samaradorligi va ko’lamliligini pasayishiga olib keladi

2. OpenMP texnologiyasi

Umumiy xotirali tizim uchun parallel dasturni ishlab chiquvchi dasturchi hal qilishi kerak bo'lgan vazifalar ko'p hollarda bir xil bo'ladi, bu holatda, ularning bajarilishini OpenMP standarti taklif qilgan kompilyatorga yuklash mumkin.


OpenMP -ning afzalliklari:
Foydalanish qulayligi - ishlab chiqaruvchi yangi parallel dastur yaratmaydi, lekin ketma -ket dastur matniga kerakli ko'rsatmalarni va, ehtimol, kutubxona funktsiyalarini chaqiradi. OpenMP -ning asosiy g'oyasi, odatda, asosiy hisoblash yukini ko'taradigan sikllarni parallellashtirishdir.


  1. Moslashuvchanlik - OpenMP ishlab chiqaruvchiga parallel dasturning xatti -harakatlarini nazorat qilish imkoniyatini beradi.


  2. Qayta ishlatish - OpenMP dasturi ko'p hollarda oddiy protsessorli dastur sifatida ishlatilishi mumkin, agar uning protsessorli platformada bajarilishini ta'minlash zarur bo'lsa. Shu bilan birga, bajariladigan modulda OpenMP dasturidan xalos bo'lish uchun uni ketma -ket kompilyator yordamida qayta tiklash kifoya. OpenMP direktivlari e'tiborga olinmaydi va kutubxona funktsiyalariga qo'ng'iroqlar заглушка bilan almashtirilishi mumkin, ularning matni standart spetsifikatsiyalarida keltirilgan.

OpenMP standarti va unga mos keladigan kompilyatorlar yordamida parallel dasturlarni yaratish, ko'p hollarda, tarmoqlardagi dasturlashga nisbatan kam samaradorlikni bermaydi va ishlab chiquvchidan ancha kam harakat talab qiladi, lekin OpenMP faqat SMP tizimlarida ishlaydi.




Download 27.34 Kb.

Do'stlaringiz bilan baham:
  1   2   3




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