Parallel hisoblash
Download 0.84 Mb.
|
Abbos magistr
n ta parallel protsessorli tizim tezligi n marta yuqori bo‘lgan bitta protsessorga qaraganda unchalik samarali emas, lekin ancha arzon. Parallel hisoblash juda ko‘p hisoblashni talab qiladigan, tugatish uchun vaqt cheklovlari bo‘lgan va n ta oqimga bo‘linadigan vazifalar uchun ajoyib yechimdir. So‘nggi yillarda superkompyuterlar deb nomlanuvchi yuqori samarali hisoblash tizimlari parallel arxitekturaga ega.
Parallel hisoblash faqat tegishli uskunani sotib olgandan va ulanishlarni amalga oshirgandan keyingina muvaffaqiyatli bo‘ladi deb o‘ylamaslik kerak. Аmalda chiziqli tezlashtirishga (protsessorlar soniga mutanosib) erishish juda qiyin. Buning sababi shundaki, ko‘pgina algoritmlar aslida ketma-ket xarakterga ega (Аmdal qonuni buni ilmiy jihatdan tushuntirdi). Qo‘shimcha protsessorlar qo‘shilganligi sababli, baʼzi ish yuklari, pipeline parallelligidan foydalanganda biror vaqt nuqtasiga qadar samara keltiradi. Ushbu tizim factory assembly line yondashuvidan foydalangan holda narsalarni buzadi. Аgar ishni n ta bosqichga bo‘lish va diskret o‘zgaruvchini bir bosqichdan ikkinchisiga o‘tkazish mumkin bo‘lsa, u holda n tagacha protsessordan foydalanish mumkin. Biroq, eng sekin daraja boshqa darajalarni ushlab turadi va to‘liq ishlashda n protsessordan foydalanish dargumon. Parallel apparat vositalaridan samaraliroq foydalanish uchun ko‘plab algoritmlarni qayta ishlab chiqish kerak. Yagona protsessorli tizimlarda yaxshi ishlaydigan dasturlar parallel tizimlarda yaxshi ishlamasligi mumkin. Xuddi shu dasturning bir nechta nusxalari bir-biriga xalaqit berishi mumkin (bir vaqtning o‘zida bir xil xotira manziliga yozish/o‘qish). Shuning uchun parallel tizimlarda ehtiyotkorlik bilan dasturlash talab etiladi. Parallel kompyuterlar nazariy jihatdan Parallel Random Access Machines (PRAM) sifatida modellashtirilgan. PRAM modeli hisoblash komponentlari o‘rtasidagi ulanish xarajatlarini eʼtiborsiz qoldiradi, lekin baribir ko‘plab muammolarni parallel hal qilish imkonini beradi. Protsessorlar muammoni hamkorlikda hal qilishda bir-biri bilan aloqa qilishlari kerak yoki ular ishni taqsimlovchi va natijalarni yig‘uvchi boshqa protsessor nazorati ostida bir-biridan butunlay mustaqil ishlashi mumkin. Parallel kompyuterdagi protsessorlar bir-biri bilan turli yo‘llar bilan bogʼlanadi. Bular: umumiy xotira, shpal, umumiy shina yoki yulduz, halqa, daraxt, giperkub, n-o‘lchovli to‘r va boshqalar kabi juda ko‘p turli xil tarmoq topologiyalari bo‘lishi mumkin. Parallel kompyuterlar bir-biriga to‘gʼridan-to‘gʼri bogʼlanmagan tugunlarda xabar almashish uchun baʼzi marshrutlash usullariga muhtoj. Katta o‘lchamli ko‘p protsessorli mashinalarda aloqa muhiti ierarxikdir. Xotira har bir protsessor uchun yagona bo‘lishi mumkin, bir qator protsessorlar uchun umumiy yoki to‘liq bo‘lishi ham mumkin. Parallel hisoblash usullari quyidagilardan iborat: • Ko‘p ishlov berish • Kompyuterlarni klasterlash • Parallel superkompyuterlar • Tarqalgan hisoblash • NUMA, SMP va massiv parallel tizimlar • To‘rni hisoblash Parallel kompyuterlarda dasturlash uchun operatsion tizim darajasida va dasturlash tili darajasida ko‘plab dasturiy tizimlar ishlab chiqilgan. Ushbu tizimlar muammoni qismlarga bo‘lish va protsessorlarga belgilash imkonini beruvchi turli mexanizmlarni o‘z ichiga olishi kerak. Yashirin parallelizm - kompilyator yoki boshqa dastur muammoni qismlarga ajratib, uni avtomatik ravishda protsessorlarga tayinlashidir. Аniq parallelizm bu dasturchi muammoni qanday qismlarga ajratish kerakligini belgilab berishidir. Hozirgi vaqtda ko‘plab parallel ishlov berish kompilyatorlari bir qatlamli parallelizmni qo‘llab-quvvatlaydi. Ko‘p qatlamli parallelizmda parallel ravishda ishlaydigan oqimlar ko‘proq parallellik uchun yana bo‘linadi. Semafor va monitor deb ataladigan sinxronizatsiya tuzilmalari yordamida jarayonlarning resurslarini taqsimlashda ziddiyat holatining oldi olinadi [39-43, 46, 59-60, 81-85]. Yukni muvozanatlash baʼzi vazifalarni ogʼir yuklangan protsessordan engilroq yuklangan protsessorlarga o‘tkazadi, shunda ularning barchasi bir vaqtning o‘zida band bo‘ladi. Parallel dasturlash - bu jarayonlar o‘rtasida aniq belgilangan aloqa tuzilmalaridan foydalanadigan va samaradorlikni oshirish uchun jarayonlarni parallel ravishda qayta ishlashga imkon beruvchi tuzilma. Bir vaqtning o‘zida dasturlash ishlashdan tashqari boshqa sabablarga ko‘ra bir vaqtda jarayonlar o‘rtasidagi yangi aloqa usullariga asoslanadi. Jarayonlararo aloqa odatda umumiy xotira yoki xabarlarni uzatish texnikasi orqali amalga oshiriladi. Parallel dasturlash modeli - parallel algoritmlarni tavsiflovchi dasturiy taʼminot texnologiyalari to‘plami. Ushbu model ilovalar, tillar, kompilyatorlar, kutubxonalar, aloqa tizimlari va parallel kiritish-chiqarishlarni qamrab oladi. Dasturchilar o‘zlari va ilovalari uchun mos model yoki aralash modelni tanlash orqali o‘z ilovalarini ishlab chiqadilar. Ushbu modellar ikkiga bo‘linadi: umumiy xotira tizimlari va taqsimlangan xotira tizimlari. Ko‘p qo‘llaniladigan parallel dasturlash modellari: PVM, MPI, OpenMP, Global Arrays, Co-Array Fortran, UPC, HPF, SHMEM, Occam, Linda, Cilk[28-30, 61, 62, 88-91]. 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