Parallel hisoblash- kompyuterda hisoblashni tashkil qilish usuli, bunda dasturlar parallel (bir vaqtning o'zida) ishlaydigan o'zaro ta'sir qiluvchi hisoblash jarayonlari majmuasi sifatida ishlab chiqiladi. Ushbu atama dasturlashdagi parallellik masalalari yig'indisini, shuningdek, samarali apparat tatbiqlarini yaratishni o'z ichiga oladi. Parallel hisoblash nazariyasi algoritmlarning amaliy nazariyasining bo'limidir.
Parallel hisoblashni amalga oshirishning turli usullari mavjud. Masalan, har bir hisoblash jarayoni operatsion tizim jarayoni sifatida amalga oshirilishi mumkin yoki hisoblash jarayonlari bitta OT jarayoni doirasidagi bajarilish oqimlari to'plami bo'lishi mumkin. Parallel dasturlar jismoniy ravishda bitta protsessorda ketma-ket bajarilishi mumkin - o'z navbatida har bir hisoblash jarayonini bajarish bosqichlarini o'zgartirish yoki parallel ravishda - har bir hisoblash jarayoniga bir yoki bir nechta protsessorlarni (yaqin joyda joylashgan yoki kompyuter tarmog'ida taqsimlangan) ajratish.
-Parallel dasturlarni loyihalashdagi asosiy qiyinchilik turli xil hisoblash jarayonlari o'rtasidagi o'zaro ta'sirlarning to'g'ri ketma-ketligini ta'minlash, shuningdek, jarayonlar o'rtasida taqsimlangan resurslarni muvofiqlashtirishdir.
-Ba'zi parallel dasturlash tizimlarida komponentlar o'rtasida ma'lumotlarni uzatish dasturchidan yashirin (masalan, va'da mexanizmi yordamida), boshqalarida esa aniq ko'rsatilishi kerak. Aniq shovqinlarni ikki turga bo'lish mumkin:
-Parallel xabar almashishga asoslangan tizimlarni umumiy xotira tizimlariga qaraganda tushunish odatda osonroq va odatda parallel dasturlashning ilg'or usuli sifatida qaraladi.
Xabarlarni uzatish tizimlarini o'rganish va tahlil qilish uchun turli xil matematik nazariyalar mavjud, shu jumladan aktyor modeli va har xil turdagi jarayonlar hisobi. Xabarlar umumiy kogerent xotiraga ega yoki ularsiz simmetrik multiprotsessorlarda samarali amalga oshirilishi mumkin.
Taqsimlangan xotira parallelligi va xabarni uzatish parallelligi turli xil ishlash xususiyatlariga ega. Odatda (lekin har doim ham emas), jarayon xotirasi va vazifalarni almashtirish uchun qo'shimcha xarajatlar xabarlarni uzatish tizimlari uchun kamroq bo'ladi, ammo xabarlarni uzatish protsedura chaqiruvlariga qaraganda qimmatroq. Bu farqlar ko'pincha ishlashga ta'sir qiluvchi boshqa omillar bilan bir-biriga mos keladi.
Qoida tariqasida, parallel dasturning algoritmi parallel va ketma-ket bo'limlar ketma-ketligidir. Dasturning parallel qismi parallel dastur algoritmi tomonidan aniqlangan sxemalar bo'yicha ma'lumotlarni tarqatish va ma'lumotlar almashinuvini o'z ichiga oladi. Dasturning ketma-ket qismi, qoida tariqasida, barcha yoki alohida jarayonlarda ma'lumotlarni arifmetik qayta ishlashni belgilaydi.
Agar ma'lum bir qurilma vaqt birligida bitta operatsiyani bajarsa, u ming birlikda mingta operatsiyani bajaradi. Agar bir vaqtning o'zida ishlashga qodir bo'lgan bir xil mustaqil qurilmalardan beshtasi bor deb hisoblasak, beshta qurilmadan iborat tizim bir xil ming amalni mingta emas, balki ikki yuz vaqt birligida bajarishi mumkin.
Xuddi shunday, N qurilmalar tizimi bir xil ishni 1000 / N vaqt birligida bajaradi. Shunga o'xshash o'xshashliklarni hayotda uchratish mumkin: agar bitta askar 10 soat ichida sabzavot bog'ini qazsa, u holda bir xil qobiliyatga ega bo'lgan ellikta askardan iborat bo'lgan bir guruh bir vaqtning o'zida ishlasa, xuddi shu ishni 12 daqiqada engadi - harakatdagi parallellik printsipi.
Aytaylik, operatsiyani beshta mikrooperatsiyaga bo'lish mumkin, ularning har biri bir vaqtning birligida amalga oshiriladi. Agar bitta bo'linmaydigan ketma-ket qurilma mavjud bo'lsa, u 500 birlikda 100 juft argumentni qayta ishlaydi. Agar har bir mikro-operatsiya konveyer qurilmasining alohida bosqichiga (yoki boshqacha aytganda - bosqich) ajratilsa, unda beshinchi vaqt birligida bunday qurilmani qayta ishlashning boshqa bosqichida dastlabki besh juft argument bo'ladi. topiladi va yuz juftlikning butun to'plami 5 + 99 = 104 birlik vaqt ichida qayta ishlanadi - ketma-ket qurilma bilan solishtirganda deyarli besh marta (konveyerning bosqichlari soni bo'yicha) tezlashtirish.
Do'stlaringiz bilan baham: |