Ma’lumotlar darajasida masalalarni paralellashtirish

|
Ma’lumotlar darajasida masalalarni paralellashtirish
|
bet | 14/27 | Sana | 18.05.2024 | Hajmi | 1,16 Mb. | | #242810 |
Bog'liq O‘zbekiston respublikasi axborot texnologiyalari va kommunikatsiMa’lumotlar darajasida masalalarni paralellashtirish. Ma'lumotlar parallelizmi - jarayon yoki vazifa parallelligiga tayanmaydigan, balki axborot oqimi va tuzilishi bilan bog'liq bo'lgan parallelizmning yana bir turi. Oldingi bo'limdagi misolimizdan avtomobil zavodiga o'xshatish mumkin. U erda biz avtomobil konstruktsiyasini yig'ish jarayoniga qanday aylantirish mumkinligini ko'rib chiqdik. Bu erda, bitta konveyerda avtomobil ishlab chiqarish boshqa konveyerda bir xil turdagi avtomobillarni ishlab chiqarish bilan bog'liq emasligi sababli, biz bir xil konveyerni bir necha marta takrorlay olmasligimiz uchun hech qanday sabab yo'q; ikkita yig'ish liniyasi bitta yig'ish liniyasi bilan bir xil vaqt ichida ikki barobar ko'p avtomobil ishlab chiqarishga olib keladi. Ma'lumotlar parallelligi uchun maqsad ma'lumotlar to'plamini bir xil operatsiyalar to'plamini bajaradigan parallel ishlov berish iplariga parchalash qobiliyatiga asoslangan qayta ishlash hajmini o'lchashdir. Masalan, mijozlar manzillarini standartlashtirish jarayoni takroriy manzilni ushlaydi va uni standart shaklga aylantirishga harakat qiladi. Bu vazifa ma'lumotlar parallelizmiga moslashadi va to'rtta manzilni standartlashtirish jarayonini ishga tushirish va har bir instansiya orqali manzil yozuvlarining to'rtdan bir qismini oqimlash orqali 4 marta tezlashishi mumkin (2.1-rasm). Ma'lumotlar parallelligi yanada nozik parallelizmdir, chunki biz bir xil ichik vazifalar to'plamini takroriy ravishda bir nechta ma'lumotlar oqimiga qo'llash orqali samaradorlikka erishamiz.
2.1-rasm. Ma’lumotlar darajasida parallelashtiris
2.2 Ma'lumotlar parallelligi va vazifalar parallelligi.
Ma'lumotlar parallelizmi bir nechta protsessorlarda parallel ravishda dasturni ishga tushirish usulidir. U ma'lumotlarni parallel bajarish muhitida turli tugunlar bo'ylab taqsimlashga va turli xil hisoblash tugunlari bo'ylab ushbu taqsimlangan ma'lumotlarning bir vaqtning o'zida kichik hisoblashlarini ta'minlashga qaratilgan. Bunga odatda SIMD rejimida erishiladi (bitta ko'rsatma, bir nechta ma'lumotlar rejimi) va parallel ma'lumotlar operatsiyalarini boshqaradigan bitta kontroller yoki alohida hisoblash tugunlarida (SPMD) bir xil ishlaydigan bir nechta ish zarrachalariga ega bo'lishi mumkin. Bundan farqli o'laroq, vazifa parallelligi parallel hisoblash tugunlari o'rtasida parallel bajarilish iplarini taqsimlashga qaratilgan. Bu iplar bir xil yoki har xil iplarni bajarishi mumkin. Ushbu iplar umumiy xotira yoki parallel algoritmga muvofiq aniq aloqa xabarlari orqali xabar almashadi. Eng umumiy holatda, Vazifa-Paralel tizimining har bir ipi butunlay boshqacha vazifalarni bajarishi mumkin, ammo muayyan muammoni hal qilish uchun o'z harakatlarini muvofiqlashtiradi. Eng soddalashtirilgan holatda, barcha mavzular bir xil dasturni bajarishi mumkin va vazifa mas'uliyatida har qanday o'zgarishlarni amalga oshirish uchun tugun identifikatorlari asosida farqlanadi. Eng keng tarqalgan Task-Parallel algoritmlari bitta usta va bir nechta ishchiga ega Master-Worker modeliga amal qiladi. Sehrgar rejalashtirish qoidalari va boshqa vazifalarni taqsimlash strategiyalari asosida turli ishchilar o'rtasida hisob-kitoblarni taqsimlaydi.
Ma'lumotlar modelining parallelligi
Ma'lumotlar va model parallelligi uchun bir nechta cheklovlar mavjud. Ma'lumotlar parallelligi uchun, agar hisoblash tugunlari juda ko'p bo'lsa, silliq o'rganish jarayonini ta'minlash uchun o'rganish tezligini kamaytirishimiz kerak. Model parallelligi uchun, agar bizda juda ko'p tugunlar bo'lsa, aloqa xarajatlari tufayli tarmoq unumdorligi keskin kamayadi. Model parallelligi ko'p sonli neyron faoliyati bilan yaxshi ishlashni ta'minlashi mumkin va ma'lumotlar parallelligi katta miqdordagi og'irliklar bilan samarali bo'ladi. CNNda konvolyutsiya qatlami taxminan 90% hisoblash va 5% parametrlarni o'z ichiga oladi, to'liq bog'langan qatlam esa parametrlarning 95% va hisoblarning 5-10% ni o'z ichiga oladi. Shuning uchun biz konvolyutsion qatlam uchun ma'lumotlar parallelligi va to'liq bog'langan qatlam uchun model parallelizmidan foydalangan holda ma'lumotlar modeli rejimida CNNni parallellashtirishimiz mumkin (2.2-rasm).
2.2-rasm. Ma’lumotlar va modellar paralelligi.
Ma'lumotlar parallelligi g'oyasi o'rtacha parametr sifatida Jeff Din tomonidan ilgari surilgan. Bizda bir xil modelning uchta nusxasi bor. Biz bir xil A modelini uchta turli tugunlarda joylashtirmoqdamiz va ma'lumotlarning bir qismi uchta bir xil modelga uzatilmoqda. Parametr qiymatlari parametr serveriga yuboriladi va barcha parametrlarni to'plagandan so'ng ular o'rtacha hisoblanadi. Parametr serveridan foydalanib, omega sinxronlashtiriladi. Neyron tarmoqlarni parallel ravishda ikkita usulda o'qitish mumkin: sinxron (bitta to'liq iteratsiyani kutish va omega qiymatini yangilash orqali) va asinxron (tarmoqdan eskirgan parametrlarni yuborish orqali). Ammo har ikkala usulga sarflangan vaqt miqdori bir xil va usulni tanlash bu yerda katta muammo emas. (2.3-rasm)
2.3-rasm. Ma’lumotlar modelini uzatilishi
Ma'lumotlar parallelligi bilan bog'liq muammolarni bartaraf etish uchun vazifa darajasidagi parallelizm joriy etildi. Mustaqil hisoblash vazifalari GPUlarda shartli bayonotlar yordamida parallel ravishda qayta ishlanadi. Vazifa darajasidagi parallelizm ma'lumotlar parallelizmi yordamisiz faqat ma'lum darajada ishlashi mumkin, undan tashqari GPU samaraliroq bo'lishi uchun ma'lumotlar parallelizmiga muhtoj. Ammo vazifa darajasidagi parallelizm GPU lar uchun ko'proq moslashuvchanlik va tezroq hisoblashni ta'minlaydi.
|
| |