Mavzu: mpi paketini ishlashini o‘rganish nazariy qism



Download 138,97 Kb.
bet1/2
Sana25.12.2022
Hajmi138,97 Kb.
#896011
  1   2
    Bu sahifa navigatsiya:
  • MAVZU

O'ZBЕKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA
KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI

MUHAMMAD AL-XORAZMIY NOMIDAGI


TOSHKЕNT AXBOROT TЕXNOLOGIYALARI UNIVЕRSITЕTI

Telekomunikatsiya texnologiyalari fakulteti
417-20-gurux talabasi
A`zamov Boburmirzo.


MAVZU: MPI PAKETINI ISHLASHINI O‘RGANISH



  1. Nazariy qism:

Parallell ishlov berish nima?
Parallel ishlov berish. Agar ma'lum bir qurilma vaqt birligiga bitta operatsiyani bajarsa, u ming birlikda mingta operatsiyani bajaradi.
Parallel ishlov berish - bu umumiy vazifaning alohida qismlarini bajarish uchun ishlaydigan ikki yoki undan ortiq protsessorlarni (CPU) hisoblash usuli. Bir nechta protsessorlar orasida vazifaning turli qismlarini ajratish dasturni ishga tushirish vaqtini qisqartirishga yordam beradi. Bir nechta protsessorga ega har qanday tizim parallel ishlov berishni, shuningdek, bugungi kunda kompyuterlarda keng tarqalgan ko'p yadroli protsessorlarni amalga oshirishi mumkin.


Ko'p yadroli protsessorlar - bu yaxshi ishlash, quvvat sarfini kamaytirish va bir nechta vazifalarni samaraliroq qayta ishlash uchun ikki yoki undan ortiq protsessorni o'z ichiga olgan IC chiplari. Ushbu ko'p yadroli sozlashlar bir xil kompyuterda o'rnatilgan bir nechta, alohida protsessorlarga o'xshaydi. Ko'pgina kompyuterlar ikkitadan to'rttagacha yadroga ega bo'lishi mumkin; 12 yadrogacha ko'tariladi.


Parallel ishlov berish odatda murakkab vazifalar va hisob-kitoblarni bajarish uchun ishlatiladi. Ma'lumotlar olimlari odatda hisoblash va ma'lumotlarni ko'p talab qiladigan vazifalar uchun parallel ishlov berishdan foydalanadilar.
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'lumotlar - 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 ma'lumotlarni qayta ishlaydi. SIMD odatda bir xil belgilangan mezonlarga asoslangan katta ma'lumotlar to'plamlarini tahlil qilish uchun ishlatiladi.


MIMD yoki 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 buyruqli ma'lumotlar kiradi, bunda har bir protsessor bir xil kirish ma'lumotlari bilan boshqa algoritmdan foydalanadi.



  1. Geterogin hisoblash tizimlari?

Ingliz tilidan tarjima qilingan-Geterogen hisoblash bir nechta turdagi protsessor yoki yadrolardan foydalanadigan tizimlarni anglatadi. Geterogen hisoblash CPU, GPU, DPU, VPU, FPGA yoki ASIC kabi bir nechta turdagi hisoblash yadrolaridan foydalanadigan tizimni anglatadi. Turli maqsadlar uchun mos bo'lgan ixtisoslashtirilgan protsessorlarga turli xil ish yuklarini belgilash orqali unumdorlik va energiya samaradorligini sezilarli darajada oshirish mumkin. Geterogen hisoblash bir nechta turdagi protsessor yoki yadrolardan foydalanadigan tizimlarga ishora qiladi . Ushbu tizimlar unumdorlik yoki energiya samaradorligini nafaqat bir xil turdagi protsessorlarni qo'shish orqali, balki bir-biriga o'xshash bo'lmagan protsessorlarni qo'shish orqali erishadi , odatda muayyan vazifalarni bajarish uchun maxsus qayta ishlash imkoniyatlarini o'z ichiga oladi. Geterogen hisoblash uskunalarini har bir hisoblash sohasida topish mumkin - yuqori darajadagi serverlar va yuqori unumli hisoblash mashinalaridan tortib, past quvvatli o'rnatilgan qurilmalar, shu jumladan mobil telefonlar va planshetlargacha.


Yuqori unumdorlikdagi hisoblash
Cydra-5 (raqamli protsessor)
Cray XD1 (FPGA)
SRC kompyuterlari SRC-6 va SRC-7 (FPGA)
O'rnatilgan tizimlar (DSP va mobil platformalar)
Texas Instruments OMAP (Media protsessor)
Blackfin analog qurilmalari (DSP va media protsessorlari)
Qualcomm Snapdragon (GPU, DSP, tasvir, ba'zan AI protsessorlari; Modem, Sensorlar)
Nvidia Tegra (GPU; Modem, Sensorlar)
Samsung Exynos (GPU; Modem, Sensorlar)
Apple "A" seriyasi (CPU, GPU; Modem)
Movidius Myriad Vision qayta ishlash birliklari , u bir nechta simmetrik protsessorlarni o'z ichiga oladi, ular sobit funktsiya birliklari va bir juft SPARC asosidagi kontrollerlar bilan to'ldiriladi.
HiSilicon Kirin SoCs (GPU; Modem, Sensorlar)
MediaTek SoCs (GPU; Modem, Sensorlar)
Cadence Design Systems Tensilica DSPs
Tarmoqqa ulanish
Intel IXP tarmoq protsessorlari
Netronome NFP tarmoq protsessorlari
Umumiy maqsadli hisoblash, oʻyin va koʻngilochar qurilmalar
Intel Sandy Bridge, Ivy Bridge va Haswell protsessorlari (Integratsiyalashgan GPU, Ivy Bridgedan beri OpenCL-ga ega)
AMD Ekskavator va Ryzen APU (Integratsiyalashgan GPU, OpenCL-ga qodir)
IBM Cell , PlayStation 3 da topilgan (Vektorli protsessor) [14]
SpursEngine , IBM Cell protsessorining varianti
Emotion Engine , PlayStation 2 da topilgan (Vektor va media protsessorlari)
ARM big.LITTLE/DynamIQ CPU arxitekturasi (heterojen topologiya)
Deyarli barcha ARM sotuvchilari heterojen echimlarni taklif qiladi; ARM, Qualcomm, Nvidia, Apple, Samsung, HiSilicon, MediaTek va boshqalar.



  1. OpenMP texnologiyasi?



OpenMP parallelizmin mavjud ketma-ketlik dasturi parallel holga kelgunicha asta-sekin qo'shilgan dasturlash uslubini qo'llab-quvvatlaydi.Biroq bu afzallik OpenMP ning eng zaif nuqtasidir. Agar muvozanat asta-sekin qo'shilsa, dasturchi dasturni keng miqyosda qayta qurish qila olmaydi, bu ko'pincha maksimal ishlash uchun zarur bo'ladi.
OpenMP doimiy rivojlanayotgan standartdir. OpenMP Architecture Review Board deb nomlangan sanoat guruhi ushbu tilga yangi kengaytmalar kiritish uchun muntazam uchrashuvlar o'tkazadi. OpenMP ning keyingi versiyasi (3.0 versiyasi) vazifa navbatini tashkil etish qobiliyatini o'z ichiga oladi. Bu esa, OpenMP ga yanada keng boshqaruv tuzilmalarini boshqarish va umumiy recursiv algoritmlardan foydalanish imkonini beradi.
OpenMP (Open Multoqimrocessing) kompilyator direktivasiga asoslangan parallel dasturlash modeli boʻlib, dastur ishlab chiquvchilarga oʻzlarining dastur kodlariga parallelizmni bosqichma-bosqich qoʻshish imkonini beradi.
OpenMP - bu ko'p ish zarralarini amalga oshirish , parallellashtirish usuli bo'lib, bunda birlamchi oqim (ketma-ket bajariladigan ko'rsatmalar qatori) ma'lum miqdordagi pastki oqimlarni ajratib turadi va tizim ular orasida vazifani taqsimlaydi
OpenMP yordamida vazifalar parallelligi va ma'lumotlar parallelligiga erishish mumkin.
OpenMP yordamiga ega bo'lgan kompilyator, dasturning parallel versiyasi uchun odatiy bo'lgan alohida bloklarni shartli ravishda kompilyatsiya qilish uchun ishlatilishi mumkin bo'lgan _OPENMP so'lini belgilaydi. Bu so'l yyyym formatida aniqlanadi, bu erda yyyy va mm - qo'llab-quvvatlanadigan OpenMP standarti qabul qilingan yil va oy uchun raqamlar. Masalan, OpenMP 3.0 standartini qo'llab- quvvatlaydigan derleyici 2008/05 da _OPENMP ni belgilayd
OpenMP - umumiy xotira qurilmalarida dasturlash usuli. Bu shuni anglatadiki, parallelizm har bir parallel oqim barcha ma'lumotlaringizga kirish huquqiga ega bo'lgan joyda sodir bo'ladi.



  1. OpenCL texnologiyasi?

OpenCL heterojen muhitda ishlashi mumkin bo'lgan ilovalarni yaratish texnologiyasi sifatida ishlab chiqilgan. Bundan tashqari, u faqat rejalarda mavjud bo'lgan va hatto hali hech kim ixtiro qilmagan qurilmalar bilan qulay tajribani ta'minlash uchun mo'ljallangan. Ushbu barcha qurilmalarning ishlashini muvofiqlashtirish uchun heterojen tizim har doim OpenCL API orqali qolganlari bilan o'zaro aloqada bo'lgan bitta "master" qurilmaga ega. Bunday qurilma "host" deb ataladi va OpenCL dan tashqarida aniqlanadi.


Shu sababli, OpenCL OpenCL-ni qo'llab-quvvatlaydigan qurilma haqida tasavvurga ega bo'lgan eng umumiy shartlardan kelib chiqadi: bu qurilma hisoblash uchun ishlatilishi kerak bo'lganligi sababli, u so'zning umumiy ma'nosida ma'lum bir "protsessor" ga ega. . Buyruqlarni bajara oladigan narsa. OpenCL parallel hisoblash uchun mo'ljallanganligi sababli, bunday protsessor o'z ichida parallellik vositalariga ega bo'lishi mumkin (masalan, bitta protsessorning bir nechta yadrolari, hujayradagi bir nechta SPE protsessorlari). Shuningdek, parallel hisoblash samaradorligini oshirishning elementar usuli bu qurilmaga bir nechta shunday protsessorlarni o'rnatishdir (masalan, ko'p protsessorli kompyuter anakartlari va boshqalar). Va, albatta, heterojen tizimda bir nechta bunday OpenCL qurilmalari bo'lishi mumkin (umuman aytganda, turli xil arxitekturaga ega).


Hisoblash resurslaridan tashqari, qurilma ma'lum hajmdagi xotiraga ega. Bundan tashqari, ushbu xotira uchun hech qanday talablar yo'q, u qurilmada bo'lishi mumkin yoki umuman, asosiy RAMda belgilanishi mumkin (masalan, u o'rnatilgan video kartalar bilan amalga oshiriladi



  1. CUDA texnologiyasi?

CUDA - bu mening C algoritmlarim bilan soddalashtirilgan dasturlash texnologiyasi boʻlib, u sakkizinchi avlod va undan kattaroq GeForce protsessorlarining grafik protsessorlarida, shuningdek, NVIDIA kompaniyasining oʻxshash Quadro va Tesla kartalarida qoʻllaniladi. CUDA C dasturi matniga maxsus funksiyalarni kiritish imkonini beradi. Bu funksiyalar mening C dasturim tomonidan soddalashtirilgan tarzda yozilgan va grafik protsessorda yozilgan. CUDA SDK ning birinchi versiyasi 2007 yil 15 fevralda chiqarilgan. Kodimni CUDA SDK omboriga muvaffaqiyatli tarjima qilish uchun NVIDIA buyruq qatori C kompilyatori nvcc kiritilishi kerak. Open64 ochiq kodli kompilyatorga asoslangan kompilyator nvcc ijodi va yakuniy dasturlarni kompilyatsiya qilish jarayonida xost-kodi (bosh, kalit kodi) va qurilma-kodi (apparat kodi) (.cu kengaytmali fayllar) obyekt fayllariga, ilovalarga tarjima qilish uchun topshiriqlar. yoki har qanday dasturlash muhitidagi kutubxonalar, masalan, Microsoft Visual Studio.
Texnologiyaning imkoniyati


1.GPU-da dasturlarni parallel ravishda ishlab chiqish uchun standart C tili.


2.Fur'ê ning shved transformatsiyasi uchun raqamli tahlilning tayyor kutubxonalari va chiziqli algebra dasturlarining asosiy to'plami.


3.GPU va CPU o'rtasida ma'lumotlarni hisoblash va uzatish uchun maxsus CUDA drayveri.


4.CUDA drayverini intermodal qilish imkoniyati grafik haydovchilar OpenGL va DirectX.


5.Linux 32/64-bit, Windows XP 32/64-bit va MacOS operatsion tizimlarini qo'llab-quvvatlash.



  1. MPI texnologiyasining arxetektura va algoritmlarini tushuntirib bering?



Taqsimlangan xotira parallel kompyuterlardagi keng tarqalgan dasturlashtexnologiyasi MPI texnologiyasi xisoblanadi. Bunday sistemalardagi paralleljarayonlarning o’zaro muloqat usuli bir-biri bilan xabarlar almashishdan iborat. Buusul texnologiyasi nomi - Message Passing Interface (xabarlar almashishinterfeysi) deb aks ettirilgan. MPI standartida sistema amal qilishi va dasturyaratishda foydalanuvchilar amal qilishi kerak bo’lgan qoidalar mavjud. MPIFortran va Si bilan ishlashni qo’llab-quvvatlaydi. Interfeysning to’liq versiyasida125 tadan ko’proq protsedura va funktsiyalar mavjud. MPI MIMD(MultipleInstruction Multiple Data) stilidagi parallel dasturlarni qo’llab quvvatlaydi. Undaturli matnlar bilan berilgan jarayonlar birlashtiriladi. Biroq bunday dasturlarnituzish va otladka etish murakkab. Shuning uchun amalda dasturchilar SPMD(SINGLE PROGRAM MULTIPLE DATA) parallel dasturlash modelidanfoydalanishadi. Unda parallel jarayonlar uchun bitta dastur
kodi qo’llaniladi.



  1. MPI va OpenMP texnologiyasning o’zaro bog’liqligi va farqini tushuintrib bering?

OpenMP - umumiy xotira qurilmalarida dasturlash usuli. Bu shuni anglatadiki, parallelizm har bir parallel ip sizning barcha ma'lumotlaringizga kirish huquqiga ega bo'lgan joyda sodir bo'ladi.


Siz buni shunday deb o'ylashingiz mumkin: parallelizm ma'lum bir fortsiklni bajarish paytida tsiklni turli iplar orasida bo'lish orqali sodir bo'lishi mumkin.


MPI taqsimlangan xotira qurilmalarida dasturlash usulidir. Bu shuni anglatadiki, parallelizm har bir parallel jarayon o'z xotira maydonida boshqalardan ajratilgan holda ishlayotganida sodir bo'ladi.


Siz buni shunday tasavvur qilishingiz mumkin: siz yozgan har bir kod biti har bir jarayon tomonidan mustaqil ravishda amalga oshiriladi. Parallellik har bir jarayonga global muammoning qaysi qismi ustida ishlash kerakligini toʻliq jarayon identifikatori asosida aytib berganingiz uchun yuzaga keladi.


  1. Download 138,97 Kb.

    Do'stlaringiz bilan baham:
  1   2




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish