• Parallel hisoblashga asoslangan kompyuterlar
  • Parallel hisoblashga asoslangan kompyuterlar




    Download 86,15 Kb.
    bet8/12
    Sana11.02.2024
    Hajmi86,15 Kb.
    #154564
    1   ...   4   5   6   7   8   9   10   11   12
    Bog'liq
    Turli soxalar uchun mo‘ljallangan super kompyuterlar va kompyute-fayllar.org

    Parallel hisoblashga asoslangan kompyuterlar
    Parallel kompyuterlar, taxminan, apparatning paralellikni qo'llab-quvvatlash darajasiga qarab tasniflanishi mumkin, ko'p yadroli va ko'p protsessorli kompyuterlar bitta mashina ichida bir nechta ishlov berish elementlariga ega, klasterlar, MPP va tarmoqlar bir xil kompyuterda ishlash uchun bir nechta kompyuterlardan foydalanadi. Ixtisoslashgan parallel kompyuter arxitekturalari ba'zida an'anaviy vazifalarni tezlashtirish uchun an'anaviy protsessorlar bilan birga qo'llaniladi.
    Parallel hisoblashga asoslangan kompyuterlar
    Parallel kompyuterlar, taxminan, apparatning paralellikni qo'llab-quvvatlash darajasiga qarab tasniflanishi mumkin, ko'p yadroli va ko'p protsessorli kompyuterlar bitta mashina ichida bir nechta ishlov berish elementlariga ega, klasterlar, MPP va tarmoqlar bir xil kompyuterda ishlash uchun bir nechta kompyuterlardan foydalanadi. Ixtisoslashgan parallel kompyuter arxitekturalari ba'zida an'anaviy vazifalarni tezlashtirish uchun an'anaviy protsessorlar bilan birga qo'llaniladi.

    20

    Hisoblashlarni konveyrli tashkillashtirish.

    arkaziy protsessor ma'lumotlarni qayta ishlashning asosiy operatsiyalarini amalga oshiradigan hisoblash tizimini yaratishda asosiy element hisoblanadi. Umumiy holda, har qanday mashina ko'rsatmalariga ishlov berish jarayonida amalga oshiriladigan barcha harakatlar odatda sikl deb ataladi. Mashina buyruqlarini qayta ishlash sikli quyidagi bosqichlarni o'z ichiga oladi:


    • Operativ xotiradan buyruqlarni ajratib olish (IR);
    • Amalga oshiriladigan operandalar soni, registrda va / yoki operativ xotirada joylashgan joyi va manzillari aniqlanadigan buyruqni dekodlash, shuningdek ular qaysi operatsiyani bajarish kerakligini (DC) aniqlaydi.
    • oldingi bosqichda yaratilgan ma'muriy manzillarda (ID) operativ xotirasidan ma'lumotlarni chiqarib olish;
    Operandlarda arifmetik-mantiqiy o'zgarishlarni amalga oshirish bilan bog'liq ma'lumotlarni qayta ishlash (OD);
    Natijalarni protsessorning registr xotirasida yoki tasodifiy kirish xotirasida (SR) yozish;
    • Mashina yo'riqnomalarini (PR) qayta ishlashda alohida holatlar yuzaga kelganda reaktsiya mexanizmini amalga oshiradigan uzilishni qayta ishlash
    Mashina buyruqlarini qayta ishlash tsikli (COMC) har bir qadam ichidagi harakatlar ketma-ket bajarilishi sifatida amalga oshirilishi mumkin. Bunday holda, oldingi buyruq bajarilgunga qadar keyingi mashina buyrug'ini qayta ishlashni boshlash mumkin emas. Protsessorning ishlashini doimiy ishlash printsipi bilan ishlov berish mashinasining ishlashini faqat soat chastotasini ko'paytirish orqali oshirish mumkin. Shu bilan birga, protsessor ishlaydigan chastotaning ko'payishi, kontaktlarning zanglashiga olib keladigan mantiqiy elementlari va ichki ulanish liniyalari orqali o'tishda signallarning tarqalishidagi kechikishlar tufayli yuzaga keladigan cheklovlarga ega. Shuning uchun protsessor chastotasini cheksiz ravishda oshirish mumkin emas.
    Protsessor elementining ish faoliyatini oshirishning alternativ usuli - bu mashina ko'rsatmalariga parallel ishlov berishdan foydalanish. Ushbu yo'nalish doirasida konveyer va super-konveyerli ishlov berish, hisob-kitoblarni superskalalar va vektorli tashkil etish tamoyillari joriy etilmoqda va amalda faol qo'llanilmoqda.

    21

    Parallel kompyuterlar: umumiy va ajratilgan xotirali multiprotsessorlar va multikompyuterlar.

    Parallel kompyuterlar, bir vaqtda bir nechta bajaruvchilarning ishlashini ta'minlayan kompyuter tizimlardir. Ular, bajaruvchilar orasidagi ishni taqsimlash, ma'lumot almashish va ko'chirish jarayonlarini paralel ravishda bajarish imkonini beradi. Parallel kompyuterlar ikki turdagi arxitekturaga ega bo'lishi mumkin: umumiy xotirali multiprotsessorlar va ajratilgan xotirali multikompyuterlar.


    Umumiy xotirali multiprotsessorlar (Shared Memory Multiprocessors): Bu arxitekturada, bir xotira tizimi bir nechta bajaruvchilar (processorlar) orasida ulanadi. Bajaruvchilar o'zaro aloqalar orqali bu xotiraga murojaat qilishadi va ma'lumotlarni almashishadi. Har bir bajaruvchiga bir vaqtning o'zida o'ziga xos buyruqlar berilishi mumkin, ammo ularga o'rtasidagi xotiraga ham murojaat qilishlari mumkin. Bunday arxitekturada xotiraning tartibi va sinxronizatsiyasi muhimdir. Umumiy xotirali multiprotsessorlar, quyidagi turlarda ishlatiladi: SMP (Symmetric Multiprocessors), NUMA (Non-Uniform Memory Access), MPP (Massively Parallel Processors) va boshqalar.

    Ajratilgan xotirali multikompyuterlar (Distributed Memory Multicomputers): Bu arxitekturada bir nechta ajratilgan bajaruvchilar (processorlar) mavjud, va har bir bajaruvchida o'zining o'ziga xos xotira mavjud. Bajaruvchilar o'zlarining xotiralari bilan ishlaydilar va ma'lumot almashish uchun aloqalar orqali o'zaro aloqalar o'rnatishadi. Bu arxitektura, ma'lumot almashish va sinxronizatsiya uchun kommunikatsiya tarmoqlarini (network) qo'llaydi. Bunday arxitekturada har bir bajaruvchiga alohida buyruqlar berish mumkin. Ajratilgan xotirali multikompyuterlar, katta miqdordagi ma'lumotlarni parallel ravishda ishlash, texnologik hisobotlar va superkompyuterlarda foydalaniladi.

    Umumiy xotirali multiprotsessorlar va ajratilgan xotirali multikompyuterlar har birining o'ziga xos afzalliklarga ega. Umumiy xotirali multiprotsessorlar o'zaro aloqalar orqali bajaruvchilar orasidagi ma'lumot almashishni soddalashtiradi, ammo xotira tartibi va sinxronizatsiyasi muhimdir. Ajratilgan xotirali multikompyuterlar esa bajaruvchilar o'rtasidagi ma'lumot almashishni yengillashtiradi, ammo kommunikatsiya tarmog'i yoki tarmoqlar orqali ma'lumot almashish uchun keng imkoniyatlar beradi. Arxitektura tanlash, bajaruvchilar to'plamining xususiyatlariga va dasturlash vazifalariga bog'liqdir.


    22

    Parallelik darajasini baholash, Amdal qonuni.

    PARALLEL MODEL


    Unumdorlikni oshirish imkonyatining mavjudligi
    Maxsus dasturlash tillaridan foylanilishi  Katta mexnat talab qilishi
    Kompilyatsiya qilishdagi qiyinchiliklar
    AMDAL QONUNI

    23

    Parallel kompyuterlarning dasturiy ta’minoti.



    Parallel kompyuterlarning dasturiy ta'minoti, parallel ishlashga moslashtirilgan dasturlash tili, algoritmalarning va kutubxonalarning mavjudligini o'z ichiga oladi. Bu ta'minotlar, bajaruvchilar (processorlar) va ularga bog'liq xotira tizimlarini samarali vaqtni taqsimlash va ma'lumot almashish uchun ishlatish imkonini beradi. Dasturiy ta'minotlarning asosiy komponentlari quyidagilar bo'lishi mumkin:
    Parallel Dasturlash Tillari: Parallel kompyuterlarda foydalaniladigan dasturlash tillari, bajaruvchilar o'rtasidagi parallel ishlashni yengil qilishga imkon beradi. Misol uchun, MPI (Message Passing Interface), OpenMP, CUDA (Compute Unified Device Architecture) va MPI (Message Passing Interface) kabi tillar parallel dasturlash uchun ishlatiladi. Paralel Algoritmalarni Yaratish: Paralel kompyuterlarda ishlatiladigan algoritmalarni yaratish, parallel ishlashga moslashtirilgan algoritmalarni tuzishni o'z ichiga oladi. Bu algoritmalar, bajaruvchilar orasidagi ma'lumot almashishni, sinxronizatsiyani, distributsiyani va boshqa parallel ishlashning muhim tushunchalarini hisobga oladi. Ma'lumot Almashish va Sinxronizatsiya: Paralel kompyuterlarda ma'lumot almashish va sinxronizatsiya amaliyotlari juda muhimdir. Ma'lumot almashish uchun xotira tizimlaridan samarali foydalanish, ma'lumot almashish protokollari, aloqa protokollari va ko'plab ma'lumot almashish mekanizmalari ishlatiladi. Sinxronizatsiya esa bajaruvchilar orasidagi ish tartibini, ma'lumot almashishni va ma'lumotlarni bir xotiradan boshqasiga o'tkazishni ta'minlayadi. Kutubxonalarning Parallel Qo'llanilishi: Paralel kompyuterlarda qo'llaniladigan kutubxonalarning parallel ishlashni qo'llab-quvvatlashadi. Bu kutubxonalarga parallel hisoblash, ma'lumot tahlili, grafik ishlash va boshqa parallel algoritmalarni yaratishga moslashtirilgan funksiyalar va yordam beriladi. Yoki-kattalikli Parallel Dasturlar: Parallel kompyuterlarda yoki-kattalikli parallel dasturlar yaratish va ishlatish imkonini beradi. Bu dasturlar, buyruqlar va ma'lumotlarni bir nechta bajaruvchilarga parallel ravishda taqsimlashni ta'minlayadi va bajaruvchilar orasidagi ish tartibini boshqarish imkonini beradi.


    • Parallel kompyuterlarda dasturiy ta'minotlar, parallel ishlashni yengil qilish va intensiv hisoblash amaliyotlarini samarali bajarish uchun juda muhimdir. Ushbu ta'minotlar, bajaruvchilar orasidagi ma'lumot almashishni optimallashtirish, ish tartibini boshqarish va bajaruvchilar o'rtasidagi xotira almashishini samarali qilishga yordam beradi.

    24

    Buyruqlar darajasida parallelikni ta’minlash usullari.

    Buyruqlar darajasidagi parallellik (Instruction-level parallelism — ILP) - bu kompyuter dasturida bir vaqtning o'zida qancha operatsiyani bajarish mumkinligini o'lchaydigan o'lchovdir. Buyruqning bajarilishining potentsial ustma-ust tushishi "buyruq sathidagi parallellik" deb nomlanadi.


    25

    Parallelashtirish tizimlarning arxitekturasi, MIMD arxitekturasi.

    Parallelashtirish tizimlari, kompyuter arxitekturasidagi tizimlardan biri bo'lib, bir nechta bajaruvchilarni (processor) va ularga bog'liq ma'lumot almashish tizimlarini o'z ichiga oladi. Ularning asosiy maqsadi bir vaqtning o'zida bir nechta buyruqni bajarish va ishlarni parallel ravishda yuritishdir.


    MIMD (Multiple Instruction, Multiple Data) arxitekturasi, parallelashtirish tizimlari uchun o'zgarmoqda bo'lgan bir usuldur. Bu arxitekturada har bir bajaruvchi (processor) o'zining o'ziga xos buyruqlar bilan bajarilishi mumkin va har bir bajaruvchi o'zining o'zida alohida ma'lumotlarga ega bo'lishi mumkin.

    MIMD arxitekturasi quyidagi xususiyatlarga ega bo'ladi:

    Bajaruvchilar soni: MIMD tizimida bir nechta bajaruvchilar (processor) bo'ladi. Ular o'z o'ziga xos buyruqlar bilan bajarish imkoniyatiga ega bo'lib, bir vaqtning o'zida alohida ishlarni bajarishlari mumkin.

    Buyruqlar to'plami: Har bir bajaruvchiga o'ziga xos buyruqlar beriladi. Bu buyruqlar bajaruvchilar o'rtasidagi ma'lumot almashish orqali ko'rsatiladi.

    O'zaro aloqalar: Bajaruvchilar o'zaro aloqalar orqali ma'lumot almashishlari mumkin. Bu aloqalar uzatma tarmoqlari (bus), uzatma tomonlar yoki tarmoq protokollari orqali amalga oshiriladi.

    Ma'lumot almashish: MIMD arxitekturasidagi bajaruvchilar o'zlariga xos ma'lumotlarga ega bo'lishadi. Ularning alohida ma'lumotlarga o'zgaruvchanliklari va bunday ma'lumotlarga o'xshash ishlash imkoniyati mavjud.

    MIMD arxitekturasi muhim ish jarayonlari uchun foydalaniladi, masalan:

    Paralel hisoblash: MIMD tizimida bir nechta bajaruvchilar bir vaqtning o'zida bir nechta hisoblash operatsiyalarini bajarishi mumkin. Bu intensiv hisoblash uchun katta miqdordagi ma'lumotni parallel ravishda ishlashda foydali bo'ladi.

    Taqsimlangan vazifalar: MIMD arxitekturasi, taqsimlangan vazifalarni parallel ravishda bajarishga imkon beradi. Har bir bajaruvchi o'zining vazifasini bajarib, umumiy natijani olish uchun ma'lumot almashish orqali o'zaro aloqalar bilan hamkorlik qiladi.

    Texnologik so'nggi bosqichlar: MIMD arxitekturasi, texnologik so'nggi bosqichlar uchun yaxshi bir asos bo'lib xizmat qiladi. Bu arxitektura, intensiv grafik ishlash, ma'lumot analizlari, mukammal ishlash uchun muhokamalarni parallel ravishda bajarish uchun keng foydalaniladi.

    MIMD arxitekturasi, bajaruvchilar o'rtasidagi ma'lumot almashish, sinxronizatsiya va o'zaro aloqalar kabi muammolar uchun chindan ham kuchli tizimlarni talab qiladi. Bu arxitektura, ko'p nufuzli ma'lumot ishlab chiqarish uchun paralel hisoblashda ham mavjud bo'lib, keng doirasida qo'llaniladi.


    26

    Apparat darajasida parallelikni ta’minlash usullari.

    Apparat darajasida parallelikni ta'minlash usullari quyidagilardir:


    Multiprocessor Sistemalar: Bu usulda bir nechta protsessor bir xotiraga bog'liq bo'lib, bir vaqtning o'zida bir nechta buyruqlarni bajarishi mumkin. Bu protsessorlar o'zaro kommunikatsiya orqali ma'lumotlarni almashishadi va asosan bir xotira va periferiya qurilmalarni o'zaro almashishga ihtisoslashgan bo'lishi mumkin.

    Multicore Protsessorlar: Bu usulda bir prossesor o'zida bir nechta o'zaro ishlash o'zgaruvchilari (core)ga ega bo'ladi. Har bir core o'zining o'ziga xos bajarish va ma'lumotlar xotirasi bilan ta'minlanadi. Bu usulda har bir core bir vaqtning o'zida bir nechta buyruqni bajarishi mumkin.

    Vektorli Protsessorlar: Bu usulda protsessorlar vektor (massiv) ma'lumotlar bilan ishlashga ihtisoslashgan bo'lib, bir vaqtning o'zida bir nechta ma'lumotlar operatsiyalarini bajarishi mumkin. Vektorli protsessorlar, intensiv hisoblash va grafik hisoblashdagi ko'p elementli ma'lumotlar uchun foydalaniladi.

    Grafiik Ilovachilar (GPU): GPU'lar intensiv grafik ishlash va ko'p elementli hisoblash uchun mo'ljallanganlar. Ularning arxitekturasi parallel ishlashga ihtisoslashgan bo'lib, bir nechta yoritish ishlarni bir vaqtning o'zida bajarishi mumkin.

    Paralel Tizimlar (FPGA va ASIC): FPGA (Field-Programmable Gate Array) va ASIC (Application-Specific Integrated Circuit) tizimlari, xususiy maqsadlar uchun paralel ishlashga ihtisoslashganlar. Ular ma'lumotlar uchun maxsus lojikalar va ma'lumotlar yo'laklarini o'zida o'zgartirishga imkon beradigan programmabellik bilan ajratilganlar.

    Bu usullar, protsessorlar, tizimlar va maqsadga qarab ta'riflanadi va foydalaniladigan maqsadlarga bog'liq ravishda tanlanadi. Ularning har biri bir nechta buyruqlarni bir vaqtning o'zida bajarish va ish rejimida parallel ishlashni ta'minlayadi. Bunda ma'lumot almashish, sinxronizatsiya va kommunikatsiya mekanizmalari muhim ahamiyatga ega bo'ladi.




    27

    Protsessorlarda qo‘llaniladigan zamonaviy parallelashtirish texnologiyalari.

    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 ishlashi, 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 qanday ishlaydi
    Odatda kompyuter olimi murakkab vazifani dasturiy vosita yordamida bir nechta qismlarga ajratadi va har bir qismni protsessorga tayinlaydi, keyin har bir protsessor o'z qismini hal qiladi va ma'lumotlar yechimni o'qish yoki vazifani bajarish uchun dasturiy vosita tomonidan qayta yig'iladi.
    Odatda har bir protsessor normal ishlaydi va ko'rsatmalarga muvofiq parallel ravishda operatsiyalarni bajaradi va kompyuter xotirasidan ma'lumotlarni oladi. Protsessorlar, shuningdek, bir-biri bilan aloqa qilish uchun dasturiy ta'minotga tayanadi, shuning uchun ular ma'lumotlar qiymatlari o'zgarishi bilan sinxronlasha oladi. Agar barcha protsessorlar bir-biri bilan sinxronlashtirilsa, vazifa oxirida dasturiy ta'minot barcha ma'lumotlar qismlarini bir-biriga moslashtiradi.
    Bir nechta protsessorga ega bo'lmagan kompyuterlar, agar ular klaster hosil qilish uchun tarmoqqa ulangan bo'lsa, parallel ishlov berishda ham foydalanish mumkin.
    Seriya va parallel ishlov berish o'rtasidagi farq
    Parallel ishlov berish ikki yoki undan ortiq protsessorlar yordamida bir nechta vazifalarni bajarishi mumkin bo'lgan hollarda, ketma-ket ishlov berish (shuningdek, ketma-ket ishlov berish deb ataladi) bitta protsessor yordamida bir vaqtning o'zida faqat bitta vazifani bajaradi. Agar kompyuter bir nechta tayinlangan vazifalarni bajarishi kerak bo'lsa, u bir vaqtning o'zida bitta vazifani bajaradi. Xuddi shunday, agar ketma-ket ishlov berishdan foydalanadigan kompyuter murakkab vazifani bajarishi kerak bo'lsa, u holda parallel protsessorga qaraganda ko'proq vaqt talab etiladi.

    28



    CISC, RISC va VLIW arxitekturalari.


    CISC arxitekturasining asosiy g'oyasi uning nomi - "buyruqlarning to'liq to'plami" da aks etadi. Ushbu arxitektura har bir mumkin bo'lgan (odatiy) ma'lumotlarni qayta ishlash harakati uchun alohida mashina ko'rsatmasiga ega bo'lishga intiladi.

    Tarixiy jihatdan CISC me'morchiligi birinchilardan biri bo'lgan. Protsessorlarning takomillashtirilishi imkon qadar ko'proq turli xil ko'rsatmalarni bajarishga qodir VMlarni yaratish yo'lidan bordi. Bu assambleya tilida dasturlar yozgan dasturchilarning ishini soddalashtirdi (ya'ni deyarli mashina ko'rsatmalari darajasida). Murakkab buyruqlardan foydalanish dastur hajmini va ishlab chiqish vaqtini qisqartirishga imkon berdi. Natijada, CISC protsessorlarini tashkil etishning quyidagi xususiyatlari rivojlandi: har biri markaziy protsessorning bir necha tsikllarida bajariladigan turli xil mashina ko'rsatmalari (yuzlab); dasturlashtiriladigan mantiq bilan boshqarish moslamasi; oz sonli umumiy foydalanish registrlari (RON); turli uzunlikdagi turli xil buyruq formatlari; ikki manzilli adreslashning ustunligi; bilvosita adreslashning turli usullarini o'z ichiga olgan operandlarni adreslash mexanizmi ishlab chiqilgan.

    Ammo CISC yondashuvi ba'zi bir buyruqlarni faqat apparatda bajarilishini imkonsiz qildi (bunday vositalarning murakkabligi bilan). Natijada, protsessorlarda bloklar paydo bo'ldi, "tezda" eng murakkab ko'rsatmalarni oddiyroq ko'rsatmalar ketma-ketligi bilan almashtirdi. Bundan tashqari, amaliyot shuni ko'rsatdiki, dasturlarni yozishda ko'plab murakkab buyruqlar oddiygina talab qilinmagan. Va nihoyat, buyruqlarning juda murakkabligi va ularning ko'pligi tufayli VM boshqaruv moslamasi faqat dasturlashtiriladigan mantiq asosida, ya'ni "sekin" boshqaruv xotirasi yordamida tuzilishi kerak edi. Oxirgi holat protsessorning soat chastotasini oshirish imkoniyatlarini sezilarli darajada chekladi. Ushbu omillarning barchasi RISC arxitekturasi tomon burilishga olib keldi. Shu bilan birga, CISC me'morchiligining bir qator shubhasiz afzalliklari o'z dolzarbligini saqlab qoladi (birinchi navbatda, dasturiy ta'minot ishlab chiqaruvchilari nazarida). Shuning uchun etakchi VM ishlab chiqaruvchilari (Intel, AMD, IBM va boshqalar) o'zlarining so'nggi ishlanmalarida hali ham CISC yondashuvidan voz kechmaydilar.

    RISC

    RISC arxitekturasiga alohida e'tibor, aksariyat zamonaviy CISC protsessorlarida dekodlash bosqichidagi murakkab ko'rsatmalar oddiy RISC ko'rsatmalar to'plamiga qisqartirilganligi va protsessor yadrosi RISC protsessori sifatida amalga oshirilganligi bilan bog'liq.


    Download 86,15 Kb.
    1   ...   4   5   6   7   8   9   10   11   12




    Download 86,15 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Parallel hisoblashga asoslangan kompyuterlar

    Download 86,15 Kb.