Apparat darajasida parallelikni ta’minlash usullari umumiy tushunchalar
Download 12.28 Kb.
|
maruza9
9-Ma’ruza APPARAT DARAJASIDA PARALLELIKNI TA’MINLASH USULLARI UMUMIY TUSHUNCHALAR
Dasturlarning qanchalik tez bajarilishi protsessor kuchiga bog'liq. YADRO
Zamonaviy protsessorlarning ko’pchiligi parallel ishlashning turli shakllarini ta’minlaydi. Ushbu mexanizmlar mikroprotsessor tizimi tomonidan dasturlarning bajarilish vaqtiga sezilarli darajada ta’sir qiladi. “Raqobatbardosh (bir vaqtning o’zida) ish” tushunchasi hisoblash tizimlari uchun markaziy hisoblanadi. Aytilish mumkinki, kompyuter dasturi uning turli qismlari kontseptual ravishda birgalikda bajarilishi mumkin bo’lsa, raqobatdosh bo’ladi. Agar kompyuterning turli fizik qismlarida xar hil qurilmalarda (masalan, ko’p yadroli protsessor yoki turli xil protsessorlar guruhida) birgalikda bajarilsa, kompyuter dasturi parallel deb aytiladi. Raqobatbardosh bo’lmagan dasturlar buyruqlarni bajarishda qat’iy ketma-ketlikni belgilaydi. Bunday dasturlarni ifoda etuvchi dasturlash tillari imperativ deb ataladi (masalan, C tili). Raqobatli dasturlarni yozish uchun C-dan foydalanish tildan tashqarida qo’shimcha qadamlarni talab qiladi. Odatda, bu operatsion tizim tomonidan ta’minlanadigan oqimlar (thread) kutubxonasidan foydalaniladi. Java, imperativ til, oqimlarni to’g’ridan-to’g’ri qo’llab-quvvatlaydigan konstruktsiyalarni o’z ichiga oladi. Quyidagi C kod operatorlarini ko’rib chiqamiz: double pi, piSquared, piCubed; pi = 3,14159; piSquared = pi * pi; piCubed = pi * pi * pi; Oxirgi ikkita operator mustaqil (bog’liq emas) va shuning uchun parallel yoki teskari tartibda bajarilishi mumkin. Bu natijaga ta’sir qilmaydi. Biz ushbu ketma-ketlikni quyidagi tarzda qayta yozamiz va u mustaqil bo’lishni to’xtatadi: double pi, piSquared, piCubed; pi = 3,14159; piSquared = pi * pi; piCubed = piSquared * pi; Bunday holda, oxirgi operator avvalgi operatorga bog’liq. Agar mikroprotsessorli to’liq tizim parallel ishlashni qo’llab-quvvatlasa, kompilyator operatorlar o’rtasida bog’liqlikni tahlil qilishi va parallel kodni shakllantirishi mumkin. Bunday tahlil ma’lumotlar oqimi tahlili deb nomlanadi. Bugungi kunda ko’pgina mikroprotsessorlar buyruqlar oqimini to’plamli uzatishli atxitekturali yoki VLIW (very large instruction word – buyruqlarning juda uzun formati) dan foydalanib parallel bajarilishini qo’llab-quvvatlamoqda. Buyruqlar oqimini to’plamli uzatishli protsessorlar bir vaqtning o’zida mustaqil ko’rsatmalarni bajarishlari mumkin. Apparatli vositalar buyruqlarni yo’l-yo’lakay tahlil qiladi va bog’liqliq aniqlanmasa, bir vaqtning o’zida bittadan ko’p buyruqlarni bajaradi. VLIW-protsessorlari raqobatbardosh operatsiyalarni aniqlaydigan assembler darajasidagi ko’rsatmalarga ega. Bunday holda, odatda kompilyatordan dasturga tegishli buyruqlarni kiritish talab qilinadi. Ikkala holatda ham (ko’p marta uzatish va VLIW) imperativ dastur parallel ravishda bajarilishini ta’minlash uchun bir vaqtning o’zida predmetlarni tahlil qilinadi. Umumiy talab dasturni bajarish tezligini oshirishdir. Maqsad – unumdorlikni oshirishdir, qachonki ishni oldinroq tugatish to’g’risidagi taxmin keyinchalik uni tugatgandan yaxshiroq bo’lsa. Biroq, o’rnatilgan tizimlar kontekstida bir vaqtning o’zida unumdorlini oshirishdan ko’ra muhimroq rol o’ynaydi. O’rnatilgan tizim dasturi ko’pincha bir vaqtning o’zida bir nechta manbalarni kuzatishi va ularga javob berishi va bir vaqtning o’zida bir nechta chiqish moslamalarini boshqarishi kerak. O’rnatilgan tizim dasturi deyarli har doim bir vaqtning o’zida dastur bo’lib, bir vaqtning o’zida dastur mantiqining ajralmas qismidir. Bu nafaqat ish faoliyatini yaxshilashning usulidir. Haqiqatdan xam biron ishni oldinroq bajarish har doim ham uni keyinroq bajarishdan afzal emas. Mohiyatdan o’z vaqtida bajarishdir, ya’ni, fizik dunyodagi ish-harakatlar ko’pincha o’z vaqtida bajarilishi kerak – oldin xam, keyin xam emas. Masalan, benzin bilan iashlaydigan dvigatelning regulyatori: erta yonish kechikishdan yaxshiroq emas. Bu o’z vaqtida sodir bo’lishi kerak. Imperativ dasturlar ketma-ket yoki parallel ravishda ishlagani kabi, raqobatbardosh dasturlar xam ketma-ket yoki parallel ravishda ishlashi mumkin. Bugungi kunda raqobatbardosh dasturni ketma-ket bajarish odatda ko’p masalali operatsion tizim tomonidan amalga oshiriladi, bu esa masalalar to’plamini oddiy ketma-ket bo’yruqlar oqimida bajarish tartibini almashtiradi. Agar protsessor ko’plab uzatishli yoki VLIW-ni qo’llab-quvvatlasa, apparat ushbu bajarishni parallellashtirishi mumkin. Shu tarzda, raqobatbardosh dastur operatsion tizim tomonidan ketma-ket oqimga aylantiriladi va ish samaradorligini oshirish uchun qo’shimcha qurilmalar yordamida raqobatdosh dasturga qaytariladi. Ushbu bir nechta almashishlar natijani o’z vaqtida olishni juda qiyinlashtiradi. Apparat ta’minotida parallellashtirish intensiv hisoblashni talab qiladigan dasturlarning ish faoliyatini yaxshilash uchun mo’ljallangan. Dasturchilar nuqtai nazaridan, bir vaqtning o’zida natijasida samaradorlikni oshirish uchun apparatlarni ishlab chiqish ortib boradi. Boshqacha qilib aytganda, dastur bir vaqtning o’zida ko’plab harakatlarni amalga oshirilishini talab qilmaydi, faqatgina hamma narsa juda tez sodir bo’lishini talab qiladi. Albatta, ko’plab qiziqarli ilovalar, ilova talablari va parallellashtirshdan kelib chiqqan xolada bir vaqtning ikkala shaklini xam birlashtiradi. SIMMETRIK MULTIPROTSESSING
MULTITHREADING TEXNOLOGIYASI
Download 12.28 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling