|
Parallel hisoblash tizimi
|
bet | 2/3 | Sana | 28.05.2024 | Hajmi | 34,72 Kb. | | #255461 |
Bog'liq Двстур тек формал - 1Parallel hisoblash tizimi.
Parallel hisoblash tizimi (HT) deb ko’pgina apparat (hardware), oraliq dastur (middleware) va amaliy dastur (software) o’zaro nabo-rom aloqali ta’minotining elementlari tushuniladi. Ushbu elementlar yuqori samarali parallel hisoblashlarni o’tkazish maqsadida birlashgan.
HT da elementlarning o’zaro aloqasi quyidagichadir: apparat ta’minlash elementlari bilan oraliq DT elementlari o’zaro aloqa qiladi, bunda ular EVM arhitekturasining barcha hususiyatlarini hisobga olgan holda, HT boshqarilishining (HT dasturiy modeli) umumiy dasturiy vositalarni taqdim etadi. Amaliy dasturlar software dasturlar orqali modelini, middleware bilan ta’minlangan, ushbu HT ning maqsadi bo’lgan, mahsus vazifalarni bajarish uchun u yoki bu algoritmlarni amalga oshiradi.
Oraliq dasturiy ta’minot atamasi juda turg’un hisoblanadi, shu bilan birga undan turli tushunchalarni ta’minlashda foydalaniladi. Umuman olganda, PPO dasturiy ta’minotning turi hisoblanadi, bunda uni ilovalar va resurslar o’rtasidagi (Amaliy dasturlash interfeysi) API deb atash mumkin, va u dasturning to’g’ri ishlashi uchun zarurdir. Bundan kelib chiqadiki, ilovalarning bir-biri bilan yoki resurslar bilan o’zaro jarayonini soddalshtirish imkonini beradigan har qanday dasturiy ta’minot oraliq deb atalishi mumkin.
Parallel hisoblash tizimida bir yoki bir necha hisoblash tugunlarida bir yoki bir nechta dasturiy komponentlari bo'lishi mumkin. Tizim bir kompyuter tizimi sifatida paydo bulishi uchun, bu qismlar o'zaro aloqalarni qo'llab-quvvatlashi kerak. Oraliq dasturiy ta’minotning asosiy roli shundaki, ushbu vazifalarni soddalashtirish va parallel taqsimlangan hisoblash-tizimlari komponentlarini o'zaro ta’sirini qurilishida amaliy dasturchilar tomonidan qo’llaniladigan abstrakstiyalarni ta’minlashdir.
An'anaviy dasturlash tillari va maxsus izohlardan foydalanish asosida umumiy xotira kompyuterlari uchun eng mashhur dasturiy vositalaridan biri hozirda OpenMP texnologiyasidir. Vaqtinchalik dastur asos sifatida olinadi va parallel versiyasini yaratadi, foydalanuvchi bir qator dir direktivalari, funktsiyalari va atrof-muhit o'zgaruvchilari bilan ta'minlanadi. Yaratilgan parallel dastur OpenMP API-ni qo'llab-quvvatlaydigan turli xil umumiy xotira kompyuterlari o'rtasida ko'chma bo'ladi deb taxmin qilinadi. OpenMP texnologiyasi foydalanuvchi dasturning parallel va ketma-ket ijro etilishi uchun dasturning bitta versiyasiga ega bo'lishini ta'minlashni maqsad qiladi. Biroq, faqat parallel rejimda to'g'ri ishlashi yoki ketma-ket rejimda boshqa natija beradigan dasturlarni yaratish mumkin. Bundan tashqari, yaxlitlash xatolarining to'planishi tufayli turli xil ish zarrachalaridan foydalangan holda hisoblash natijalari ayrim hollarda farq qilishi mumkin.
Ushbu standart OpenMP ARB notijorat tashkiloti tomonidan ishlab chiqilgan (Arxitektura tadqiqoti kengashi) [1], bu SMP-arxitektura va dasturiy ta'minotni ishlab chiqaruvchi yirik kompaniyalarning vakillari hisoblanadi. OpenMP FORTRAN va C / C ++ tillari bilan ishlashni qo'llab-quvvatlaydi. Fortran tilining birinchi spetsifikatsiyasi oktyabr 1997-yilda va C / C ++ tilining 1998 yil oktyabrida paydo bo'lishi. Hozirgi vaqtda eng so'nggi rasmiy standart spetsifikatsiya OpenMP 3.0 [3] (2008 yil may oyida qabul qilingan). OpenMP interfeysi umumiy xotira modelida ölçeklenebilir SMP tizimlarida (SSMP, ccNUMA va boshqalar) dasturiy uchun standart sifatida mo'ljallangan. OpenMP standarti kompilyator direktiflari, yordamchi funktsiyalar va atrof-muhit o'zgaruvchilari uchun spetsifikatsiyalarni o'z ichiga oladi. OpenMP "master" (master) ish zarrachalar majmuasini "qul" (thread) toifalarini hosil qiladigan va ular orasidagi vazifa taqsimlangan multithreading yordamida parallel hisoblashni amalga oshiradi. Bir vaqtning o'zida bir nechta protsessorli mashinada parallel ishlaydi va protsessorlarning soni ish zarrachalar soniga teng yoki teng bo'lmasligi kerak. POSIX interfeysi (Pthreads) deyarli barcha UNIX tizimlarida qo'llabquvvatlanadi, biroq ko'plab sabablarga ko'ra amaliy parallel dasturlash uchun mos emas: Fortranni qo'llab-quvvatlamaydi, dasturlash darajasi juda past, parallelizmga mos kelmaydi. va iplar mexanizmi aslida parallelizmni tashkil qilish uchun mo'ljallangan emas edi.
|
| |