Dasturlar pog’onasi – bitta masalaning alohida qismlari ko’p prosessorlarning birgalashib bir vaqtning o’zida ishlash hisobiga bajarilishidir.
Buyruqlar pog’onasi – konveyer rejimida ijro qilinuvchi alohida buyruqlarning bosqichlar (fazalar) ga bo’linib bajarilishidir.
Razryadlar pog’onasi – bir vaqtning o’zida mashina so’zining ko’p razryadli kodiga ishlov berishdir.
Masalalar pog’onasidagi parallelizm mustaqil masalalar yoki ularning yechimi fazalar orasida bo’lishi mumkin. Masalalar pog’onasidagi parallelizmning asosiy amalga oshirish vositasi bo’lib, ko’p prosessorli va ko’p mashinali hisoblash tizimlari xizmat qiladi. Bu tizimlarda masalalar alohida prosessor yoki mashinalarga taqsimlanadi. Dasturlar pog’onasidagi parallelizm ikkita variantda amalga oshiriladi: dasturda parallel bajarish mumkin bo’lgan mustaqil qismlarni ajratish, yoki alohida qadamlar bir biriga bog’lanmagan holda bitta dasturiy sikl doirasida amalga oshiriladi. Bunday holatda parallelizm prosessorlar sonining ko’pligi yoki bitta mashinaning funksional bloklarining ko’pligi hisobiga amalga oshirilishi mumkin.
Buyruqlar pog’onasidagi parallelizm bir necha buyruqqa yoki ularning alohida bosqichlariga ishlov berish vaqt mobaynida ustma – ust tushganda o’rinlidir (operasiyalarning ustma – ust tushishi yoki konveyerlash).
Shunday qilib, apparat yoki dasturiy vositalarning parallelizm pog’onasi umumiy masalani alohida qismlarga bo’lish yo’li bilan va ularning bajarilishini hisoblash tizimlarining alohida bo’g’inlarida, alohida prosessorlarida, yoki alohida ishlovchi kompyuterlarida amalga oshiriladi.
Amdal qonuni.
Bu qonun hisoblash yuklamasini parallel ishlovchi prosessorlarga taqsimlash hisobiga hisoblash tezligining o’sish pog’onasini baholaydi. Ideal holatda n prosessorlardan tashkil topgan tizim hisoblashni n marta tezlashtirishi mumkin. Amalda esa bunday ko’rsatkichga erishib bo’lmaydi. Asosiy sabablardan biri hyech qanday masalani to’laligicha parallellashtirish mumkin emas. Qoidaga asosan, har qanday dasturda kodning shunday qismi borki, u ketma – ket va faqat prosessorlarning birida bajarilishi kerak. Parallel hisoblash tizimini ko’zlaganda unumdorlikning oshishi prosessorlar soniga to’g’ri proporsionalligiga erishish mumkin emasligini aniq anglash kerak, tabiiyki qanday haqiqiy jadallashtirishga erishish mumkin degan savol tug’iladi. Bu savolga Amdal qonuni qaysidir ma’noda javob beradi.
Jahonga mashhur bo’lgan IBM 360 tizimini ishlab chiqqanlardan biri bo’lgan Djin Amdal ko’p prosessorli hisoblash tizimida erishish mumkin bo’lgan hisoblashni jadallashtirish, prosessorlar soniga va dasturning ketma – ket va parallel qismlari orasidagi nisbatga bog’liqligini aks ettiruvchi formulani taqdim qildi. Hisoblash vaqtini qisqartirish ko’rsatgichi bo’lib, "jadallashtirish" metrikasi xizmat qiladi. Eslatib o’tamiz, jadallashtirish S - bu bir prosessorli tizimlarda hisoblashni bajarishga sarflangan (ketma – ketlik algoritmining eng yaxshi variantida) Ts vaqtning xuddi shu masalani parallel tizimda yechilish (parallel algoritmining eng yaxshi variantida) Tp vaqtiga nisbatidir:
S=Ts/Tp
Amdal tomonidan muammo quyidagi masalada ko’rib chiqilgan (1.2- rasm). Avvalambor, masalani yechishda qatnashadigan prosessorlar sonini o’zgartirish bilan yechiladigan masalaning hajmi o’zgarmaydi. Yechiladigan masalaning dastur kodi ikkita qismdan iborat: ketma - ket va parallel ravishda bajariladigan. Prosessorlarning birida ketma – ket bajarilishi kerak bo’lgan operasiyaning hissasini f bilan belgilaymiz, bunda (bu yerda hissa kodning qatorlar soni emas, balki bajariladigan operasiyalarning aniq soni deb tushuniladi). Bundan dasturning paralellashtirilgan qismiga to’g’ri keladigan hissa 1–f ni tashkil qiladi. f qiymatdagi oxirgi holatlar to’liq parallel (f=0) va to’liq ketma – ket (f=1) dasturlarga mos keladi. Dasturning paralellashtirilgan qismi hamma prosessorlarga bir xil taqsimlanadi.
Keltirilgan ta’riflashni hisobga olsak:
Tp=f Ts+
Natijada, n prosessorli tizimda erishish mumkin bo’lgan jadallashtirishni ifodalovchi Amdal formulasini hosil qilamiz:
Formula oddiy va katta umumiylikka ega bo’lgan tenglikni ifodalaydi. Jadallashtirishning prosessorlar soniga va dasturning qismlarini ketma–ketlik hissasiga bog’liqligi 1.3-rasmda ko’rsatilgan.
Paralellashtirish aniq sarf – harajatlarga olib boradi, dasturni ketma – ket bajarganda esa bu sarf – harajatlar yo’q. Bunday sarf – harajatlarga misol qilib dasturlarni prosessorlarga taqsimlash bilan bog’liq bo’lgan qo’shimcha operasiyalarni, prosessorlar orasida axborot almashinuvini keltirsak bo’ladi.
|