Nazorat savollari
1.
Kompyuterlarning asosiy ko’rsatgichlari
2.
Massiv parallel tizimlar (MPP) nima uchun qullaniladi?
113
19-Ma’ruza.
Simmetirk multiprotsessorli tizimlar (SMP) apparat
darajasidagi parallellik
Reja:
1.
Simmetirk multiprotsessorli tizimlar
2.
Apparat darajasidagi parallellik
Tayanch iboralar:
SMP, ko'p protsessorli kompyuterlar,
Simmetrik ko'p ishlov berish (qisqartirilgan SMP) - ko'p protsessorli
kompyuterlar arxitekturasi bo'lib, unda ikki yoki undan ko'p bir xil ko'rsatkichlarga
ega protsessorlar umumiy xotiraga (va tashqi qurilmalarga) bir xilda ulanadi va bir
xil funktsiyalarni bajaradi (nima uchun tizim simmetrik deb ataladi). [1]. Ingliz
tilida SMP tizimlari chambarchas bog'langan ko'p protsessorlar deb ham ataladi
[2], chunki tizimlarning ushbu sinfida protsessorlar umumiy avtobus orqali bir-biri
bilan chambarchas bog'langan va hisoblash tizimining barcha resurslariga (xotira
va kiritish-chiqarish qurilmalari) teng kirish huquqiga ega. ) va barchasi operatsion
tizimning bir nusxasi bilan boshqariladi.
SMP tizimlari har qanday protsessorga ushbu vazifa uchun ma'lumotlar
xotirada qayerda saqlanganidan qat'i nazar, har qanday vazifani bajarishga imkon
beradi - to'g'ri operatsion tizimni qo'llab-quvvatlash bilan SMP tizimlari vazifalarni
protsessorlar o'rtasida osonlik bilan o'tkazishi va yukni samarali muvozanatlashi
mumkin.
Turli xil SMP tizimlari protsessorlarni umumiy xotiraga turli yo'llar bilan
ulaydi. Eng oddiy va arzon yondashuv bu tizim shinasiga ulanish [3] [4]. Bunday
holda, bir vaqtning o'zida faqat bitta protsessor xotiraga kirishi mumkin, bu esa
bunday tizimlarda qo'llab-quvvatlanadigan protsessorlar soniga sezilarli cheklov
qo'yadi. Qanchalik ko'p protsessorlar bo'lsa, umumiy avtobusga qancha yuk ko'p
bo'lsa, har bir protsessor avtobus xotiraga kirish uchun bo'sh qolguncha shunchalik
uzoq kutishi kerak. Protsessorlar sonining ko'payishi bilan bunday tizimning
umumiy ishlashining pasayishi juda tez sodir bo'ladi, shuning uchun odatda
bunday tizimlarda protsessorlar soni 2-4 dan oshmaydi. Protsessorlarni ulashning
114
bunday usuliga ega SMP mashinalariga misol sifatida har qanday boshlang'ich
darajadagi ko'p protsessorli serverlar kiradi.
19.1-rasm. SMP tizimlari
Protsessorlarni ulashning ikkinchi usuli - ko'ndalang kalit [3] [5]. Shu
munosabat bilan barcha umumiy xotira xotira banklariga bo'linadi, har bir xotira
bankining o'z shinasi mavjud va protsessorlar barcha avtobuslarga ulanadi, ular
orqali istalgan xotira banklariga kirish imkoniga ega. Bunday ulanish sxematik
jihatdan murakkabroq, lekin u protsessorlarga bir vaqtning o'zida umumiy xotiraga
kirish imkonini beradi. Bu tizimdagi protsessorlar sonini umumiy ish faoliyatini
sezilarli darajada kamaytirmasdan 8-16 tagacha oshirish imkonini beradi. Bunday
SMP mashinalariga RS / 6000 ko'p protsessorli ish stantsiyalari misol bo'la oladi.
19.2-rasm. SMP tizimlari
Afzalliklari va kamchiliklari
SMP hisoblash tizimini masshtablashning eng oddiy va tejamkor usuli
hisoblanadi: protsessorlar sonini ko'paytirish. Dasturlash ham oddiy: xotiradagi
umumiy o'zgaruvchilar orqali ular o'rtasida ma'lumot almashish uchun oqimlar va
tegishli mexanizmlardan foydalanish.
115
SMP ko'pincha fan, sanoat, biznesda qo'llaniladi, bu erda dasturiy ta'minot
ko'p bosqichli bajarish uchun maxsus ishlab chiqilgan. Shu bilan birga, so'zlarni
qayta ishlash va kompyuter o'yinlari kabi ko'pchilik iste'mol tovarlari SMP
tizimlarining kuchli tomonlarini ishlata olmaydigan tarzda yozilgan. O'yinlarga
kelsak, bu ko'pincha SMP tizimlari uchun dasturni optimallashtirish yaqin
vaqtgacha shaxsiy kompyuterlar bozorining katta qismini egallagan bir protsessorli
tizimlarda ishlashda ishlashning yo'qolishiga olib kelishi bilan bog'liq. (Zamonaviy
ko'p yadroli protsessorlar SMP ning yana bir apparat tatbiq etishidir.) Turli xil
dasturlash usullarining tabiati tufayli maksimal ishlash uchun bitta yadroli
protsessor va SMP tizimlarini qo'llab-quvvatlash uchun alohida loyihalar kerak
bo'ladi. Va shunga qaramay, SMP tizimlarida ishlaydigan dasturlar, hatto bir
protsessorli tizimlar uchun yozilgan bo'lsa ham, unumdorlikka unchalik ko'p emas.
Buning sababi shundaki, odatda yadro tomonidan ishlov berish uchun dasturning
bajarilishini to'xtatib turadigan apparat uzilishlari bepul protsessorda (protsessor
yadrosi) qayta ishlanishi mumkin. Ko'pgina ilovalardagi ta'sir unumdorlikni
oshirishda emas, balki dasturning yanada muammosiz ishlashini his qilishda
namoyon bo'ladi. Ba'zi amaliy dasturlarda (xususan: dasturiy ta'minot
kompilyatorlari va ba'zi taqsimlangan hisoblash loyihalari) unumdorlikning oshishi
qo'shimcha protsessorlar soniga deyarli to'g'ridan-to'g'ri proportsional bo'ladi.
Bitta protsessorning ishdan chiqishi butun tizimning noto'g'ri ishlashiga olib
keladi va nuqsonli protsessorni o'chirish uchun butun tizimni qayta ishga
tushirishni talab qiladi. Bitta protsessor yadrosining ishdan chiqishi ko'pincha
butun ko'p yadroli protsessorning ishlamay qolishiga olib keladi, agar ko'p yadroli
protsessor nuqsonli protsessor yadrosini o'chirib qo'yadigan va shu bilan xizmat
ko'rsatish
mumkin
bo'lgan
protsessor
yadrolarining
normal
ishlashini
ta'minlaydigan o'rnatilgan himoya bilan jihozlanmagan bo'lsa.
Protsessorlar sonini cheklash
Protsessorlar sonining ko'payishi bilan xotira avtobusining o'tkazish
qobiliyatiga bo'lgan talab sezilarli darajada oshadi. Bu SMP arxitekturasida
116
protsessorlar soniga cheklov qo'yadi. Zamonaviy SMP tizimlari 16 ta protsessor
bilan samarali ishlashi mumkin.
Har bir zamonaviy protsessor protsessorga qaraganda sekinroq bo'lgan
asosiy xotiradan ma'lumot va mashina ko'rsatmalarini tezroq olish uchun ko'p
darajali kesh xotirasi bilan jihozlangan. Ko'p protsessorli tizimda protsessor
keshlarining mavjudligi umumiy avtobus yoki dial-up ulanishidagi yukni
kamaytiradi, bu umumiy tizimning ishlashiga juda foydali ta'sir ko'rsatadi. Ammo
har bir protsessor o'zining shaxsiy kesh xotirasi bilan jihozlanganligi sababli,
asosiy xotirada va boshqa protsessorning kesh xotirasida saqlanganidan farq
qiladigan o'zgaruvchan qiymat bitta protsessorning kesh xotirasiga tushishi xavfi
mavjud. Tasavvur qiling-a, protsessor o'z keshidagi o'zgaruvchining qiymatini
o'zgartiradi va boshqa protsessor bu o'zgaruvchini asosiy xotiradan so'raydi va u
(ikkinchi protsessor) o'zgaruvchining noto'g'ri qiymatini oladi. Yoki, masalan,
kiritish-chiqarish quyi tizimi asosiy xotiradagi o'zgaruvchiga yangi qiymat yozadi,
lekin eskirgan qiymat hali ham protsessor keshida. Ushbu muammoni hal qilish
kesh kogerentligi protokoliga yuklangan bo'lib, u umumiy ish faoliyatini
yo'qotmasdan barcha protsessorlar va asosiy xotira keshlarining izchilligini
("muvofiqligi") ta'minlash uchun mo'ljallangan.
SMP qo'llab-quvvatlashi operatsion tizimga o'rnatilishi kerak, aks holda
qo'shimcha protsessorlar ishlamay qoladi va tizim bitta protsessor sifatida ishlaydi.
(Aslida, bu muammo ko'p yadroli protsessorli bir protsessorli tizimlar uchun ham
dolzarbdir.) Aksariyat zamonaviy operatsion tizimlar simmetrik ko'p ishlov
berishni qo'llab-quvvatlaydi, lekin turli darajada.
Linux multiprocessing yordami yadro 2.0 [7] da qo'shildi va 2.6 da
yaxshilandi. Windows NT liniyasi dastlab ko'p protsessorli yordam bilan
yaratilgan. (Windows 9x SMP-ni qo'llab-quvvatlamaydi.)
SMP ko'p protsessorli mashinani yaratishning bir variantidir. Yana bir
kontseptsiya NUMA bo'lib, u protsessorlarni alohida xotira banklari bilan
ta'minlaydi. Bu protsessorlarga xotira bilan parallel ravishda ishlash imkonini
117
beradi va bu ma'lumotlar ma'lum bir jarayonga (va shuning uchun protsessorga)
bog'langan bo'lsa, xotira o'tkazish qobiliyatini sezilarli darajada oshirishi mumkin.
Boshqa tomondan, NUMA protsessorlar o'rtasida ma'lumotlarni ko'chirish
narxini oshiradi, ya'ni yukni muvozanatlash qimmatroq. NUMA ning afzalliklari
ma'lum bir vazifalar to'plami bilan cheklangan, asosan serverlar, bu erda
ma'lumotlar ko'pincha muayyan vazifalar yoki foydalanuvchilarga qattiq
bog'langan.
Boshqa kontseptsiya - bu assimetrik ko'p ishlov berish (ASMP), bunda
alohida ixtisoslashtirilgan protsessorlar alohida vazifalar uchun qo'llaniladi va
klasterli ko'p ishlov berish (Beowulf), bunda barcha xotira barcha protsessorlar
uchun mavjud emas. Bunday yondashuvlar kamdan-kam qo'llaniladi (zamonaviy
video kartalardagi yuqori unumdor 3D chipsetlarni assimetrik multiprocessing turi
deb hisoblash mumkin), klaster tizimlari esa juda katta superkompyuterlarni
yaratish uchun keng qo'llaniladi.
Boshqa kontseptsiya - bu assimetrik ko'p ishlov berish (ASMP), bunda
alohida ixtisoslashtirilgan protsessorlar alohida vazifalar uchun qo'llaniladi va
klasterli ko'p ishlov berish (Beowulf), bunda barcha xotira barcha protsessorlar
uchun mavjud emas. Bunday yondashuvlar kamdan-kam qo'llaniladi (zamonaviy
video kartalardagi yuqori unumdor 3D chipsetlarni assimetrik multiprocessing turi
deb hisoblash mumkin), klaster tizimlari esa juda katta superkompyuterlarni
yaratish uchun keng qo'llaniladi.
Do'stlaringiz bilan baham: |