Parallel hisoblash
Download 0.84 Mb.
|
Abbos magistr
- Bu sahifa navigatsiya:
- Parallel hisoblash
1.3. Filtratsiya chegaraviy masalalarini yechishda parallеl hisoblash algoritmlarini qo‘llashning umumiy tamoyillari Neft va gaz konlari filtratsion jarayonining bir necha yillik asosiy ko‘rsatkichlarini hisoblashning ko‘p o‘lchamli masalalarini yechishda hamda kompyuterda hisoblash tajribalarini o‘tkazish jarayonida ko‘p vaqt talab etiladi. Bunday jarayonlarni amalga oshirishda qo‘yilgan masalani yechishning parallel hisoblash algoritmlarini ishlab chiqish va yuqori tezlikka ega bo‘lgan ko‘p protsessorli hisoblash mashinalaridan foydalanish maqsadga muvofiqdir. Bu o‘z navbatida hisoblash jarayonini bir necha barobar tezlashtirishga olib keladi. Parallel hisoblash – kompyuerda bir vaqtning o‘zida ko‘plab hisob-kitoblarni, yaʼni operatsiyalarni bajarishning hisoblash turidir. Maʼlumki katta hisoblash jarayonlari (muammolari) ko‘pincha bir vaqtning o‘zida hal qilinishi mumkin bo‘lgan bir nechta kichik hisoblashlardan tashkil topishi mumkin. Kompyuterda parallel hisoblashning bir necha xildagi shakllari mavjud: bit darajasi, ko‘rsatmalar darajasi, maʼlumotlar va vazifalar parallelligi. So‘nggi yillarda kompyuterlar tomonidan energiya isteʼmoli muammosi tufayli va katta hisoblash jarayonlarida hisoblash vaqtini tejash uchun kompyuter arxitekturasida parallel hisoblash, asosan, ko‘p yadroli protsessorlar ko‘rinishidagi dominant kompyuterlarni qo‘llash samara bera boshladi. Parallel hisoblash bir vaqtning o‘zida hisoblash bilan chambarchas bogʼliq - garchi ikkalasi boshqa-boshqa tushuncha bo‘lsa-da, ular ko‘pincha birgalikda ishlatiladi va ko‘pincha birlashtiriladi: parallellik (masalan, bit parallelizmi) va parallelliksiz parallellik (masalan, bir yadroli CPU da ko‘p vazifalilik) kabi. Parallel hisoblashda hisoblash topshirigʼi odatda mustaqil ravishda qayta ishlanishi mumkin bo‘lgan bir nechta, ko‘pincha juda ko‘p, juda o‘xshash kichik vazifalarga bo‘linadi va ularning natijalari tugagandan so‘ng birlashtiriladi. Bundan farqli o‘laroq, bir vaqtning o‘zida hisoblashda turli operatsiyalar odatda tegishli vazifalarni bajarmaydi; ular amalga oshirilganda, taqsimlangan hisoblashda odatiy hol bo‘lganidek, individual topshiriqlar turli atributlarga ega bo‘lishi mumkin va ko‘pincha bajarish jarayonida jarayonlararo aloqani talab qiladi. Parallel kompyuterlarni apparatning parallelizmni qo‘llab-quvvatlash darajasiga ko‘ra quyidagicha tasniflash mumkin: ko‘p yadroli va ko‘p protsessorli kompyuterlar(bitta mashinada bir nechta ishlov berish elementlaridan foydalanadi), klasterlar, MPP lar va gridlar (bir xil kompyuterlarda ishlash uchun bir nechta kompyuterlardan foydalanadi). Baʼzida maʼlum vazifalarni tezlashtirish uchun anʼanaviy protsessorlar bilan bir qatorda ixtisoslashtirilgan parallel kompyuter arxitekturalari qo‘llaniladi. Baʼzi hollarda, bit bo‘yicha yoki buyruq darajasidagi parallelizm, parallel dastur tuzishda qiyinlik tugʼdirmaydi, lekin aniq parallell algoritmlarni yozish, ketma-ketlikdan ko‘ra qiyinroq, chunki parallellik bir nechta yangi xususiyatlarni kiritadi. Turli xil kichik vazifalar o‘rtasidagi aloqa va sinxronizatsiya, odatda, optimal parallel dastur ishlashiga erishish uchun eng katta to‘siqlardan biri hisoblanadi. Parallellashtirish natijasida bitta dasturni tezlashtirishning nazariy yuqori chegarasi Аmdal qonuni bilan aniqlanadi. Kompyuter dasturlari ketma-ket hisoblash uchun yozilgan. Muammoni hal qilish uchun algoritm tuziladi va ko‘rsatmalar oqimi ketma-ketligi sifatida amalga oshiriladi. Ushbu ko‘rsatmalar kompyuterning markaziy protsessorida bajariladi. Bir vaqtning o‘zida faqat bitta ko‘rsatma bajarilishi mumkin - bu ko‘rsatma tugagach, keyingisi bajariladi. Parallel hisoblash esa muammoni hal qilish uchun bir vaqtning o‘zida bir nechta ishlov berish elementlaridan foydalanadi. Bu masalani mustaqil qismlarga bo‘lish yo‘li bilan amalga oshirishga yordam beradi, shunda har bir ishlov berish elementi boshqalar bilan bir vaqtda algoritmning o‘ziga xos qismini bajarishi mumkin. Renderlash elementlari xilma-xil bo‘lishi mumkin va ular bir nechta protsessorli bitta kompyuter, bir nechta tarmoqqa ulangan kompyuterlar, ixtisoslashtirilgan uskuna yoki yuqoridagilarning istalgan kombinatsiyasi kabi resurslarni o‘z ichiga olishi mumkin. Tarixiy jihatdan parallel hisoblash ilmiy hisoblash va ilmiy muammolarni simulyatsiya qilish uchun, ayniqsa meteorologiya kabi tabiiy va muhandislik fanlarida ishlatilgan. Bunda parallellik apparat va dasturiy taʼminotda yuqori unumli hisoblashni loyihalashga olib keladi. 1980-yillarning o‘rtalaridan 2004-yilgacha bo‘lgan davrda kompyuter ish faoliyatini yaxshilashning asosiy sababi chastotali masshtablash edi. Dasturning ishlash vaqti ko‘rsatmalar sonining har bir ko‘rsatma uchun o‘rtacha vaqtga ko‘paytirilishiga teng. Qolgan hamma narsani doimiy ushlab turish, soat chastotasini oshirish buyruqni bajarish uchun ketadigan o‘rtacha vaqtni qisqartiradi. Shunday qilib, chastotaning ortishi barcha hisob-kitoblarga bogʼliq dasturlarning ishlash vaqtini qisqartiradi. Biroq, P quvvat sarfi chipli tenglama bilan berilgan, bu yerda C - har bir soat siklidagi sigʼim nazorati (kirish o‘zgarishi tranzistorlar soniga mutanosib), V - kuchlanish, F esa protsessor chastotasi (sekundiga aylanishlar). Chastotaning ortishi protsessorda ishlatiladigan quvvat miqdorini oshiradi. Quvvat isteʼmoli va qizib ketish muammosini hal qilish uchun markaziy protsessor (CPU yoki protsessor) ishlab chiqaruvchilari ko‘p yadroli, quvvatni tejaydigan protsessorlarni ishlab chiqarishni boshladilar. Yadro protsessorning hisoblash birligi bo‘lib, ko‘p yadroli protsessorlarda har bir yadro mustaqil bo‘ladi va bir vaqtning o‘zida bir xil xotiraga kira oladi. Operatsion tizimda turli vazifalar va foydalanuvchi dasturlari mavjud yadrolarda parallel ravishda ishlashi mumkin. Biroq, ketma-ket dasturiy taʼminot dasturi ko‘p yadroli arxitekturadan to‘liq foydalanishi uchun dasturchi kodni qayta qurish va parallellashtirishi kerak. Аmaliy dasturiy taʼminotning ishlash vaqtini tezlashtirishga endi chastotali masshtablash orqali erishilmaydi, buning o‘rniga dasturchilar ko‘p yadroli arxitekturalarning ortib borayotgan hisoblash quvvatidan foydalanish uchun o‘zlarining dasturiy kodlarini parallellashtirishlari kerak bo‘ladi. Matematik modellashtirish, algoritmlarni ishlab chiqish va sinovdan o‘tkazish kabi keng ko‘lamli simulyatsiya va maʼlumotlarni qayta ishlash ishlarini bajarish uchun asossiz vaqt talab qilinishi yoki ko‘p kompyuter xotirasi talab qilinishi mumkin. Ko‘p yadroli kompyuterlar, GPU lar, kompyuter klasterlari, tarmoq va bulut xizmatlari kabi yuqori unumdor resurslardan foydalanish orqali bu saʼy-harakatlarni tezlashtiradi. MАTLАB va Simulink parallel hisoblash mahsulotlari kompyuter muhiti va ish jarayonlariga katta o‘zgarishlar kiritmasdan ishni tezlashtirish imkonini beradi. Bir nechta va yuqori unumdor CPU va GPU mashinalaridan foydalanish orqali tahlil va simulyatsiyalarni tezlashtirish mumkin. Parallel hisoblashda bajarilishi kerak bo‘lgan ish bir nechta ish segmentlariga bo‘linadi va har bir ish segmentida topilgan natijalar bir joyda (masalan, mainframe) yigʼiladi, bu esa bu ishlarni qisqa vaqtda va tezroq bajarish imkonini beradi. Parallel hisoblash orqali natijaga tezroq erishish bilan bir qatorda, ish bo‘limlarini bir vaqtning o‘zida boshqarish va tranzaktsiyalarni bir vaqtning o‘zida bajarish orqali unumdorlik ham oshiriladi. Ikki va ko‘p yadroli protsessorlar yordamida endi kompyuterlar operatsiyalarni tezroq va qisqa vaqt ichida bajarishi, hattoki kamroq qizib ketishi ham mumkin. Parallel hisoblash quyidagi sabablarga ko‘ra qo‘llanilishi mumkin: -xotirani eng samarali ishlatish orqali kompyuter ishining sekinlashishini oldini olish, - bitta protsessor o‘rniga bir nechta (ikki, to‘rtlik va hokazo) protsessorlarni qo‘llash orqali haroratning oshishini oldini olish, - hisob-kitoblarning tez bajarilishini taʼminlash. - tez hisoblash bilan samaradorlikni oshirish. - bir nechta qismlarga bo‘linishi nazarda tutilganligi. - bu qismlar teng vaqt oraliqlariga bo‘linishi. - har bir ish bo‘limi bir vaqtning o‘zida turli protsessorlarda bir vaqtning o‘zida qayta ishlanishi va hisoblanishi. Parallelizm haqidagi birinchi gʼoyalar Jon Kok va Daniel Slotnik tomonidan paydo bo‘lgan, ular birinchi marta 1958 yilda IBM tadqiqotlarida raqamli hisoblashlarni amalga oshirish mumkinligi haqidagi gʼoyani kiritganlar. 1960 yilga kelib, Novosibirsk matematika instituti xodimi E.V. Yevreinov bir-biri bilan birgalikda dasturlash mumkin bo‘lgan parallel arxitekturalarni loyihalashtirganda parallel tushunchasi yangicha tus oldi. 1964 yilda Daniel Slotnik Lourens Livermor milliy laboratoriyalarida foydalanish uchun katta parallel mashinalarni ishlab chiqdi. 1967 yilda Gen Аmdal va Daniel Slotnik AFIPS konferentsiyasida parallel ishlov berish imkoniyati haqida maqola chop etishdi. Bu parallelizmga oid bahs mavzusi keyinchalik “Аmdal qonuni” deb nomlandi. 1983 yilda Goodear Aerospace NASA Goddvard uchun Massively Parallel Processor (MPP) ni ishlab chiqdi. 1985 yilda Devid Gelernter Linda parallel dasturlash tizimining asoslarini bayon qildi. 1986 yilda taqsimlangan kompyuterlarda kerakli dasturiy taʼminotdan foydalanish uchun Parallel Virtual Machine (PVM) loyihasi ishlab chiqildi. 1993 yilda IBM PICC RS/6000 protsessoriga asoslangan birinchi CP1 Powerparallel tizimini chiqardi. Parallel hisoblashning eng muhim afzalliklaridan biri masalani yechish vaqtini qisqartirish va yechimga tezroq erishishdir. Muammo bir qism sifatida emas, balki qismlarga bo‘linadi va har bir qism maʼlum vaqt oraligʼiga bo‘linadi, bu esa osonroq va tezroq hal qilishni taʼminlaydi. Parallel hisoblashda qismlarga bo‘lingan muammolarning har biri alohida kompyuterlar yoki protsessorlarda bajarilganligi sababli, ushbu qismlardan birida yuzaga kelishi mumkin bo‘lgan blokirovka yoki xatolik, hatto boshqa qismlarda ham muammoning umumiy muvaffaqiyatiga to‘sqinlik qilishi mumkin. Bundan tashqari, ushbu qismlarning har birida vaqt chegarasi bo‘lganligi sababli, har bir vazifa unga berilgan vaqt ichida hal qilinishi kerak. Аgar dastur bilan parallel hisoblash amalga oshirilsa, buning uchun tayyorlangan MPI (Message Passing Interface) kutubxonasidan foydalanish mumkin. MPI bilan birgalikda MPICH va LAM ilovalaridan, boshqa parallel hisoblash kutubxonalari: Co-Array Fortran, Parallel Virtual Machine, Global Arrays, OpenMP, High, Performance Fortran HPF, Unified Parallel C/UPC, SHMEM, Occam, Silk lardan ham foydalanish mumkin. Parallel hisoblashni, yaʼni dasturni bir nechta qismlarga bo‘lish orqali bir vaqtning o‘zida hal qilish jarayonini amalga oshirish uchun namunaviy dastur amalga oshirildi. Buning uchun bir nechta turli dasturlardan foydalangan holda uch xil usulda yechim ishlab chiqarilishi mumkin. 1) Аmaldagi operatsion tizimga virtual quti (virtual quti) o‘rnatish orqali ushbu virtual mashinaga bir yoki bir nechta operatsion tizimlarni o‘rnatish mumkin. Shunday qilib, hal qilinishi kerak bo‘lgan muammo (dastur) ushbu virtual qutidagi operatsion tizimlar bilan bo‘lishish mumkin. 2) Yechim MATLAB kabi dasturlar yordamida amalga oshirilishi mumkin. Buning uchun MATLABning Parallel Toolbox infratuzilmasidan foydalanish mumkin. 3) Parallel hisoblash Microsoft Visual Studio 6.0 Enterprise Edition bilan birgalikda ishlaydigan MPICH2 dasturi bilan foydalaniladigan MPI kutubxonasi yordamida amalga oshirilishi mumkin. Parallel hisoblashda bajariladigan ish bir nechta ish bo‘limlarga bo‘linadi, turli protsessorlar yoki kompyuterlarda qayta ishlanadi va har bir ish bo‘limi natijalari bir joyda (masalan, asosiy kompyuter) qisqa vaqt ichida qayta ishlanadi, tezroq bajarish imkonini beradi. Turli kompyuterlarga ushbu vazifa ajratilgan ish bo‘limlarini taqsimlash MATLAB Parallel Computing Toolbox yordamida amalga oshirilishi mumkin. MАTLАB va Simulink dasturiy muhiti hisoblarni biz ishlayotgan kompyuterda ham, parallel hisoblash vositalariga ega boshqa kompyuter klasterida (ko‘p yadroli kompyuter) ham tarqatishi mumkin. Parallel protsessor atamasi baʼzan parallel ishlov berish qobiliyatiga ega bo‘lgan bir nechta protsessorli kompyuterni tasvirlash uchun ishlatiladi. Minglab protsessorlarni o‘z ichiga olgan tizimlar massiv parallel tizimlar deb nomlanadi. Ko‘p yadroli protsessorlar parallel hisoblash tizimlari uchun ham mos keladi. Parallel kompyuter (protsessor) tuzilmalarining keng assortimenti mavjud. Ushbu variantlar protsessorlar (protsessor elementi - PE deb ataladi) yoki protsessor va xotira o‘rtasidagi bogʼliqlik bilan belgilanadi. Flynn parallel kompyuterlarni barcha protsessorlar bir vaqtning o‘zida bir xil ko‘rsatmalarni (bitta ko‘rsatmalar/ko‘p maʼlumotlar-SIMD) qayta ishlashi yoki har bir protsessor turli ko‘rsatmalarni qayta ishlashi (bir nechta ko‘rsatmalar/ko‘p maʼlumotlar-MIMD) bo‘yicha tasniflaydi. Parallel protsessorli mashinalar simmetrik (barcha protsessorlar bir xil darajada) va assimetrik (baʼzi vazifalar uchun protsessorlar ajratilgan va ustuvorlikka ega) ko‘p protsessorlarga bo‘linadi. Download 0.84 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling