I-BOB. PARALLEL TIZIMLAR
1.1. Parallel hisoblash tizimlari
Parallel xisoblash — dasturlar o’zaro parallel (bir vaqtda) xarakatlanadigan xisoblash jarayonlarini qayta ishlovchi to’plami sifatida kompyuterli xisoblashni tashkillash usuli xisoblanadi. Bu ibora dasturlashdagi parallellizm muammolari yig’indisi, shuningdek, samarali faoliyat yurituvchi qurilmalarni tadbiq etish xususiyatlarini o’z ichiga qamrab oladi. Parallel xisoblash nazariyasi amaliy algoritmlar nazariyasini yaratilishiga olib keldi.
Parallel xisoblashni tadbiq etishning turli usullari mavjud. Masalan, xar bir xisoblash tizimi operatsion tizim jarayoni ko’rinishida tadbiq etilishi yoki xisoblash jarayonlari operatsion tizimning birgina jarayoninig o’zida bajaruvchilar oqimi to’plamini aks ettirishi mumkin. Parallel dasturlar fizik nuqtai nazardan yagona protsessorda – xar bir xisoblash jarayoni qadamlarini navbatma-navbat ketma-ketlikda bajarilishi yoki belgilangan xar bir xisoblash jarayonini parallel aniqlab, bir yoki bir nechta protsessorlar (yonma-yon joylashgan yoki kompyuter tarmoqlarida taqsimlangan) yordamida amalga oshirilishi mumkin.
Parallel dasturlarni loyixalashdagi asosiy murakkablik shundan iboratki, turli xisoblash tizimlari bilan o’zaro aloqasini, shuningdek, jarayonlar o’rtasida taqsimlanadigan resurslar koordinatsiyasini to’g’ri ketma-ketlikda xarakatlanishini ta’minlash xisoblanadi.
Operatsion tizim ishlayotganida, tez orada juda ko‘p bunday fragmentlar hosil bo‘ladi - bo‘sh xotiraning umumiy hajmi katta, ammo yangi dasturni joylashtirish mumkin emas, chunki u erda etarlicha uzun bo‘sh joy yo‘q. Bu hodisa xotira parchalanishi deb ataladi;
Umumiy xotirada bir vaqtning o‘zida bir nechta dastur bo‘lsa, biron bir dastur tomonidan noto‘g‘ri yoki qasddan qilingan harakatlar boshqa dasturlarning bajarilishini buzishi mumkin, bundan tashqari, ba'zi dasturlarning ma'lumotlari yoki ish natijalari ruxsatsiz o‘qilishi mumkin.
Dasturlashning ketma-ket va parallel modellari
Dasturlash modeli – abstrakt kompyuter arxitekturasiga javob beradigan dasturlash usullari majmuasi bo’lib, ma’lum algoritmlar sinfin amalga oshirilishi uchun mo’ljallangan. Dasturlash modeli kompyuter va uning arxitekturasini mantiqiy tashkillash xaqida aniq tasavvurga ega bo’lish uchun xizmat qiladi. Bunday arxitekturalarning xar xil turlari mavjud bo’lib, ulardan biri Flinn taksonomiyasi klasssifikatsiyalari xisoblanadi. Arxitekturaning bu turi kompyuterning buyruqlar va ma’lumotlar oqimi bilan ishlash xususiyatlariga asoslanadi.
Ma’lumotlar va buyruqlarning o’zaro aloqasini informatsion graflar ko’rinishida ham tasavvur qilish mumkin. Informatsion graf opertsiyani bajarilish ketma-ketligi va turli makrooperatsiyalar yoki operatsiyalar bloki bilan o’zaro bog’liqligini ifodalaydi. Informatsion graf tugunlari makrooperatsiyalar, bir tomonlama dugalar esa ma’lumot almashish kanallari xisoblanadi (6-rasm).
6-rasm. Dasturning informatsion grafi.
Xar bir tugunni quyidagi belgilar bilan xarakterlash mumkin (n, s), ya’ni,
n – tugun nomi, s - uning xajmi. Tugun o’lchami uning tarkibiga kiruvchi elementar opertsiyalar miqdori bilan aniqlanadi. Yoylar esa (v, d) tarzida xarakterlanadi, ya’ni bunda v – uzatilayotgan ma’lumotlar, d – uning yuborilishi uchun sarflanadigan vaqt.
Informatsion graf chiziqli maydonlar, shuningdek, ko’p bog’lamli fragmentlar (sikllar)ga ham ega. Informatsion grafning chegaraviy xolati makrooperatsiyalarning chiziqli ketma-ketligi ekvivalenti va chiziqli ketma-ketlik soxasiga (7-rasm) ketma-ket va parallel xisoblash modellariga toza mos keladi.
7- rasm. Dastur informatsion grafining chegaraviy xolati.
Dasturlashning ketma-ket modeli uchun quyidagi xususiyatlar xarakterlidir:
Nisbatan yuqori bo’lmagan ishlab chiqarish;
Standart dasturlash tillarining qo’llanilishi;
CHiqish kodi darajasida dasturning yaxshi o’zlashtirilishi;
Parallel model esa quyidagilar bilan xarakterlanadi:
Dasturlarni yanada yuqori darajada ishlab chiqishga erishish imkoniyati;
Dasturlashning maxsus uslublarini qo’llash;
Dasturlashning maxsus qurilmalaridan foydalanish imkoniyati;
Dasturlash ishlari xajmining yanada ortishi;
Dasturni o’tkazuvchanligi bilan bog’liq muammolarining xususiyatlari.
Parallel ilovalarni ishlab chiqishda parallel dasturlash modellari uchun spetsifik muammolar ham yuzaga kelishi mumkin:
Ko’plab protsessorlar ishini boshqarish;
Ma’lumotlarni jarayonlar o’rtasida uzatishni tashkillash;
Chorasiz xolatlar extimolligi (o’zaro bloklanish). Bloklash boshqa jarayon bilan bloklangan, o’z navbatida ishni javom ettirish uchun talab qilinadigan ikkinchi jarayon yoki oqimni resursga kirish uchun kutib turganda xosil bo’ladi;
Xatoliklarning lokal bo’lmagan va dinamik xarakteri. Jarayon yoki oqim turli protsessorlar yoki yadrolarda amalga oshiriladi. Xisoblovchi tugunlar yuklanganda vaqt o’tishi bilan o’zgaradi, chunki parallel dasturlashni yaxlit ishlashi uchun aniq sinxronlash bilan ta’minlanganlik talab etiladi;
Determinizm sarfi (jarayonni uning bajarilishida oldindan taxmin qilinadigan xarakatlari). Parallel dastur 8 marta qayta yuklanganda, xatto kodni modifikatsiyasi va chikuvchi ma’lumotsiz ham turli natijalarni berishi mumkin. Bu “ma’lumotlar izidan quvish” – turli jarayonlar yoki umumiy qo’llaniladigan oqimlarga bir vaqtning o’zida va asinxron kirish oqibati xisoblanadi.
Dastur masshtablashtirilishi xaqida qayg’urishning dolzarbligi (masshtablashtirilish – bu xisoblash tizimi, kompyuter tarmog’i yoki jarayon/jarayonlarning xos xususiyati bo’lib, ularning murakkabligi o’sib borsa ham samarali ishlash qobiliyatining saqlanib qolishi demakdir);
Xisoblovchi tugunlarning muvozanatlashgan yuklamasi xaqida qayg’urish zarurati.
Do'stlaringiz bilan baham: |