1.2 Nosimmetrik ko'p ishlov berish
Simmetrik
Multiprotsessing
(qisqacha
SMP)
yoki
nosimmetrik
multiprocessing - bu ko'p protsessorli tizimlarning maxsus arxitekturasi bo'lib,
unda bir nechta protsessorlar umumiy xotiraga kirish imkoniyatiga ega. Bu yaqinda
keng qo'llaniladigan juda keng tarqalgan arxitektura.
SMP dan foydalanganda bir nechta protsessorlar kompyuterda birdan
ishlaydi, ularning har biri o'z vazifasi bilan ishlaydi. Yuqori sifatli operatsion
tizimga ega bo'lgan SMP tizimi protsessorlar o'rtasida vazifalarni oqilona
taqsimlaydi va ularning har biriga bir xil yukni beradi. Biroq, xotiraga kirish bilan
bog'liq muammo mavjud, chunki hatto bitta protsessorli tizimlar ham buni amalga
oshirish uchun ancha vaqt talab etadi. Shunday qilib, SMP-da RAMga kirish
ketma-ket sodir bo'ladi: birinchi navbatda bitta protsessor, keyin ikkinchi.
Yuqorida sanab o'tilgan xususiyatlar tufayli SMP tizimlari faqat ilmiy
sohada, ishlab chiqarishda, biznesda va juda kamdan-kam ish ofislarida
qo'llaniladi. Uskuna dasturini amalga oshirishning yuqori narxidan tashqari,
bunday tizimlar juda ko'p ishlarni bajarish uchun juda qimmat va sifatli dasturiy
ta'minotni talab qiladi. Oddiy dasturlar (o'yinlar, matn muharrirlari) SMP
tizimlarida samarali ishlamaydi, chunki ular bunday darajadagi parallellikni
ta'minlamaydi. Agar siz biron bir dasturni SMP tizimiga moslashtirsangiz, unda
uniprotsessorli tizimlarda ishlash o'ta samarasiz bo'lib qoladi, bu esa turli xil
tizimlar uchun bir xil dasturning bir nechta versiyasini yaratish zaruratini keltirib
chiqaradi. Istisno, masalan, ko'p protsessorli tizimlarni qo'llab-quvvatlaydigan
ABLETON LIVE dasturi (musiqa yaratish va Dj-setlarni tayyorlash uchun
mo'ljallangan). Agar siz oddiy dasturni ko'p protsessorli tizimda ishlatsangiz, u hali
ham uniprotsessor tizimiga qaraganda biroz tezroq ishlaydi. Bu boshqa bepul
protsessorda bajariladigan apparat uzilishi (dasturni yadro tomonidan qayta
ishlashni to'xtatish) deb atalishi bilan bog'liq.
SMP tizimi (parallel hisoblashga asoslangan har qanday boshqa tizim kabi)
xotira shinasi o'tkazuvchanligi kabi xotira parametrlariga talablarni kuchaytiradi.
Bu ko'pincha tizimdagi protsessorlar sonini cheklaydi (zamonaviy SMP tizimlari
16 protsessorgacha samarali ishlaydi).
Protsessorlar umumiy xotiraga ega bo'lganligi sababli, undan oqilona
foydalanish va ma'lumotlarni muvofiqlashtirishga ehtiyoj bor. Ko'p protsessorli
tizimda bir nechta keshlar umumiy xotira resursi uchun ishlaydi. Keshning
muvofiqligi - bu umumiy resurs uchun alohida keshlarda saqlanadigan
ma'lumotlarning yaxlitligini ta'minlaydigan kesh xususiyati. Ushbu kontseptsiya
xotira izchilligi kontseptsiyasining alohida hodisasidir, bu erda bir nechta yadro
umumiy xotiradan foydalanish imkoniyatiga ega (u zamonaviy ko'p yadroli
tizimlarda hamma joyda mavjud). Agar biz ushbu tushunchalarni umumiy ma'noda
tavsiflasak, unda rasm quyidagicha bo'ladi: bir xil ma'lumotlar blokini turli xil
keshlarga yuklash mumkin, bu erda ma'lumotlar har xil usulda qayta ishlanadi.
Ma'lumotlarni o'zgartirish to'g'risidagi bildirishnomalardan foydalanmaslik xatoga
olib keladi. Keshning izchilligi bunday ziddiyatlarni hal qilish va keshlardagi
ma'lumotlarning izchilligini saqlash uchun mo'ljallangan.
SMP tizimlari - bu Flynn hisoblash tizimlari tasnifining MIMD (multi-
insruction multi data) kichik guruhi (Stenford universiteti professori, Palyn
Associates asoschilaridan biri). Ushbu tasnifga ko'ra deyarli barcha turdagi parallel
tizimlar MIMD deb tasniflanishi mumkin.
Ko'p protsessorli tizimlarning turlarga bo'linishi xotiradan foydalanish printsipiga
ko'ra bo'linishga asoslangan. Ushbu yondashuv quyidagi muhim turlarni ajratib
ko'rsatishga imkon berdi
ko'p protsessorli tizimlar - ko'p protsessorlar (birgalikda umumiy xotiraga
ega bo'lgan ko'p protsessorli tizimlar) va multikompyuterlar (alohida xotiraga ega
tizimlar). Parallel hisoblashda ishlatiladigan umumiy ma'lumotlar sinxronlashni
talab qiladi. Ma'lumotlarni sinxronlashtirish vazifasi eng muhim muammolardan
biri bo'lib, uni ko'p protsessorli va ko'p yadroli va shunga mos ravishda kerakli
dasturiy ta'minotni ishlab chiqishda hal qilish muhandislar va dasturchilar uchun
ustuvor vazifadir. Ma'lumotlarni almashish xotirani jismoniy ajratish orqali amalga
oshirilishi mumkin. Ushbu yondashuv bir xil bo'lmagan xotiraga kirish (NUMA)
deb nomlanadi.
Do'stlaringiz bilan baham: |