• I BOB. Parallel dasturlash asoslari Parallel Dasturlarning turlari
  • Kurs ishi Mavzu:“ ” Bajardi: guruh talabasi Tekshirdi: Andijon – 2024 Mundarija: Kirish I bob. Parallel dasturlash asoslari




    Download 209 Kb.
    bet2/10
    Sana24.03.2024
    Hajmi209 Kb.
    #176122
    1   2   3   4   5   6   7   8   9   10
    Bog'liq
    kurs ishi 111121
    Q9wCx76tdgghykUZk0nXPwzDtewz6TtknulQKcYR, slayd 34, matematika, Adabiyot 9, Abdujalilov.energiya tejash, Alifbo, hissiy-irodaviy soha, Umumiy pedagogika fanidan test savollari ##1-hozir.org, Shaxsiy kompyuter arxitekturasi va unga texnik xizmat ko’rsatish-fayllar.org, Soliqlar va soliqqa tortish, Iqtisod 599, Kirish. Qurilish materiallari va buyumlarining umumiy asoslari. -fayllar.org, Leksikologiya va semasiologiya, 35564, 1у-16 ШАХСИЙ варакаси
    Kurs ishining tuzilishi: Ushbu kurs ishi murakkab rejalikka asoslangan bo‘lib kirish, Kirish. Asosiy qism: ikki bob, to‘rt reja va xulosa qismdan iborat. Kursning umumiy tavsifi asosiy qismda yoritib berilgan. Ishning so‘nggida xulosalar bayon qilinib, adabiyotlar ro‘yxati ilova qilingan.
    I BOB. Parallel dasturlash asoslari

      1. Parallel Dasturlarning turlari

    Kompyuter fanining boshqa amaliy sohalari singari, parallel dasturlash ham bir necha bosqichlardan o'tdi. U texnik vositalarni ishlab chiqish bilan bog'liq yangi imkoniyatlardan kelib chiqdi va texnologik o'zgarishlarga muvofiq rivojlandi. Vaqt o'tishi bilan, maxsus texnikalar asosiy printsiplar va umumiy dasturlash texnikasi to'plamiga birlashtirildi.
    Parallel dasturlash 1960-yillarda operatsion tizimlar sohasida paydo bo'lgan. Buning sababi kanallar yoki qurilma boshqaruvchi (kontrolyor)lari deb nomlangan apparat modullarining ixtirosi edi.Ular asosiy protsessordan mustaqil ravishda ishlaydi va protsessorining ko'rsatmalariga parallel ravishda kiritish - chiqish operatsiyalarini bajarishga imkon beradi. Kanal protsessor bilan uzilish - apparat signalidan foydalangan holda aloqa qiladi va unga: "Ishingizni to'xtatib, boshqa ko'rsatmalar ketma-ketligini bajarishni boshlang." Kanallarni yaratilishi natijasida dasturlash muammosi (haqiqiy intellektual muammo) paydo bo'ldi endi dasturning qismlari oldindan aytib bo'lmaydigan tartibda bajarilishi mumkin edi. Shuning uchun, dasturning bir qismi o'zgarmaydigan qiymatini yangilab turganda, uzilish sodir bo'lishi mumkin, bu esa dasturning boshqa qismini bajarilishiga olib kelardi, u ham bu o'zgaruvchining qiymatini o'zgartirishga harakat qiladiParallel dasturni yozishda, qancha va qanday turdagi jarayonlardan foydalanish, ular qanday o'zaro ta'sir qilishi kerakligini yechish qilish kerak bo'ladi. Bu echimlar ham o'ziga xos dasturga, dastur ishlayotgan uskunaga ham bog'liq. Qanday bo'lmasin, to'g'ri dasturni yaratishda jarayonlarning o'zaro ta'sirini to'g'ri sinxronlashtirish asosiy kalitdir.Parallel dastur vazifani bajarish uchun birgalikda ishlaydigan bir nechta jarayonlarni o'z ichiga oladi. Har bir jarayon ketma-ket dastur bo'lib, aniqrog'i, ketma-ket bajariladigan operatorlar ketma-ketligi. Ketma-ket dasturda bitta nazorat tarmog'i mavjud, parallel dasturda esa bir nechta.
    Parallel dastur jarayonlarining birgalikdagi ishi ularning o'zaro aloqasi orqali amalga oshiriladi. O'zaro aloqa umumiy o'zgaruvchilar yoki xabarlarni uzatish yordamida dasturlashtiriladi. Agar umumiy o'zgaruvchilar ishlatilsa, unda bitta jarayon boshqa jarayon tomonidan o'qiladigan o'zgaruvchiga yozadi.Parallel algoritm bu turli xil hisoblash qurilmalarida bo'laklab bajarilishi va keyinchalik olingan natijalarni birlashtirib to'g'ri natijaga olish mumkin bo'lgan algoritm.
    Parallel dastur-xabarlarni uzatish orqali o'zaro ta'sir qiluvchi (o'z ishlarini sinxronlashtiradigan va ma'lumot almashish) ko'plab parallel jarayonlar.
    Parallel dastur deganda bir vaqtning o'zida bajariladigan jarayonlar majmui tushuniladi. Jarayonlar har xil protsessorlarda bajarilishi mumkin, yoki bir protsessorda bir nechta jarayonlar joylashishi mumkin (bu holda ularning bajarilishi vaqt taqsimlash rejimida amalga oshiriladi).Parallel dasturlash bir vaqtning o'zida bir nechta hisoblash tugunlarida kodni bajarilishi hisobiga resurslardan samarali
    foydalanadigan dasturlarni yaratish uchun ishlatiladi. Parallel dasturlash kodni yozish va tuzatish jihatdan ketma-ket dasturlashdan qiyinroq.
    Parallel hisoblash - bu kompyuter hisoblashini tashkil etish usuli bo'lib, bunda dasturlar parallel (bir vaqtning o'zida) ishlaydigan o'zaro ta'sirli hisoblash jarayonlari to'plami sifatida ishlab chiqiladi.Hozirgi parallel hisoblashlarning aksariyati parallel-ketma-ket dasturlar sifatida amalga oshiriladi. Bunday holda, mavjud ketma-ket algoritmda parallel ravishda bajarilishi mumkin bo'lgan mustaqil ketma-ket qismlar ajratiladi va buni inobatga olgan holda parallel-ketma-ket dastur yoziladi.
    Ko'pincha, mavjud ketma-ket dastur dastlab tanlanadi va ba'zi parallellik tuzilmalarini qo'shib, u parallel-ketma-ket dasturga aylanadi.Maxsus parallel tillar va mavjud tillarga kengaytmalar.
    Fortran:
    Fortran-DVM, Cray MPP Fortran, F--, Fortran 90/95, Fortran D95, Fortran M, Fx, HPF, Opus, Vienna Fortran,
    C/C++: C-DVM, A++/P++, CC++, Charm/Charm+ +, Cilk, HPC, HPC++, Maisie, Mentat, mpC, MPC++, Parsec, pC++, C++, uC++,
    Boshqa: НОРМА, АBCL, Adl, Ada, Concurrent Clean, MC#, Erlang, Linda, Modula-3, NESL, Occam, Orca, Parallaxis, Phantom, Sisal, SR, ZPL
    Deklarativ paradigmada ishlab chiquvchi muammoni va kutilgan natijani tasvirlaydi, lekin hech qanday ko'rsatma yozmaydi. Deklarativ dasturlashda imperativ paradigma uchun xos bo'lgan o'zgaruvchilar, holat va boshqa tushunchalar yo'q.Deklarativ paradigma funktsional va mantiqiy dasturlashni o'z ichiga oladi.
    Demak, deklarativ dasturlashda dasturchi unga nima kerakligini aytadi. Imperativ paradigmada natija qanday olish mumkinligi keltiriladi.
    Parallel dasturlash paradigmasi, bu shunday paradigmaki unda kompyuter bajaradigan shin parallel ravishda tashkil etish kerak.
    Parallel dasturlash paradigmalari, o'z navbatida, quyidagi asosiy turlarga bo'linadi:

    • iterativ(takroriy) parallellik;

    • rekursiv parallellik;

    • Mijozlar va serverlar;

    • "Ishlab chiqaruvchilar va iste'molchilar";

    • O'zaro aloqador teng.

    Iterativ(takroriy) parallellik - jarayonlar bitta muammoni hal qilishda tsiklik hisob -kitoblarni amalga oshiradi, (bir tsiklning takrorlanishi). Ko'pincha bir nechta protsessorlarda bajarilgan hisob-kitoblarda uchraydi.
    Rekursiv parallelizmni dasturda bir yoki bir nechta rekursiv protseduralar (funktsiyalar) mavjud bo'lganda va ularning ishlatish mustaqil bo'lgan vaziyatlarda, ya'ni ularning har biri o'ziga xos umumiy ma'lumotlar ustida ishlaganda qo’llanilishi mumkin.
    Rekursiv parallelizm saralash, rejalashtirish va o'yinlar (shaxmat va boshqalar) kabi kombinatorika muammolarni hal qilish uchun ishlatiladi.
    Mijozlar va serverlar - mahalliy tarmoqlardan butun dunyodagi Internetgacha bo'lgan o'zaro aloqaning eng keng tarqalgan modeli. Ushbu model ikki qismdan iborat: mijoz va server.
    Ko'pincha ular turli xil mashinalarda joylashgan va odatda bitta server ko'plab mijozlarga xizmat ko'rsatadi. Mijoz serverga so'rov yuboradi va javobni kutadi. Server mijozlarning so'rovlarini tinglaydi, keyin esa bu so'rovlarni bajaradi va mijozga javob qaytaradi. Ba'zida mijoz o'zi so'rovlarni qabul qilsa, server rolini "o'ynashi" mumkin. Xuddi shunday, agar server boshqa dasturlarga so'rovlar yuborsa bo'lsa, server xam mijoz vazifasini bajaradi.
    Ishlab chiqaruvchilar va iste'molchilar" parallel dasturlash paradigmasi
    Ishlab chiqaruvchilar va iste'molchilar o'zaro ta'sir etuvchi jarayonlar sifatida qaraladi. Ular odatda axborot oqimi o'tadigan konveyer sifatida tashkil etiladi.
    Konveyer tashkillashtirishga o'tishdan oldin, ishlab chiqaruvchi jarayoni iste'molchi jarayonida ishlatiladigan ma'lumotni ma’lum bir buferda hosil qiladi.
    O'zaro aloqador teng
    Bunday paradigmali ilovada ishlarning taqsimlanishi oldindan belgilanadi yoki ish vaqtida dinamik ravishda aniqlanadi. Ishni dinamik ravishda taqsimlashning eng keng tarqalgan usullaridan biri bu vazifalar portfelidir. Vazifalar portfeli odatda bir vaqtning o'zida faqat bitta jarayonga kira oladigan umumiy o'zgaruvchi yordamida amalga oshiriladi.
    Hisoblash vazifasi cheklangan sonli vazifalarga bo'linadi. Qoida tariqasida, har bir qo'shimcha vazifa har xil ma'lumotlar bo'yicha bir xil turdagi harakatlarni bajarishi kerak. Vazifalar raqamlangan va har bir raqamga tegishli ma'lumotlar to'plamining vazifa raqamini aniq ko'rsatadigan funksiya tayinlangan. Har bir oqim birinchi navbatda vazifalar portfeliga kiradi va joriy vazifa raqamini topadi, so'ngra uni qiymatini o’zgartiradi, so'ngra tegishli ma'lumotlarni oladi va vazifani bajaradi, so'ngra keyingi vazifa raqamini bilish uchun vazifalar portfeliga havola qilinadi.

    Download 209 Kb.
    1   2   3   4   5   6   7   8   9   10




    Download 209 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Kurs ishi Mavzu:“ ” Bajardi: guruh talabasi Tekshirdi: Andijon – 2024 Mundarija: Kirish I bob. Parallel dasturlash asoslari

    Download 209 Kb.