Parallel Kompyuterlar: Multiprotsessorlar
Va Multikompyuterlar
Titul varaqasi
Mustaqil ish mavzusi:
"Parallel kompyuterlar: umumiy va ajratilgan xotirali multiprotsessorlar va
multikompyuterlar"
Muallif: Ism Familiyasi
Kurs: Kompyuter arxitekturasi — 3-kurs
Fan nomi: Kompyuter arxitekturasi
O'qituvchi: O'qituvchi Ismi Familiyasi
Topshirilgan sana: 2024-yil, iyun
Mundarija
Kirish ................................................................... 1
Asosiy qism ............................................................... 2
•
•
•
•
•
2.1. Parallel kompyuterlar asoslari ....................... 2
2.2. Umumiy xotirali multiprotsessorlar ............. 3
2.3. Ajratilgan xotirali multiprotsessorlar ............ 4
2.4. Multikompyuterlar va ularning turlari .............. 5
2.5. Taqqoslash, afzallik va kamchiliklar ................. 6
Xulosa .................................................................... 7
Foydalanilgan adabiyotlar ................................... 8
Kirish
Zamonaviy hisoblash texnologiyalari va ilm-fanni rivojlantirish jarayonida kompyuterlarning
ishlash samaradorligini oshirish har doim muhim masala bo‘lib kelgan. Anʼanaviy ketma-ket
hisoblash usullari chegaralangan resurslar va hisoblash tezligi tufayli murakkab masalalarni
yechishda yetarli bo‘lmasligi mumkin. Shu bois, parallel kompyuterlar — bir nechta
protsessorlarning bir vaqtning o‘zida birgalikda ishlashini taʼminlovchi tizimlar —
yunaltirilgan hisoblash paradigmasi sifatida alohida ahamiyat kasb etadi.
Parallel kompyuterlarning asosiy maqsadi — hisoblash ishlarini bir nechta protsessorlar
o‘rtasida taqsimlab, umumiy hisoblash quvvatini sezilarli darajada oshirishdir. Bu
yondashuv katta hajmdagi maʼlumotlarni tezkor qayta ishlash, ilmiy tadqiqotlar, sunʼiy
intellekt, grafika va boshqa sohalarda samarali natijalarga erishish imkonini beradi.
Parallelizm tushunchasi kompyuter arxitekturasi va dasturlashda muhim o‘rin tutadi. U
umumiy xotirali multiprotsessorlar va ajratilgan xotirali multiprotsessorlar kabi turli tizim
arxitekturalarini yaratishda asosiy g‘oya sifatida qabul qilinadi. Shuningdek,
multikompyuterlar — o‘zaro mustaqil boshqaruvli va alohida xotiraga ega protsessorlarning
kompleksini ifodalaydi.
Ushbu referatda parallel kompyuterlarning turli turlari, ularning ishlash prinsiplari, afzallik va
kamchiliklari batafsil tahlil qilinadi. Bu ko‘rsatkichlar zamonaviy hisoblash tizimlari uchun
optimal arxitektura tanlashda muhim ahamiyatga ega.
Quyida keltiriladigan bo‘limlarda parallel kompyuterlarning tuzilishi, ular bilan bog‘liq asosiy
tushunchalar va zamonaviy texnologiyalarning qo‘llanilish imkoniyatlari keng yoritiladi.
Asosiy qism
2.1. Parallel kompyuterlar asoslari
Zamonaviy hisoblash ehtiyojlari tobora murakkablashib borayotgan bir paytda, anʼanaviy
ketma-ket (sequential) hisoblash chegaralariga yetib kelindi. Parallel kompyuterlar — bu
muammoni yechishning asosiy yo‘nalishlaridan biri bo‘lib, ular bir nechta hisoblash
bloklarini (protsessorlar, yadrolar, kompyuterlar) bir vaqtning o‘zida birgalikda ishlashga
yo‘naltirish orqali hisoblash samaradorligini oshirishni maqsad qiladi. Parallelizm — bu biror
vazifani yoki muammoni bir nechta kichikroq qismlarga ajratib, ularni bir vaqtning o‘zida
mustaqil yoki o‘zaro bog‘liq holda bajarish jarayonidir.
Parallelizmning asosiy turlari mavjud:
•
•
Maʼlumot parallelizmi (Data Parallelism): Bunda bir xil amal turli xil maʼlumotlar
to‘plami ustida bir vaqtning o‘zida bajariladi. Ko‘pincha massiv (array) yoki
matritsalarga ishlov berishda qo‘llaniladi. Misol uchun, katta massivning har bir
elementiga bir xil funksiyani qo‘llash.
Vazifa parallelizmi (Task Parallelism): Bunda butun muammo bir nechta mustaqil
yoki o‘zaro bog‘liq vazifalarga ajratiladi va har bir vazifa alohida hisoblash blokida
bajariladi. Vazifalar turli xil operatsiyalarni bajarishi mumkin. Misol uchun, bir
dasturning turli modullarini bir vaqtning o‘zida ishga tushirish.
Parallel kompyuterlarning ishlash prinsipi maʼlum bir vazifani samarali bajarish uchun
mavjud hisoblash resurslarini maksimal darajada ishlatishga asoslanadi. Bu resurslar bitta
chipdagi ko‘p yadroli protsessorlar, bir nechta protsessorli tizimlar yoki tarmoqqa ulangan
alohida kompyuterlar klasteri bo‘lishi mumkin. Parallel tizimlarda samaradorlikni o‘lchash
uchun ko‘pincha tezlanish (speedup) koeffitsiyentidan foydalaniladi, bu bir vazifani parallel
tizimda bajarish vaqti bilan uni bitta protsessorda bajarish vaqti nisbatini ko‘rsatadi.
\begin{math} S = T_s / T_p \end{math}, bu yerda \begin{math} T_s \end{math} - ketma-ket
bajarish vaqti, \begin{math} T_p \end{math} - parallel bajarish vaqti.
Parallel kompyuterlar arxitekturasi Flinn taksonomiyasi bo‘yicha tasniflanishi mumkin. Bu
taksonomiyaga ko‘ra, kompyuterlar ko‘rsatmalar oqimi (Instruction Stream) va maʼlumotlar
oqimi (Data Stream) soniga qarab to‘rt turga bo‘linadi: SISD, SIMD, MISD va MIMD.
Parallel kompyuterlar asosan MIMD (Multiple Instruction, Multiple Data) turiga kiradi, bu
yerda bir nechta protsessorlar bir vaqtning o‘zida turli ko‘rsatmalar asosida turli maʼlumotlar
ustida ishlaydi. Umumiy va ajratilgan xotirali multiprotsessorlar hamda multikompyuterlar
MIMD arxitekturasining turli ko‘rinishlaridir.
[Diagramma 1: Umumiy parallel kompyuter yoki multiprotsessor arxitekturasi]
1-rasm. Umumiy multiprotsessor tizimining soddalashtirilgan tuzilmasi.
2.2. Umumiy xotirali multiprotsessorlar
Umumiy xotirali multiprotsessorlar (Shared-Memory Multiprocessors) arxitekturasi ko‘plab
protsessorlarning yagona global xotira maydoniga birgalikda kirish imkoniyatiga ega
bo‘lishiga asoslanadi. Bu tizimlarda barcha protsessorlar bir xil xotira manzillari orqali
maʼlumotlarni o‘qishi va yozishi mumkin. Bu yondashuv dasturlashni birmuncha
osonlashtiradi, chunki protsessorlar o‘rtasida maʼlumot almashish uchun alohida
kommunikatsiya mexanizmlarini qo‘llash shart emas; ular shunchaki umumiy xotiraga
murojaat qilishadi.
Bunday arxitekturaning eng keng tarqalgan turi Simmetrik Multiprotsessorlik (Symmetric
Multiprocessing - SMP) tizimidir. SMP tizimlarida bir nechta bir xil protsessorlar bitta
umumiy magistral (bus) orqali yoki murakkabroq o‘zaro bog‘lanish tarmog‘i orqali xotiraga
ulanadi. Operatsion tizim barcha protsessorlar uchun yagona hisoblanadi va ish yukini
(workload) ular o‘rtasida taqsimlaydi.
Umumiy xotira boshqaruvi murakkab masalalarni keltirib chiqarishi mumkin, ayniqsa kesh
(cache) xotiralaridan foydalanilganda. Har bir protsessor o‘zining lokal kesh xotirasiga ega
bo‘lishi mumkin va bir xil maʼlumotning turli keshlarida yoki umumiy xotirada bir vaqtning
o‘zida turli qiymatlari saqlanishi mumkin. Bu kesh konsistentligi (cache coherence)
muammosiga olib keladi. Ushbu muammoni hal qilish uchun maxsus apparat taʼminoti
mexanizmlari (masalan, snooping protokollari yoki katalogga asoslangan (directory-based)
protokollar) qo‘llaniladi. Snooping protokollari magistral faoliyatini kuzatishga asoslangan
bo‘lsa, katalogga asoslangan protokollar maʼlumot blokining qaysi kesh xotiralarida
mavjudligi haqida maʼlumotni markazlashtirilgan yoki tarqoq katalogda saqlaydi.
Umumiy xotirali tizimlarda xotiraga kirish kechikishlari (latency) va magistralning o‘tkazish
qobiliyati (bandwidth) muhim cheklovlar bo‘lishi mumkin. Protsessorlar soni ortishi bilan
umumiy magistralda "tiqilinch" (contention) yuzaga kelishi va xotiraga kirish vaqti oshishi
mumkin. Shu sababli, umumiy xotirali tizimlar odatda o‘nlab yoki yuzlab protsessorlargacha
samarali masshtablanadi, undan yuqorisi uchun boshqa arxitekturalar afzal ko‘riladi. NonUniform Memory Access (NUMA) arxitekturasi umumiy xotirali tizimlarning
masshtablanishini yaxshilashga qaratilgan bo‘lib, unda har bir protsessor guruhining o‘ziga
yaqinroq bo‘lgan "mahalliy" xotirasi mavjud, ammo boshqa guruhlarning xotirasiga ham
kirish mumkin (faqat uzoqroq va qimmatroq kechikish bilan).
2.3. Ajratilgan xotirali multiprotsessorlar
Ajratilgan xotirali multiprotsessorlar (Distributed-Memory Multiprocessors) arxitekturasi har
bir protsessorning o‘ziga tegishli, faqat o‘ziga kirish imkoniyati mavjud bo‘lgan lokal
xotiraga ega bo‘lishini nazarda tutadi. Umumiy xotirali tizimlardan farqli o‘laroq, bu
tizimlarda yagona global xotira manzili maydoni mavjud emas. Protsessorlar o‘zaro
maʼlumot almashish yoki vazifalar o‘rtasida koordinatsiyani taʼminlash uchun tarmoq orqali
aniq va explicit xabar almashish (message passing) mexanizmlaridan foydalanishlari shart.
Bunday tizimlarning arxitekturasi bir nechta mustaqil hisoblash tugunlaridan iborat bo‘lib,
har bir tugun kamida bitta protsessor, lokal xotira va tarmoq interfeysidan tashkil topgan.
Tugunlar o‘zaro yuqori tezlikdagi o‘zaro bog‘lanish tarmog‘i (interconnect network) orqali
ulanadi. Bu tarmoqning topologiyasi tizimning umumiy ishlashiga katta taʼsir ko‘rsatadi.
Turli topologiyalar (masalan, mesh, torus, hypercube, fattree) maʼlumot uzatish tezligi va
kechikishlariga turlicha taʼsir qiladi.
Ajratilgan xotirali tizimlarda dasturlash umumiy xotirali tizimlarga nisbatan murakkabroq
bo‘lishi mumkin, chunki dasturchi maʼlumotlarni tugunlar o‘rtasida qanday taqsimlashni va
qachon, qaysi maʼlumotlarni boshqa tugunlarga yuborishni aniq belgilab berishi kerak.
Maʼlumot almashish uchun Message Passing Interface (MPI) kabi standart
kutubxonalardan keng foydalaniladi. MPI funksiyalari yordamida bir protsessordan
boshqasiga xabarlar yuboriladi va qabul qilinadi.
Ajratilgan xotirali tizimlarning asosiy afzalligi ularning yuqori masshtablanishidir (scalability).
Protsessorlar sonini minglab, hatto o‘n minglab qilib oshirish mumkin, chunki xotira
magistralining tor joyi (bottleneck) yo‘q. Har bir protsessor o‘z lokal xotirasiga tez kirish
imkoniyatiga ega. Kamchiligi esa maʼlumot almashishning nisbatan yuqori kechikishlari
(network latency) va dasturlashning murakkabligidir. Xabarlar yuborish va qabul qilish
umumiy xotiraga oddiy murojaat qilishdan ko‘ra ko‘proq vaqt talab qiladi. Ushbu arxitektura
ayniqsa maʼlumot parallelizmi yuqori bo‘lgan va kommunikatsiya miqdori nisbatan kam
bo‘lgan masalalarni yechish uchun juda mos keladi.
2.4. Multikompyuterlar va ularning turlari
Multikompyuterlar (Multicomputers) ham ajratilgan xotirali parallel tizimlarning bir ko‘rinishi
bo‘lib, ular bir nechta mustaqil, to‘liq ishlaydigan kompyuterlarning tarmoq orqali o‘zaro
ulanishi natijasida hosil bo‘ladi. Har bir kompyuter (tugun) o‘zining protsessori(lari), lokal
xotirasi, kiritish/chiqarish qurilmalari va operatsion tizimiga ega. Multikompyuter tizimlarida
ham protsessorlar o‘zaro maʼlumot almashish uchun xabar almashish mexanizmlaridan
foydalanadi.
Multikompyuter arxitekturalari oddiy ishchi stantsiyalar klasteridan (Cluster of Workstations
- COW) tortib, minglab protsessorlarni o‘z ichiga olgan Massiv Parallel Protsessorlarga
(Massively Parallel Processors - MPP) qadar farq qilishi mumkin.
Klasterlar (Clusters): Bu eng keng tarqalgan multikompyuter turi bo‘lib, bir nechta tijoriy
jihatdan mavjud bo‘lgan (commercial off-the-shelf - COTS) kompyuterlarning standart
tarmoq (masalan, Ethernet, InfiniBand) orqali ulanishi natijasida hosil bo‘ladi. Klasterlar
nisbatan arzon, moslashuvchan va oson o‘rnatiladigan tizimlardir. Ular ko‘pincha yuqori
unumdorlikka erishish (High-Performance Computing - HPC) uchun ishlatiladi. Klasterlarda
maʼlumot almashish tezligi va kechikishlari o‘zaro bog‘lanish tarmog‘ining turiga bog‘liq.
Massiv Parallel Protsessorlar (MPPs): MPPlar minglab, hatto o‘n minglab protsessorlarni
o‘z ichiga olgan, yuqori samaradorlik uchun maxsus ishlab chiqilgan tizimlardir. Ular
ko‘pincha o‘ziga xos, yuqori tezlikdagi o‘zaro bog‘lanish tarmoqlaridan foydalanadi. MPPlar
dunyodagi eng qudratli superkompyuterlarning asosini tashkil qiladi. Ularda tizimning
barcha qismlari yuqori darajada integratsiyalashgan bo‘ladi.
Grid hisoblash (Grid Computing): Bu yanada kengroq tushuncha bo‘lib, geografik
jihatdan tarqoq bo‘lgan va turli tashkilotlarga tegishli bo‘lishi mumkin bo‘lgan kompyuter
resurslarini virtual superkompyuterga birlashtiradi. Grid tizimlari asosan resurslarni
almashish va juda katta miqyosdagi muammolarni (masalan, global tadqiqot loyihalari)
yechish uchun ishlatiladi. Ular ko‘pincha internet orqali ulanadi va xabar almashishda
yuqori kechikishlarga ega bo‘lishi mumkin.
Multikompyuterlarning asosiy afzalliklari masshtablanish (miqyosni kengaytirish) imkoniyati,
nosozliklarga chidamlilik (agar bir tugun ishdan chiqsa, boshqalari ishlashni davom ettirishi
mumkin) va arzon narx (ayniqsa klasterlar uchun) hisoblanadi. Kamchiliklari esa
dasturlashning murakkabligi va tugunlar o‘rtasidagi kommunikatsiyaning nisbatan
sekinligidir.
[Diagramma 2: Multikompyuterlar klasterining tarmoq tuzilmasi]
2-rasm. Oddiy kompyuter klasterining tuzilmasi.
2.5. Taqqoslash, afzallik va kamchiliklar
Umumiy xotirali multiprotsessorlar (UMP), ajratilgan xotirali multiprotsessorlar (AMP) va
multikompyuterlar (MK) parallel kompyuterlarning asosiy arxitekturalari bo‘lib, ular
o‘zlarining xususiyatlari, afzalliklari va kamchiliklariga ega. Ularning asosiy farqlari xotira
tashkil etilishi va protsessorlar o‘rtasidagi kommunikatsiya mexanizmlarida namoyon
bo‘ladi. Quyida ularning asosiy taqqosiy jihatlari keltirilgan:
Xususiyat
Xotira
Umumiy xotirali
multiprotsessorlar
(UMP)
Ajratilgan xotirali
multiprotsessorlar
(AMP)
Yagona global xotira
maydoni, barcha
protsessorlar
tomonidan kirish
mumkin.
Har bir protsessorning
Har bir
o‘z lokal xotirasi. Global kompyuterning o‘z
xotira maydoni yo‘q.
lokal xotirasi.
Mustaqil xotira
maydonlari.
Multikompyuterlar
(MK)
Kommunikatsiya Umumiy xotira orqali.
Implicit (aniq belgilash
shart emas).
Xabar almashish
(Message Passing)
orqali. Explicit (aniq
belgilash kerak).
Xabar almashish
(Message Passing)
orqali. Explicit.
Tarmoq orqali.
Masshtablanish
Cheklangan (odatda
o‘nlab/yuzlab
protsessorlargacha).
Magistral/xotira tor joyi.
Yuqori (minglab
protsessorlargacha).
Eng yuqori (minglab
kompyuterlarga,
millionlab
yadrolarga qadar).
Kesh
konsistentligi
Kesh konsistentligi
mexanizmlari
Talab qilinmaydi (lokal
keshlar alohida).
Talab qilinmaydi
(lokal keshlar
Umumiy xotirali
multiprotsessorlar
(UMP)
(snooping, katalog).
Ajratilgan xotirali
multiprotsessorlar
(AMP)
Dasturlash
Nisbatan oson
(OpenMP kabi
kutubxonalar).
Murakkabroq (MPI kabi
kutubxonalar).
Murakkab (MPI,
PVM kabi
kutubxonalar).
Narxi
Qimmatroq (maxsus
apparat taʼminoti).
O‘rtacha/Yuqori.
Nisbatan arzon
(COTS
komponentlardan
foydalanilganda).
Qo‘llanilish
sohasi
Multitasking, serverlar,
kichik va o‘rta HPC
vazifalar.
Ilmiy hisoblashlar,
simulyatsiyalar,
maʼlumot parallelizmi
yuqori bo‘lgan vazifalar.
Katta miqyosdagi
HPC, grid hisoblash,
katta maʼlumotlar
tahlili.
Xususiyat
Multikompyuterlar
(MK)
alohida).
Afzalliklar:
•
•
•
UMP: Dasturlash nisbatan qulay, maʼlumot almashish tez, kichik hajmdagi masalalar
uchun samarali.
AMP: Yuqori masshtablanish, xotira magistrali cheklovi yo‘q, katta masalalar uchun
mos.
MK: Eng yuqori masshtablanish, arzon narx (klasterlar), nosozlikka chidamlilik,
mavjud resurslardan foydalanish imkoniyati.
Kamchiliklar:
•
•
•
UMP: Masshtablanish cheklangan, kesh konsistentligi muammolari, apparat narxi
yuqori.
AMP: Dasturlash murakkab, maʼlumot almashish kechikishlari yuqori.
MK: Kommunikatsiya kechikishlari eng yuqori, boshqaruv va administrlash
murakkabroq, dasturlash murakkab.
Xulosa qilib aytganda, parallel kompyuter arxitekturasini tanlash bajarilishi kerak bo‘lgan
vazifaning turi, maʼlumotlarning hajmi, talab qilinadigan hisoblash quvvati va byudjet kabi
omillarga bog‘liq bo‘ladi. Har bir arxitektura o‘ziga xos afzallik va kamchiliklarga ega bo‘lib,
ularning to‘g‘ri tanlanishi hisoblash samaradorligini maksimal darajada oshirish imkonini
beradi.
Xulosa
Ushbu referatda parallel kompyuterlar va ularning asosiy arxitektura turlari — umumiy
xotirali multiprotsessorlar, ajratilgan xotirali multiprotsessorlar va multikompyuterlar haqida
keng qamrovli maʼlumotlar berildi. Parallel kompyuterlar tizimlarini yaratishning maqsadi —
hisoblash ishlarini bir nechta protsessorlar o‘rtasida samarali taqsimlash orqali
kompyuterlarning umumiy ishlash unumdorligini oshirishdir.
Umumiy xotirali multiprotsessorlar bir nechta protsessorlarning yagona global xotira
maydoniga bir vaqtning o‘zida kirish imkoniyatini taʼminlaydi, bu esa dasturlashni
soddalashtiradi, biroq masshtablanish cheklovlari va kesh konsistentligi muammolariga olib
keladi. Ajratilgan xotirali multiprotsessorlar esa har bir protsessorga o‘zining lokal
xotirasini beradi, bu tizimlarda masshtablanish yuqori va xotira magistrali tıxalışi yuz
bermaydi, ammo dasturlash murakkabligi va kommunikatsiya kechikishlari uchraydi.
Multikompyuterlar yirik masshtabdagi hisoblashlarni qo‘llab-quvvatlaydi, o‘zaro mustaqil
tugunlar orqali ishlaydi, ular eng yuqori darajada nosozlikka chidamli va kengaytiriluvchan,
ammo tarmoq orqali kommunikatsiya sekinligi va dasturlash murakkabligi kamchilik sifatida
qoladi.
Zamonaviy hisoblash tizimlarida ushbu parallel kompyuter arxitekturalari alohida yoki
kombinatsiyada qo‘llanilib, katta hajmdagi maʼlumotlarni qayta ishlash, ilmiy tahlillar, sunʼiy
intellekt, simulyatsiyalar va boshqa ko‘plab sohalarda muhim rol o‘ynaydi. To‘g‘ri arxitektura
tanlash hisoblash samaradorligini oshirish va tizim resurslaridan optimal foydalanish
imkonini beradi.
Kelajakda parallel kompyuterlarning rivojlanishi ko‘proq ko‘p yadroli protsessorlarning
yanada integratsiyalanishi, yangi arxitektura konseptlari, tezkor va qudratli kommunikatsiya
tarmoqlari hamda zamonaviy dasturlash usullarining rivojlanishi orqali kechadi.
Shuningdek, gibrid arxitekturalar va kvant-parallel hisoblash tizimlari paydo bo‘lishi
kutilmoqda. Bular barchasi hisoblash kuchini va samaradorligini yanada oshirishga xizmat
qiladi.
Foydalanilgan adabiyotlar
1.
2.
3.
4.
5.
6.
Tanenbaum, A. S., & Austin, T. (2012). Structured Computer Organization. Pearson
Education.
Hennessy, J. L., & Patterson, D. A. (2019). Computer Architecture: A Quantitative
Approach. Morgan Kaufmann.
Culler, D. E., Singh, J. P., & Gupta, A. (1999). Parallel Computer Architecture: A
Hardware/Software Approach. Morgan Kaufmann.
Kumar, V., Grama, A., Gupta, A., & Karypis, G. (2003). Introduction to Parallel
Computing. Pearson Education.
MPI Forum. (2023). MPI: A Message-Passing Interface Standard Version 4.0.
https://www.mpi-forum.org/docs/
Intel Corporation. (2020). Intel® 64 and IA-32 Architectures Software Developer’s
Manual. https://software.intel.com/content/www/us/en/develop/articles/intel-sdm.html
0
You can add this document to your study collection(s)
Sign in Available only to authorized usersYou can add this document to your saved list
Sign in Available only to authorized users(For complaints, use another form )