Mavzu: Klasterli hisoblash tizimlarini qurish va undan foydalanishni o‘rganish
Ishdan maqsad: Klasterli hisoblash tizimlarini o’rganish
Vazifani tayyorlash tartibi
Klasterli hisoblash tizimlari;
Klasterli hisoblash tizimlarni qurish;
Klasterli hisoblash tizimlari turlari;
Klasterli hisoblash tizimlarini qo’llanilish sohalari.
Klasterli hisoblash tizimlari
Klaster hisoblash tizimlari MPA tizimlari me'morchiligiga xos g'oyalar rivojlanishining
davomi bo'ldi. Agar MPA tizimida protsessor moduli to'liq hisoblash tuguni vazifasini
bajarsa, klaster tizimlarida bunday hisoblash tugunlari sifatida sotiladigan kompyuterlar
ishlatiladi. Aloqa texnologiyalarining rivojlanishi, ya'ni tezkor tarmoq uskunalari va
maxsus dasturiy kutubxonalarning paydo bo'lishi, masalan, standart tarmoq protokollari
orqali xabarlarni uzatish mexanizmini amalga oshiradigan MPI (Message Passing
Interface), klaster texnologiyalarini umuman mavjud qildi. Hozirgi vaqtda laboratoriyada
yoki sinfda kompyuterlarning hisoblash quvvatini birlashtirish orqali ko'plab kichik klaster
tizimlari yaratilmoqda.
Klaster texnologiyalarining jozibali xususiyati shundaki, ular kerakli ko'rsatkichlarga
erishish uchun heterojen tizimlarni yaratishga imkon beradi, ya'ni har xil turdagi
kompyuterlarni birlashgan hisoblash tizimlariga, shaxsiy kompyuterlardan kuchli
superkompyuterlarga qadar. Klaster texnologiyalari ommaviy ishlab chiqarish tarkibiy
qismlaridan superkompyuter sinfidagi tizimlarni yaratish vositasi sifatida keng tarqaldi, bu
hisoblash tizimining narxini sezilarli darajada pasaytiradi. Xususan, COst samarali
bo'lib, unda umumiy qiymati taxminan 100000 AQSh dollar bo'lgan 25 ta ikkita
protsessorli shaxsiy kompyuterlar asosida bir necha million dollarlik 48 protsessorli Cray
T3D ga teng ishlashga ega tizim yaratildi. ...
Penn State University aerokosmik muhandisligi professori Lyle Longning fikricha, nisbatan
arzon klasterli hisoblash tizimlari ilmiy tashkilotlarda qimmat superkompyuterlarga
muqobil bo'lib xizmat qilishi mumkin. Uning rahbarligida universitetda COCOA klasteri
qurildi. Ushbu loyiha doirasida 25 ta ish olib borilmoqda
har birida ikkita Pentium II / 400 MGts protsessorlari, 512 MB RAM, 4 GB SCSI qattiq disk
va tezkor chekilgan tarmoq adapteri bo'lgan DELL barrel stantsiyalari. Tugunlarni ulash
uchun bitta kengaytiruvchi modulli 24-portli Baynetworks 450T kaliti ishlatiladi.
O'rnatilgan dastur RedHat Linux operatsion tizimini, Portland Group Fortran 90 va HPF
kompilyatorlarini, bepul MPI dasturini - Message Passing Interface Chameleon (MPICH) va
DQS navbat tizimini o'z ichiga oladi.
38-chi aerokosmik ilmiy yig'ilish va ko'rgazmada taqdim etilgan maqolada Long
vertolyotlardan turli joylarda shovqin darajasini taxmin qilish uchun ishlatiladigan
avtomatik hisoblash yukini balanslash bilan hisoblash dasturining parallel versiyasini
tasvirlaydi. Taqqoslash uchun, ushbu hisoblash dasturi shovqinni 512 punktda hisoblash
uchun uch xil 48 protsessorli kompyuterlarda ishlagan. Cray T3E tizimida hisoblash 177
soniyani, SGI Origin2000 tizimida 95 soniyani va COCOA klasterida 127 soniyani tashkil
etdi. Shunday qilib, klasterlar ushbu sinfning vazifalari uchun juda samarali hisoblash
platformasi hisoblanadi.
Klaster tizimlarining superkompyuterlardan ustunligi shundaki, ularning egalari yirik
superkompyuter markazlarida bo'lgani kabi protsessor vaqtini boshqa foydalanuvchilar
bilan bo'lishishi shart emas. Xususan, COCOA yiliga 400,000 soatdan ortiq protsessor
vaqtini ta'minlaydi, superkompyuter markazlarida esa 50,000 soatni olish qiyin bo'lishi
mumkin.
Klasterli hisoblash tizimlarni qurish
Albatta, ushbu tizimlarning to'liq ekvivalenti haqida gapirishning hojati yo'q. Ma'lumki,
taqsimlangan xotiraga ega tizimlarning ishlashi kommutatsiya muhitining ishlashiga juda
bog'liq bo'lib, uni ikkita parametr bilan tavsiflash mumkin: kechikish - xabarni yuborishda
kechikish vaqti va tarmoqli kengligi - axborot uzatish tezligi. Masalan, Cray T3D
kompyuteri uchun bu parametrlar navbati bilan 1 mk va 480 Mb / s ni tashkil qiladi va Fast
Ethernet tarmog'i kommutatsiya vositasi sifatida ishlatiladigan klaster uchun bu
parametrlar 100 mk va 10 Mb / s ni tashkil qiladi. Bu qisman superkompyuterlarning juda
yuqori narxini tushuntiradi. Ko'rib chiqilayotgan klaster kabi parametrlar bilan, juda ko'p
miqdordagi protsessorlarda samarali echilishi mumkin bo'lgan juda ko'p vazifalar mavjud
emas.
Yuqoridagilardan kelib chiqib, biz ta'rif beramiz: klaster - bu bitta hisoblash manbai
sifatida ishlatiladigan o'zaro bog'liq bo'lgan to'liq kompyuterlarning to'plamidir. Klaster
tugunlari sifatida bir xil (bir hil klasterlar) va har xil (heterojen klasterlar)
kompyuterlardan foydalanish mumkin. Arxitekturasiga ko'ra, klasterli hisoblash tizimi
erkin bog'langan. Klasterlarni yaratish uchun odatda oddiy bitta protsessorli shaxsiy
kompyuterlar yoki ikkita yoki to'rt protsessorli SMP serverlardan foydalaniladi. Bu
tugunlarning tarkibi va arxitekturasiga cheklovlar qo'ymaydi. Tugunlarning har biri o'z
operatsion tizimi ostida ishlashi mumkin. Eng ko'p ishlatiladigan standart operatsion
tizimlar Linux, FreeBSD, Solaris, Tru64 Unix, Windows NT.
Klasterli hisoblash tizimlari turlari
RAID10 - bu RAID0 da bo'lgani kabi, ma'lumotlar bir nechta disklarda ketma-ket
yoziladigan aks ettirilgan qator. Ushbu arxitektura RAID0 massivi bo'lib, uning segmentlari
alohida disklar o'rniga RAID1 massivlari hisoblanadi. Shunga ko'ra, ushbu darajadagi qator
kamida to'rtta diskni o'z ichiga olishi kerak. RAID10 yuqori xatolarga chidamliligi va
ishlash ko'rsatkichlarini birlashtiradi.
Klaster hisoblash tizimlarining yanada to'liq tasviri tizimning asosiy funktsional
xususiyatlarini aniqlaydigan klasterlash usullariga ko'ra klasterlarni tasniflash bilan
ta'minlanadi:
∙ passiv ortiqcha bilan klasterlash;
∙ faol ortiqcha bilan klasterlash;
∙ mustaqil serverlar;
∙ barcha disklarga ulangan serverlar;
∙ umumiy disklarga ega bo'lgan serverlar.
Ortiqcha klasterlash eng qadimgi va ko'p qirrali usuldir. Serverlardan biri barcha hisoblash
yukini o'z zimmasiga oladi, ikkinchisi esa harakatsiz qoladi, lekin asosiy server ishlamay
qolsa, hisoblashni qabul qilishga tayyor. Faol (yoki asosiy) server vaqti-vaqti bilan zaxira
(ikkinchi darajali) serverga yurak urishi to'g'risida xabar yuboradi. Birlamchi server
ishlamay qolgan deb hisoblangan yurak urishi xabarlari bo'lmagan taqdirda, ikkilamchi
server o'z vazifasini bajaradi. Ushbu yondashuv mavjudlikni yaxshilaydi, ammo ishlashni
yaxshilamaydi. Bundan tashqari, agar tugunlar orasidagi yagona aloqa xabar almashish
bo'lsa va klasterdagi ikkala server disklarni almashmasa, kutish serveri asosiy server
tomonidan boshqariladigan ma'lumotlar bazalariga kirish huquqiga ega emas.
Passiv ortiqcha, klasterlar uchun odatiy emas. "Klaster" atamasi hisoblash jarayonida faol
ishtirok etadigan va bitta kuchli hisoblash mashinasining illyuziyasini yaratadigan o'zaro
bog'liq tugunlarning to'plamini anglatadi. Ushbu konfiguratsiya odatda faol ikkilamchi
serverga ega tizim deb nomlanadi va uchta klasterlash usuli mavjud: yakka tartibdagi
serverlar, disk almashishsiz serverlar va disk almashish bilan ta'minlangan serverlar.
Birinchi usulda har bir klaster tuguni o'z disklari bo'lgan mustaqil server sifatida ko'rib
chiqiladi va tizimdagi disklarning hech biri birgalikda foydalanilmaydi. Ushbu sxema
yuqori ishlash va yuqori mavjudlikni ta'minlaydi, ammo barcha serverlardan muvozanatli
va samarali foydalanishga erishish uchun mijozlar so'rovlarini serverlar bo'yicha
taqsimlashni rejalashtirish uchun maxsus dasturiy ta'minotni talab qiladi. Ilovani bajarish
paytida tugunlardan biri ishlamay qolsa, boshqa klaster tuguni ushbu dasturni ushlab
turishi va tugatishi mumkin. Buning uchun tizimdagi ma'lumotlar doimiy ravishda
ko'chirilishi kerak, shunda har bir server tizimdagi barcha so'nggi ma'lumotlarga kirish
huquqiga ega bo'ladi. Ushbu xarajatlar tufayli yuqori darajaga faqat ishlashni yo'qotish
hisobiga erishiladi.
Aloqa yukini kamaytirish uchun hozirgi kunda ko'pchilik klasterlar umumiy RAID qatori
bilan ifodalangan umumiy disklarga ulangan serverlardan iborat (5.5.2-rasmga qarang).
Ushbu yondashuvning bir varianti disk almashishni taqozo etadi. Umumiy disklar bo'linadi
va har bir klaster tuguniga bo'lim beriladi. Agar tugunlardan biri ishlamay qolsa, klasterni
qayta sozlash mumkin, shunda uning umumiy disk qismiga kirish huquqlari boshqa tugunga o'tkaziladi.
Shu bilan bir qatorda, har qanday tugun barcha umumiy disklardagi barcha bo'limlarga
kirish huquqiga ega bo'lishi uchun bir nechta serverlar vaqt o'tishi bilan umumiy disklarga
kirish huquqini baham ko'rishadi. Ushbu yondashuv serverlardan faqat bittasi istalgan
vaqtda ma'lumotlarga kirishini ta'minlash uchun qandaydir qulflash mexanizmini talab qiladi.
Klasterlar yuqori darajadagi mavjudlikni ta'minlaydi - ular bitta operatsion tizimga va
umumiy xotiraga ega emas, ya'ni keshning muvofiqligi muammosi yo'q. Bundan tashqari,
har bir tugundagi maxsus dasturiy ta'minot boshqa barcha tugunlarning sog'lig'ini doimiy
ravishda kuzatib boradi. Ushbu boshqaruv har bir tugun tomonidan "Men hanuzgacha
hushyorman" signalining vaqti-vaqti bilan yuborilishiga asoslanadi. Agar ma'lum bir
tugundan signal kelmasa, unda bunday tugun ishlamay qolgan deb hisoblanadi; unga
kiritish-chiqarish imkoniyatlari berilmaydi, uning disklari va boshqa manbalari (shu
jumladan tarmoq manzillari) boshqa tugunlarga tayinlanadi va u bilan ishlaydigan
dasturlar boshqa tugunlarda qayta ishga tushiriladi.
Klasterli hisoblash tizimlarini qo’llanilish sohalari
Klaster ishlash ko'lamlari, shuningdek tugunlar qo'shiladi. Klaster bir nechta alohida
dasturlarni ishga tushirishi mumkin, ammo bitta dasturni masshtablash uchun uning
qismlari xabar almashish orqali aloqa qilishlari kerak. Shunga qaramay, klaster tugunlari
o'rtasidagi o'zaro ta'sirlar an'anaviy hisoblash tizimlariga qaraganda ancha uzoq davom
etishini yodda tutish kerak. Tugunlar soni bo'yicha deyarli cheksiz o'sish qobiliyati va bitta
operatsion tizimning etishmasligi klaster me'morchiligini nihoyatda kattalashtiradi. Yuzlab
va minglab tugunlarga ega tizimlar muvaffaqiyatli qo'llanilmoqda.
Klasterlarni ishlab chiqishda ikkita yondashuvni ajratish mumkin. Birinchi yondashuv
kichik klaster tizimlarini yaratishdir. Klaster sinf kompyuterlari yoki laboratoriya ish
joylari kabi mustaqil bo'linmalar sifatida ishlashni davom ettiradigan to'liq ishlaydigan
kompyuterlarni birlashtiradi. Ikkinchi yondashuv - qudratli hisoblash manbalarini
maqsadli ravishda yaratish. Kompyuter tizim birliklari ixcham joylashgan
u maxsus javonlarda joylashgan bo'lib, tizimni boshqarish va vazifalarni bajarish uchun
bitta yoki bir nechta to'liq funktsiyali kompyuterlar, xost kompyuterlari deb nomlanadi.
Bunday holda, hisoblash tugunlarining kompyuterlarini grafik kartalar, monitorlar, disk
drayvlar va boshqa atrof-muhit uskunalari bilan ta'minlashning hojati yo'q, bu tizim narxini
sezilarli darajada pasaytiradi.
Kompyuterlarni klasterga birlashtirish uchun ko'plab texnologiyalar ishlab chiqilgan.
Hozirda eng keng qo'llaniladigan texnologiya - bu foydalanishga qulayligi va aloqa
uskunalarining arzonligi sababli Ethernet. Biroq, buning uchun atayin yetarli bo'lmagan
valyuta kursi to'lashi kerak.
Aloqa operatsiyalarining ulushi katta bo'lgan ko'p protsessorli tizimlarda chiziqli algebra
masalalarini echishga mo'ljallangan ScaLAPACK subroutine to'plamini ishlab chiquvchilar
ko'p protsessorli tizimga qo'yiladigan talabni quyidagicha shakllantirishgan: "MB / s bilan
o'lchangan ikkita tugun orasidagi protsessor almashinuvining tezligi kamida 1 / bo'lishi
kerak. MFLOPS da o'lchangan hisoblash tugunining eng yuqori ko'rsatkichi 10 ".
Klaster topologiyalari
Ikki-to'rtta tugundan tashkil topgan "kichik" klasterlar uchun tipik topologiyalarni ko'rib
chiqing.
Do'stlaringiz bilan baham: |