Parallel dastur tushunchasi Ma’lumotlarni uzatish operatsiyalari



Yüklə 17,23 Kb.
səhifə2/2
tarix30.03.2023
ölçüsü17,23 Kb.
#91334
1   2
kompyuter arxitekturasi 3-amaliy ish

Parallel dastur tushunchasi..
MPI doirasida parallel dastur deganda bir vaqtning oʻzida bajariladigan jarayonlar toʻplami tushuniladi.Jarayonlar turli protsessorlarda bajarilishi mumkin, lekin bir protsessorda bir nechta jarayonlar ham joylashishi mumkin (bu holda ularning bajarilishi vaqtni taqsimlash rejimida amalga oshiriladi). Ba’zi hollarda, parallel dasturni bajarish uchun bitta protsessordan foydalanish mumkin -qoida tariqasida, bu usul dastlab parallel dasturning toʻgʻriligini tekshirish uchun ishlatiladi. Parallel dasturning har bir jarayoni bir xil dastur kodining nusxasi (SPMP modeli) asosida ishlab chiqariladi. Bajariladigan dastur koʻrinishida taqdim etilgan ushbu dastur kodi barcha ishlatiladigan protsessorlarda parallel dastur ishga tushirilganda mavjud boʻlishi kerak. Bajariladigan dastur uchun dastlabki dastur kodi MPI kutubxonasining u yoki bu ilovasidan foydalangan holda C tilida ishlab chiqilgan. Amaldagi jarayonlar soni va protsessorlar soni parallel dasturni ishga tushirish vaqtida MPI dasturlarining ishlash muhiti orqali aniqlanadi va hisoblash jarayonida oʻzgarmasdir (MPI-2 standarti jarayonlar sonini dinamik ravishda oʻzgartirish imkoniyatini nazarda tutadi). Dasturdagi barcha jarayonlar ketma-ket 0 dan p-1 gacha raqamlangan, bu yerda p -jarayonlarning umumiy soni. Jarayon raqami jarayon darajasi deb ataladi.

Ma’lumotlarni uzatish operatsiyalari.
MPI xabarlarni uzatish operatsiyalariga asoslanadi. MPI tuzilmasida taqdim etilgan funksiyalar orasida ikkita jarayon oʻrtasidagi juftlik (nuqtadan nuqtaga) operatsiyalar va bir nechta jarayonlarning bir vaqtning oʻzida oʻzaro ta’siri uchun kollektiv (jamoa) aloqa harakatlari mavjud. Juftlangan operatsiyalarni bajarish uchun turli xil uzatish rejimlaridan foydalanish mumkin, shu jumladan sinxronlash, blokirovkalash va boshqalar.Yuqorida ta’kidlab oʻtilganidek, MPI standarti asosiy jamoaviy ma’lumotlarni uzatish operatsiyalarining aksariyat qismini amalga oshirish zarurligini ta’minlaydi.
Kommunikatorlar tushunchasi.
Parallel dastur jarayonlari guruhlarga birlashtirilgan. MPIda kommunikator - bu ma’lumotlarni uzatish operatsiyalarini bajarishda foydalaniladigan jarayonlar guruhi va bir qator qoʻshimcha parametrlarni (kontekst) birlashtirgan maxsus yaratilgan xizmat koʻrsatish obyekti. Qoida tariqasida, bir xil kommunikatorga tegishli jarayonlar uchun juftlashtirilgan ma’lumotlarni uzatish operatsiyalari amalga oshiriladi. Kollektiv operatsiyalar barcha kommunikator jarayonlariga bir vaqtning oʻzida qoʻllaniladi. Natijada, MPIda ma’lumotlarni uzatish operatsiyalari uchun foydalaniladigan kommunikatorning koʻrsatilishi majburiydir. Hisoblash jarayonida yangi jarayonlar guruhlari va kommunikatorlar yaratilishi va mavjud texnologik guruhlar va kommunikatorlarni oʻchirish mumkin. Xuddi shu jarayon turli guruhlar va kommunikatorlarga tegishli boʻlishi mumkin. Parallel dasturda mavjud boʻlgan barcha jarayonlar sukut boʻyicha MPI_COMM_WORLD identifikatori bilan yaratilgan kommunikatorning bir qismidir.Agar turli guruhlardagi jarayonlar oʻrtasida ma’lumotlarni uzatish zarur boʻlsa, global kommunikator (interkommunikator) yaratish kerak.
OpenMP tuzilishi: • Direktivlar • Funksiyalar kutubxonasi • Bir qator o'zgaruvchilari. Ushbu tartibda OpenMP texnologiyasining imkoniyatlari ko'rib chiqiladi. Ushbu standart C90, C99, C ++, Fortran 77, Fortran 90 va Fortran 95 algoritmlari uchun OpenMP foydalanishni ta'minlaydi. OpenMP direktivasining formatini va barcha dasturlarning misollaridan C da taqdim etiladi; Fortran tili uchun OpenMP texnologiyasidan foydalanish xususiyatlari 5.8.1-bandda keltirilgan. Eng umumiy shaklida OpenMP direktivasining formati quyidagicha ifodalanishi mumkin:
#pragma omp [
[[,]
] ...] Direktivning boshlang'ich qismi (#pragma omp) sobit bo'ladi, direktivaning turi uning nomi (Direktiv_yeni) bilan belgilanadi, har bir direktiv o'zboshimchalik bilan parametrlar soni bilan birga bo'lishi mumkin (ingliz tilida, OpenMP direktivasining parametrlari atamalar jumlasidan foydalanadi).
Misol uchun, biz bir ko'rsatmaga misol keltiramiz:
#pragma omp parallel default (shared) \ Shaxsiy (beta, pi) Misol, ko'rsatmalarni o'rnatish uchun dasturning bir nechta yo'nalishidan foydalanish mumkinligini ko'rsatadi - davom etish mavjudligini belgisi "\" teskarisi. Birinchi parallel dastur misoli Juda muhim nuqta ta'kidlab o'taylik - shuni anglash mumkinki, OpenMP texnologiyasining imkoniyatlarini qisqacha ko'rib chiqish oddiy, ammo parallel dasturlarni ishlab chiqish uchun etarli. Yangi dasturlash tillarini - "Salom Dunyo"
degan salom yo'lini chiqadigan dasturni ishlab chiqishda dastlab amalda standart dastur ishlab chiqaylik. Shunday qilib:
#include main () { / * Parallel parchani tanlash * / #pragma omp parallel {printf ("Salom Dunyo! \ n"); } / * Parallel parchani * / }
Yüklə 17,23 Kb.

Dostları ilə paylaş:
1   2




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin