Parallel ishlov berish turlari

|
Parallel ishlov berish turlari
|
bet | 8/9 | Sana | 13.05.2024 | Hajmi | 398,06 Kb. | | #230310 |
Bog'liq Botirov jahongir. 1-mustaqil ish2.2. Parallel ishlov berish turlari
Parallel ishlov berishning bir nechta turlari mavjud, ulardan ikkitasi eng ko'p ishlatiladigan SIMD va MIMD. SIMD yoki bitta buyruqli bir nechta ma'lumot - bu parallel ishlov berish shakli bo'lib, unda kompyuterda ikki yoki undan ortiq protsessorlar bir xil buyruqlar to'plamiga amal qiladi, har bir protsessor turli xil ma'lumotlarni qayta ishlaydi. SIMD odatda bir xil ko'rsatilgan mezonlarga asoslangan katta ma'lumotlar to'plamlarini tahlil qilish uchun ishlatiladi.
MIMD bir nechta buyruqli ma'lumotlar parallel ishlov berishning yana bir keng tarqalgan shakli bo'lib, har bir kompyuterda ikkita yoki undan ortiq o'z protsessorlari mavjud va ma'lumotlarni alohida ma'lumotlar oqimlaridan oladi.
Parallel ishlov berishning boshqa kamroq qo'llaniladigan turiga MISD yoki bir nechta buyruqlar ma'lumotlari kiradi, bunda har bir protsessor bir xil kirish ma'lumotlari bilan boshqa algoritmdan foydalanadi.
2-rasm SIMD va MIMD tuzulishi.
SMP va MMP
Ushbu muammolarni hal qilish simmetrik ko'p ishlov berish tizimiga (SMP) olib keldi. SMP tizimida har bir protsessor teng darajada qobiliyatga ega va tizim orqali ish oqimini boshqarish uchun javobgardir. Dastlab, maqsad SMP tizimlarini dasturchilarga bitta protsessor, ko'p dasturlash tizimlari bilan aynan bir xil ko'rinishga keltirish edi. Biroq, muhandislar ba'zi ko'rsatmalarni noto'g'ri bajarish va dasturchilardan murakkablikni oshirishni talab qilish orqali tizimning ishlashini 10-20% oralig'ida oshirish mumkinligini aniqladilar (muammo faqat ikki yoki undan ortiq dastur bir vaqtning o'zida o'qilganda ko'rinadigan bo'lishi mumkin). va bir xil operandlarni yozing; Shunday qilib, ortib borayotgan murakkablik bilan shug'ullanish yuki faqat bir nechta dasturchilarga tushadi va keyin faqat juda ixtisoslashgan sharoitlarda). SMP mashinalari umumiy ma'lumotlarda o'zini qanday tutishi kerakligi haqidagi savol haligacha hal qilinmagan.
SMP tizimlarida protsessorlar soni ortishi bilan ma'lumotlarning tizimning bir qismidan boshqa barcha qismlariga tarqalish vaqti ham ortadi. Agar protsessorlar soni bir necha o'nlab oraliqda bo'lsa, tizimga qo'shimcha protsessorlarni qo'shishning unumdorligi qo'shimcha xarajatlarni oqlash uchun juda kichikdir. Uzoq tarqalish vaqtlari muammosini hal qilish uchun yuqorida aytib o'tilgan xabarlarni uzatish tizimi yaratilgan. Ushbu tizimlarda ma'lumotlarni almashuvchi dasturlar ma'lum operandlarga yangi qiymat berilganligini e'lon qilish uchun bir-biriga xabarlar yuboradi. Operandning yangi qiymatini tizimning barcha qismlariga translyatsiya qilish o'rniga, yangi qiymat faqat yangi qiymatni bilishi kerak bo'lgan dasturlarga etkaziladi. Umumiy xotira o'rniga dasturlar o'rtasida xabarlarni uzatishni qo'llab-quvvatlaydigan tarmoq mavjud. Ushbu soddalashtirish yuzlab, hatto minglab protsessorlarga bir tizimda samarali ishlash imkonini beradi. Shuning uchun bunday tizimlarga massiv parallel ishlov berish (MPP) tizimlari nomi berildi.
Eng muvaffaqiyatli MPP ilovalari katta hajmdagi ma'lumotlar bo'yicha ko'plab alohida, mustaqil operatsiyalarga bo'linishi mumkin bo'lgan muammolar uchun bo'lgan. Ma'lumotlarni qazib olishda statik ma'lumotlar bazasini bir nechta qidirishni amalga oshirish zarurati mavjud. Sun'iy intellektda shaxmat o'yinidagi kabi bir nechta alternativalarni tahlil qilish zarurati tug'iladi. Ko'pincha MPP tizimlari protsessorlar klasterlari sifatida tuzilgan. Har bir klaster ichida protsessorlar SMP tizimidagi kabi o'zaro ishlaydi. Faqat klasterlar o'rtasida xabarlar uzatiladi. Operandlarga xabarlar yoki xotira manzillari orqali murojaat qilish mumkinligi sababli, ba'zi MPP tizimlari bir xil bo'lmagan xotira manzillarini aniqlash uchun NUMA mashinalari deb ataladi.
SMP mashinalarini dasturlash nisbatan sodda; MPP mashinalari bunday emas. SMP mashinalari barcha turdagi muammolarni yaxshi hal qiladi, agar jalb qilingan ma'lumotlar miqdori unchalik katta bo'lmasa. Katta ma'lumotlar bazalarining ma'lumotlarini qazib olish kabi muayyan muammolar uchun faqat MPP tizimlari xizmat qiladi.
Parallel ishlov berish turlari quyidagilardan iborat bo'lishi mumkin:
1. Birlashtirilgan algoritmlar: Ma'lum bir vazifaning ishlarini bir-biriga bog'langan invokatsiya yo'qotmagan holda bir vaqt ichida bajarish.
2. Bitta navora: Tahlil qilayotgan kodni nisbiy ravishda bir vaqt ichida bir necha navoralar ishlatib bajarish. Masalan, karqmodalarni bitta threadda ishlatish.
3. Kooperativ parallelism: Ishlarni o'zaro birlashtirgan o'zgaruvchilar yoki ko'rsatkichlar orqali bajarish. Masmalarda shunda beriladigan o'zgaruvchi yoki ko'rsatkichlar nazorat qiluvchining tasdiqidagi tartibda o'zgaradi.
4. Qo'liga kiritilgan parallelism: Eng yaxshi jarayon o'tqazuvchi protsessorlardan foydalanish orqali parallel ishlov bajarish. Bu usulni ta'lim to'lovchi masalalarda, hujjatlar bazasida ishlash, grafik hisoblash va boshqalarda ishlatiladi.
Bunday parallel ishlov berish turlaridan foydalanish shu yoki bu vazifani kompyuterda tezkor va samarali bajarishga yordam berishi mumkin.
|
| |