Klaster hisoblash uchun dasturiy muhit
Download 54.81 Kb.
|
1 2
Bog'liqKlaster hisoblash uchun dasturiy muhit1
Klaster hisoblash uchun dasturiy muhit Tarmoq va ish stantsiyasining ishlashidagi so'nggi afzalliklari klasterli kompyuter tizimlarini massiv parallel kompyuterlarga qiziqarli alternativa qildi. Parallel dasturlarni loyihalash, optimallashtirish va disk raskadrovka qilishda foydalaniladigan ko'plab operatsion tizimlar, dasturlash tillari va insturmental vositalar mavjud. Ushbu tadqiqot ishida klaster tizimlarida murakkab hisoblash yuklamalariga ega masalalrni yechish va bunda klaster tizimlarining imkoniyatlari muhokama qilinadi va ularning ba'zilari batafsil ko'rib chiqiladi. Klaster - bu yagona integral hisoblash resursi sifatida birgalikda ishlaydigan o'zaro bog'langan avtonom kompyuterlar to'plamidan iborat bo'lgan parallel yoki taqsimlangan qayta ishlash tizimining bir turi. Ish stantsiyalari klasterlari maxsus yuqori unumdorlikdagi hisoblash (High Performance Computing- HPC) platformalariga arzon va oson mavjud muqobil varianti hisoblanadi. Klasterlardan foydalanishning asosiy afzalliklari: • tizim mavjudligi(system availability) - klasterlar apparat, operatsion tizimlar va ilovalardagi ortiqchalik orqali tizimning o'ziga xos yuqori mavjudligini ta'minlaydi • apparat xatolariga chidamlilik(hardware fault tolerance) - tizimning ko'pgina zahiralangan komponentlariga(apparat va dasturiy ta'minotning) asoslangan. • OT va ilovalar ishonchliligi(OS and application reliability) - klasterlar OT va ilovalarning bir nechta nusxalarini ishga tushiradi • masshtablilik(scalability) - kerak bo'lganda klasterga serverlar qo'shish yoki tarmoqqa qo'shimcha klasterlar qo'shish imkonini beradi • yuqori unumdorlik(high performance) - bitta katta mashinadan teng yoki undan ortiq quvvatga ega klasterni yig'ish imkoniyatini beradi. KLASTER ARXITEKTURASI 1-rasmda odatiy klaster arxitekturasi ko'rsatilgan. Alohida kompyuterlar yuqori tezlikdagi mahalliy tarmoq yoki apparat kaliti orqali ulanadi. Har bir kompyuter mustaqil ishlashga qodir. Bundan tashqari, klasterni ishga tushirish uchun har bir kompyuterda o'rta dasturiy ta'minot qatlami o'rnatiladi. O'rta dastur operatsion tizim va dastur o'rtasida joylashgan va yagona tizim tasviri (SSI-single-system image) va tizim mavjudligi uchun infratuzilmani ta'minlaydi. Yagona tizim tasviri - bu dasturiy ta'minot yoki apparat tomonidan yaratilgan illyuziya bo'lib, u yagona, kuchliroq manba sifatida resurslar to'plamini ifodalaydi. SSI klasterni foydalanuvchi, ilovalar va tarmoq uchun yagona mashina kabi qiladi. SSI bo'lmagan klaster – klaster emas deb hisoblanadi. 1-rasm. Klaster arxitekturasi [3] Klaster bilan ishlashda foydalanuvchi klasterda ro'yxatdan o'tadi va bitta fayl iyerarxiyasini ko'radi. Klasterni boshqarish va boshqarish uchun yagona nazorat nuqtasi mavjud va har qanday tugun klasterdagi istalgan boshqa nuqtaga kirishi mumkin. Klasterdagi dasturlar taqsimlangan umumiy xotira orqali o'zgaruvchilarni almashishi mumkin. Foydalanuvchi vazifalarni ularni ishga tushirish uchun host mashinasini ko'rsatmasdan topshiradi va klaster ishni rejalashtiruvchisi ishlarni tugunlar bo'ylab taqsimlaydi. Asosiy maqsad - tugunlar orasidagi yukni taqsimlash va undan ham ko'proq muvozanatda saqlashdir. Bu jarayon migratsiyasi bilan ta'minlanadi. Klaster oraliq dasturining yana bir xususiyati bitta kirish-chiqish maydoni va yagona jarayon maydonini ta'minlashdir. Jarayon holatini va hisob-kitoblarning oraliq natijalarini vaqti-vaqti bilan saqlash uchun nazorat punktlari ham kiritilgan. Agar klasterlarni ish stantsiyasi yoki shaxsiy kompyuter egaligi asosida tasniflansa, ular ajratilgan klasterlarga va ajratilmagan klasterlarga bo'linadi. Klaster tugunlari shaxsiy kompyuterlar, ish stantsiyalari yoki SMP(symmetric multiprocesing) bo'lishi mumkin. Bitta tizim tasvirini quydagicha yaratish mumkin: • yadro darajasida (haqiqiy klaster OT). Klaster apparat konfiguratsiyasidan to'liq foydalanish yagona markazlashtirilgan operatsion tizimga qo'shimcha funktsiyalarni talab qiladi Bu funktsiyalar nosozliklarni boshqarish, yuklarni muvozanatlash va klasterdan samarali foydalanishga qodir bo'lgan dasturlarni ishlab chiqish uchun muhitdir. Bunday ishlab chiquvchi vositalar kompilyatorlarni parallellashtirish, kompilyatsiya vaqtida ilovaning qaysi qismlarida parallel bajarilishi mumkinligini aniqlaydi. Bunday operatsion tizimlarga SCO NSC UnixWare, Solaris-MC, MOSIX va boshqalar misol bo'ladi. • mavjud OT ustidagi qatlam sifatida. Ushbu yondashuvning afzalliklari shundaki, u tizimni tez portativ qiladi va ishlab chiqish vaqtini qisqartiradi. Yangi xizmatlarni asosiy qatlam tomonidan taqdim etilgan funksionallikka solishtirish orqali yangi tizimlarni tezda qurish mumkin. Masalan: Glunix. -PVM, TreadMarks (DSM), Glunix, Condor, Codine, Nimrod, …. • dastur darajasida - PARMON, Parallel Oracle, ... . 3. KLASTER OPERATSION TIZIMLARI An'anaviy operatsion tizimlar singari, klaster operatsion tizimi ham foydalanuvchi, dastur va klaster apparati o'rtasida qulay interfeys va bitta tizimli tasvir va tizim mavjudligi kabi qo'shimcha funktsiyalarni ta'minlashi kerak. Klaster operatsion tizimi qo'shimcha ravishda xatolarni boshqarish, yukni muvozanatlash va parallellashtirish vositalarini ta'minlashi kerak. Muvaffaqiyatsizliklarni hal qilishda ikkita yondashuv - yuqori mavjudlik klasterlari va xatolarga chidamli klasterlar mavjud. Birinchi yondashuvda barcha resurslarning ishga tushishi ehtimoli yuqori. Ikkinchi yondashuv barcha resurslar doimo mavjud bo'lishini ta'minlaydi. Bunga ortiqcha disklar va bajarilmagan tranzaktsiyalarni tugatish va tugallangan tranzaktsiyalarni amalga oshirish mexanizmlaridan foydalanish orqali erishiladi. Bunga ortiqcha disklar va bajarilmagan tranzaktsiyalarni tugatish va tugallangan tranzaktsiyalarni amalga oshirish mexanizmlaridan foydalanish orqali erishiladi. Yukni muvozanatlash moslamasi jarayonning yuklangan tugunlardan bo'sh tugunlarga o'tishini ta'minlaydi. Parallellashtirish vositalari klasterli muhitda ishlaydigan dasturni ishlab chiqish uchun ishlatiladi. Parallellashtirish avtomatik yoki dasturchi tomonidan amalga oshirilishi mumkin.[6] Ushbu muammoga uchta yondashuv mavjud: • kompilyatsiya vaqtida parallellashtirish, kompilyator yordamida, bu dasturning qaysi qismlari parallel ravishda bajarilishi mumkinligini aniqlaydi. Keyin ular parallel ravishda ishlash uchun bo'linadi. • klasterda ishlash uchun dasturni boshidan yozish va ma'lumotlar qismlarini (kerak bo'lganda) klasterdagi protsessorlar o'rtasida ko'chirish uchun xabarlar o'zatuvchi kutubxonalardan foydalanish; • parametrik hisoblash, bu bitta dastur juda ko'p marta bajarilishi kerak bo'lgan muammolar uchun javob beradi, har safar boshqa ishga tushirish shartlari yoki parametrlari to'plami bilan ishlaydi. So'nggi yigirma yil ichida tadqiqotchilar ko'plab klaster operatsion tizimlarini ishlab chiqdilar va joriy qildilar. Ulardan ba'zilari universitetlarda tadqiqot loyihalari sifatida ishlab chiqilgan, boshqalari tijorat mahsulotlaridir. Quyida ishlab chiqilgan tizimlar qisqacha tavsiflanadi. 3.1 GLUnix GLUnix Solaris 2.3-2.6-ga asoslangan. Asosiy operatsion tizim o'zgartirilmagan, lekin foydalanuvchi darajasidagi global ish vaqti qo'shiladi. GUnix hozirda parallel va ketma-ket ishlarni hamda interaktiv, ommaviy bajarilishini qo'llab-quvvatlaydi. GUnix bo'sh turgan resurslarni (CPU davrlari) kuzatib boradi va ish vaqtida yukni muvozanatlashni amalga oshiradi. GLUnix har bir GLUnix jarayoni uchun global klaster miqyosidagi pid-ni taqdim etish orqali bitta tizim tasvirining ko'p qismini amalga oshiradi, GLUnix ish holatini istalgan tugundan so'rashga imkon beradi va foydalanuvchilarga klasterdagi istalgan tugundan vazifalarni signallash imkonini beradi. Mavjud ikkilik ilovalar GLUnix ostida o'zgartirilmagan holda ishga tushirilishi mumkin. Nom berish va bron qilish tizimi ham taqdim etilgan. Ommaviy ishlar tizimdagi yuk partiyasi ish o'rinlarini tartibga soluvchi partiya tizimi orqali yuborilishi mumkin. GLUnix klaster o'lchamlarini nazariy jihatdan 1 tugundan 330 tagacha qo'llab-quvvatlaydi. Tizim kirish, chiqish va kiritish-chiqarishni qayta yo'naltirish va jarayon yaratilgan tugundagi foydalanuvchi qobig'iga signallarni qaytarish orqali foydalanuvchi va dasturni SSI bilan ta'minlaydi. GUnix hozirda tekshirish yoki koʻchirishni qoʻllab-quvvatlamaydi, chunki buni mavjud foydalanuvchi darajasidagi ikkilik fayllarga shaffof qilib boʻlmaydi. GLUnix har bir klaster uchun master, har bir tugun uchun demon va har bir ilova uchun kutubxonadan iborat. GUnix yuqori samarali global fayl tizimi va yagona operatsion tizimlarda ishlaydi. 3.2 Solaris MC: an Operating System for Clustered Computers Solaris MC bir nechta kompyuterlar (yoki klasterlar) uchun taqsimlangan tizim prototipidir. U SSIni ta'minlaydi - klaster foydalanuvchi va ilovalarga Solaris™ Unix® operatsion tizimida ishlaydigan yagona kompyuter sifatida ko'rinadi. Solaris MC qurilgan va Solaris operatsion tizimi bilan ikkilik mos keladi. Solaris MC onlayn tranzaktsiyalarni qayta ishlash va qarorlarni qo'llab-quvvatlash ilovalari uchun ma'lumotlar bazasini boshqarish tizimlarini ishga tushirish uchun ideal platformadir. Yuqori mavjudlik Solaris MC uchun asosiy dizayn maqsadlaridan biri edi va tizim har qanday nosozlik nuqtasidan tezda tiklanishi va ma'lumotlarga kirishni ta'minlashda davom etishi mumkin. Solaris MC ning tarmoq imkoniyatlari sizga klasterlardan kengaytiriladigan provayderlarni yaratish imkonini beradi. Solaris MC klasterda ishlaydigan jarayonlarni boshqarish va boshqarish uchun uchta asosiy xususiyatni o'z ichiga oladi: U tizimdagi barcha jarayonlar va foydalanuvchilarning global ko'rinishini ta'minlaydi va ularni bir nuqtadan boshqarish imkonini beradi. Bu klasterni boshqarish va boshqarish qulayligini ta'minlaydi. U ushbu global ko'rinishni va jarayonni boshqarishni Solaris Application Binary Interface (ABI) orqali eksport qiladi, shunda mavjud ilovalar tizimning global ko'rinishini o'zgarmagan holda ko'rishi mumkin. Solaris MC bir nechta tugunlarda jarayonlarni parallel ravishda boshqaradigan xususiyatlarga ega klaster kuchidan foydalanadi. U global jarayonni boshqarish, mavjud dasturiy ta'minot bilan moslik va parallellikdan foydalanish qobiliyatini ta'minlaydi. Solaris MC UNIX izchil semantikasi bilan taqsimlangan keshlash fayl tizimiga ega. Jarayon operatsiyalari klaster bo'ylab, shu jumladan masofaviy jarayonni bajarish va global /proc fayl tizimi. Tashqi tarmoqqa klasterdagi istalgan tugundan shaffof kirish mumkin. Solaris MC komponentlari C++ da IDL ta'rifi tili bilan belgilangan barcha yangi xizmatlarga ega CORBA mos ob'ektga yo'naltirilgan tizim orqali amalga oshiriladi. Solaris MC bir nechta tugunlarda jarayonlarni parallel ravishda boshqaradigan xususiyatlarga ega klaster kuchidan foydalanadi. U global jarayonni boshqarish, mavjud dasturiy ta'minot bilan moslik va parallellikdan foydalanish qobiliyatini ta'minlaydi. Solaris MC UNIX izchil semantikasi bilan taqsimlangan keshlash fayl tizimiga ega. Jarayon operatsiyalari klaster bo'ylab, shu jumladan masofaviy jarayonni bajarish va global /proc fayl tizimi. Tashqi tarmoqqa klasterdagi istalgan tugundan shaffof kirish mumkin. Solaris MC komponentlari C++ da IDL ta'rifi tili bilan belgilangan barcha yangi xizmatlarga ega CORBA mos ob'ektga yo'naltirilgan tizim orqali amalga oshiriladi. 3.3 UnixWare Non Stop Clusters UnixWare ShHTning UNIX® operatsion tizimlaridan biridir. U Intel 80x86 protsessorlari uchun UNIX System V Release 4.2 ni NetWare mijoz/server ulanishi va boshqa ko'plab vositalar bilan birlashtiradi. U X11R5 oyna tizimiga asoslangan grafik foydalanuvchi interfeysini taqdim etadi va Unix, DOS va Windows dasturlarini ishga tushirishi mumkin. Eng so'nggi versiya - UnixWare 7. 32-bitli to'liq ko'p ish zarrali yadro ko'p ishlov berish va oldindan ko'p vazifalarni qo'llab-quvvatlaydi. Disk kiritish-chiqarish va tarmoq protokollari ko'p tarmoqli va barcha kiritish-chiqarish asinxrondir. Qurilma drayverlari, fayl tizimlari va boshqa modullar dinamik ravishda yuklanishi mumkin. UnixWare, shuningdek, foydalanuvchi darajasidagi ish zarralari API to'plamini taqdim etadi. UnixWare 7 Fast Ethernet, FDDI va ISDN kabi tarmoqlarni qo'llab-quvvatlaydi. UnixWare 7 shuningdek, oddiy SCSI bilan yuqori darajada mavjud SCSI zaxirasini qo'llab-quvvatlaydigan ko'p yo'nalishli I/U ni qo'llab-quvvatlaydi. Klasterda UnixWare-dan foydalanish UnixWare NonStop Clusters (NSC) ni talab qiladi. Bu klaster sifatida UnixWare 7 kompyuterlari tarmog'idan foydalanish imkonini beruvchi alohida dasturiy ta'minot to'plami. Har bir tugunda allaqachon UnixWare 7 o'rnatilgan bo'lishi kerak.Klasterdagi har bir tugun yadroning bir xil nusxasini ishga tushiradi, bu esa operatsion tizimlar o'rtasida xabar o'tishini kamaytiradi. U bir xil klasterdagi SMP va SMP bo'lmagan tugunlarni qo'llab-quvvatlaydi, bir xil klasterdagi turli OS versiyalarini qo'llab-quvvatlaydi. UnixWare NSC yadrosi klaster darajasidagi fayl tizimi, qurilmaga kirish kabi klasterlash xususiyatlarini ta'minlaydi; almashtirish maydoni, IPC, jarayonlar, TCP/IP tarmog'i, a'zolik va vaqtni sinxronlashtirish. UnixWare NSC faol ravishda yuk muvozanatini ta'minlaydi, ya'ni jarayonlar avtomatik ravishda (yoki qo'lda) ko'proq ishlatiladigan tugunlardan kamroq band bo'lgan tugunlarga ko'chirilishi mumkin. Klaster ishlayotgan vaqtda yangi tugunlarni qo'shish mumkin. UnixWare NSC tarqatilgan yadro algoritmlarini amalga oshiradi va yuzlab tugunlar bilan ishlashga mo'ljallangan. UnixWare NSC yagona tizim tasvirini (SSI) taqdim etadi. Aslida, UnixWare-da ishlaydigan ilovalar UnixWare NSC-da o'zgarishsiz ishlaydi. Clustered File Environment (CFE) deb nomlangan xususiyat fayl tizimlarining barcha tugunlarda bir xil nom bilan ma'lum bo'lishini ta'minlaydi. Fayl tizimi ma'lumotlar xavfsizligini ta'minlash uchun jurnal (jurnal asosida) yuritadi. RAID drayverlari uchun o'rnatilgan qo'llab-quvvatlash ham mavjud. Klaster miqyosidagi boshqa xizmatlar - bu klaster bo'ylab almashuv maydoni va vaqtni sinxronlashtirish. UnixWare NSC avtomatik jarayon migratsiyasi va yuk balansini ta'minlaydi. UnixWare NSC shuningdek, klaster miqyosida jarayonni boshqarishni ta'minlaydi. Butun klasterda tizim V jarayonlararo aloqa (IPC) qo'llaniladi. Bu xotira segmentlarini, xabarlar navbatlarini almashishni qo'llab-quvvatlaydi, klasterda yagona IPC nom maydoni qo'llab-quvvatlanadi. UnixWare NSC-da tarmoq IP orqali amalga oshiriladi. Har bir tugunga tarmoq nomi va IP-manzili, shuningdek, bir yoki bir nechta tarmoq nomlari va IP-manzillarni butun klaster bilan bog‘lash imkonini beruvchi klaster virtual IP-manzili (CVIP) beriladi. Bu klasterning tarmoqdagi yagona tizim sifatida paydo bo'lishiga imkon beradi. UnixWare NSC nosozliklarga chidamli ServerNet interconnect texnologiyasini qo'llab-quvvatlaydi. UnixWare NSC ma'lumotlar bazalari, mijozlarni qo'llab-quvvatlash tizimlari, tranzaktsiyalarni qayta ishlash, Internet va pochta serverlari kabi ilovalar uchun idealdir. 3.4 MOSIX MOSIX qisqartmasi Unix uchun Multicomputer Operating System degan ma'noni anglatadi. MOSIX Linux yadrosini klaster imkoniyatlari bilan kengaytiradi. U foydalanuvchi va ilovalarni SSI bilan ta'minlaydi, bu shaffof tarzda amalga oshiriladi. Yangi jarayonni yaratgandan so'ng, MOSIX uni o'sha paytdagi eng yaxshi tugunga belgilashga harakat qiladi. Yuk muvozanatsiz bo'lsa, MOSIX jarayonlarni avtomatik ravishda klaster tugunlari o'rtasida o'tkazadi. Mavjud ilovalar MOSIX klasterida ishlash uchun hech qanday o'zgartirishni talab qilmaydi va ularni maxsus kutubxonalar bilan bog'lash ham shart emas. MOSIX moslashuvchan yuk muvozanatini, xotirani boshqarish va resurslarni boshqarish algoritmlarini o'z ichiga oladi. U proaktiv jarayon migratsiyasidan foydalanadi. Xotirani ajratish algoritmlari etarli xotiraga ega bo'lgan tugunlarga jarayonlarni ajratish yoki ko'chirish orqali qattiq disklarni ortiqcha almashtirishni oldini oladi. MOSIX resurslarini boshqarish algoritmlari markazlashtirilmagan. Ushbu markazlashtirishning afzalligi shundaki, klaster qayta tuzilganda klasterda ishlaydigan jarayonlar minimal darajada ta'sir qiladi. MOSIX ning yana bir foydali xususiyati uning o'z-o'zini sozlash va monitoring algoritmlaridir. Ular tugunlarning tezligini aniqlaydi, ularning yuklanishini, mavjud xotirani, shuningdek, har bir ishlaydigan jarayonning IPC va kiritish / chiqish tezligini kuzatib boradi. Ushbu ma'lumotlar jarayonni mahalliylashtirish bo'yicha optimallashtiruvchi qarorlarni qabul qilish uchun ishlatiladi. MOSIX yagona izchil fayl tizimiga shaffof kirishni ta'minlaydi. MOSIX fayl tizimi (MFS) barcha kataloglar va oddiy fayllarga MOSIX klasteri orqali barcha tugunlardan kirish imkonini beradi. MOSIX moslashuvchan va har xil turdagi klasterlarni aniqlash uchun ishlatilishi mumkin, hatto har xil mashina turlari yoki LAN tezligida ham. MOSIX har xil sonli kompyuterlar bilan oddiy klaster konfiguratsiyasini qo'llab-quvvatlaydi. MOSIX mavjud dasturiy ta'minot (asosan RedHat va SuSe Linux) ustiga qurilganligi sababli, mustaqil tizimdan klasterga o'tish oson. 3.5 Beowulf Beowulf loyihasi NASA HPC loyihasi homiyligida boshlangan. Beowulf yondashuvi keng qo'llaniladi va, ehtimol, eng muhim klaster texnologiyasidir [8]. Beowulf - bu yuqori tezlikda ishlaydigan xususiy tarmoq (birlashtirilgan havolaga ega Ethernet) orqali ulangan Linux yoki FreeBSD kabi bepul operatsion tizimda ishlaydigan, asosan ommaviy foydalanish mumkin bo'lgan apparat komponentlaridan qurilgan yuqori samarali massiv parallel kompyuter. U yuqori unumdorlikdagi hisoblash vazifalarini bajarish uchun mo'ljallangan shaxsiy kompyuterlar yoki ish stantsiyalari klasteridan iborat. Odatda tashqi dunyo bilan faqat bitta tugun orqali ulanadi. Beowulf sinfidagi kompyuterlarning klasterlanganligi yuklarni muvozanatlash muammolarini soddalashtirishga yordam beradi, chunki alohida tugunlarning ishlashi tashqi omillarga bog'liq emas. Bundan tashqari, o'zaro aloqa tarmog'i tashqi tarmoqdan ajratilganligi sababli, tarmoq yuki faqat klasterda ishlaydigan dastur tomonidan aniqlanadi. Beowulf klasterlarining muhim xususiyati shundaki, protsessorlarning turi va tezligi, tarmoq texnologiyalari, komponentlarning nisbiy narxi kabi o'zgarishlar dasturlash modelini o'zgartirmaydi. Beowulf dasturiy muhiti Linux distributivlariga qo'shimcha sifatida amalga oshiriladi. Ushbu tarqatishlar tarmoq ish stantsiyasi uchun zarur bo'lgan barcha dasturlarni o'z ichiga oladi: yadro, Linux utilitlari, GNU dasturiy ta'minot to'plami va ko'plab qo'shimcha paketlar. Beowulf sxemasida har bir tugun yadroning o'z nusxasini ishga tushirish uchun javobgardir va tugunlar yadro darajasida odatda suveren va avtonomdir. Beowulf dasturiy muhiti Linux distributivlariga qo'shimcha sifatida amalga oshiriladi. Ushbu tarqatishlar tarmoq ish stantsiyasi uchun zarur bo'lgan barcha dasturlarni o'z ichiga oladi: yadro, Linux utilitlari, GNU dasturiy ta'minot to'plami va ko'plab qo'shimcha paketlar. Beowulf sxemasida har bir tugun yadroning o'z nusxasini ishga tushirish uchun javobgardir va tugunlar yadro darajasida odatda suveren va avtonomdir. Beowulf tizimining dasturiy ta'minoti quyidagilarni o'z ichiga oladi: • Beowulf umumiy tizim maydoni - jarayon identifikatori maydoniga klasterlashgan muhitda bir nechta tugunlarni qamrab olish imkonini beradi, shuningdek, boshqa tugunlarda jarayonlarni ishga tushirish mexanizmini taqdim etadi. • Beowulf Ethernet havolasini birlashtirish - bu bir nechta arzon tarmoqlarni yuqori o'tkazish qobiliyatiga ega yagona mantiqiy tarmoqqa birlashtirgan mexanizm. • Pvmsync - bu Beowulf klasteridagi jarayonlar uchun sinxronizatsiya mexanizmlari va umumiy ma'lumotlar ob'ektlarini ta'minlovchi dasturlash muhiti. • Enfuzion - parametrik hisoblar uchun asboblar to'plami. Dunyo bo'ylab yuzlab Beowulf loyihalari mavjud bo'lib, ular resurs talab qiladigan vazifalarni hal qilish uchun ishlatiladi. 3.6 Condor Condor - resurslarni ko'p talab qiladigan vazifalar uchun maxsus ish yukini boshqarish tizimi. Condor ish navbati mexanizmini, rejalashtirish siyosatini, ustuvorlik sxemasini, resurslar monitoringini va resurslarni boshqarishni ta'minlaydi. Foydalanuvchilar o'zlarining ketma-ket yoki parallel ishlarini Condorga topshiradilar, Kondor ularni navbatga qo'yadi, siyosat asosida ishlarni qachon va qayerda bajarishni tanlaydi, ularning borishini diqqat bilan kuzatib boradi va oxir-oqibat foydalanuvchiga bajarilganligi haqida xabar beradi. Condor foydalanuvchilarga harakatsizlikdan foydalanish imkonini beradi. ular aks holda kirish imkoniga ega bo'lmagan mashinalar. Ishlarni bajarish uchun bo'sh ish stantsiyalarini qidiradi. Egasi ishni qayta boshlaganida, Kondor ishni boshqa mashinaga o'tkazadi. Bu bepul yuklab olish uchun mavjud. Ushbu imtiyozlardan foydalanish uchun manba kodini o'zgartirish shart emas. Condor kutubxonalari bilan qayta bogʻlanishi mumkin boʻlgan kod yana ikkita variantga ega boʻladi: Jobs toʻxtash nuqtalarini yaratishi va masofaviy tizim qoʻngʻiroqlarini amalga oshirishi mumkin. Condor foydalanuvchining ish stantsiyasida ishlaydi, ildizga kirish va tizim ma'murining aralashuvini talab qilmaydi. Condor foydalanuvchiga Condor ishlari orasidagi bog'liqliklarni belgilashga imkon beruvchi yo'naltirilgan asiklik grafik menejerini o'z ichiga oladi, shunda u ularni avtomatik ravishda boshqarishi mumkin. Condor Unix va Windows NT da ishlaydi. Agar mavjud bo'lsa, umumiy fayl tizimidan foydalanishi mumkin, agar umumiy fayl tizimi bo'lmasa, Condor fayllarni uzatishi mumkin. 4. CLUSTER PROGRAMMING ENVIRONMENTS 4. KLASTER DASTURLASH MUHITLARI Klaster dasturlash muhitlarining asosiy tasnifi xotiraga bog'liq. Agar umumiy xotirangiz bo'lsa, quyidagi variantlardan birini ishlatishingiz mumkin - DSM (Distributed Shared Memory) - Threads/OpenMP (klasterlar uchun yoqilgan) - Java Threads (HKU JESSICA, IBM cJVM). Agar umumiy xotira bo'lmasa, xabarni uzatish mexanizmidan foydalanish mumkin. Eng mashhur ommaviy axborot vositalari - PVM (parallel virtual mashina) - MPI (xabarni uzatish interfeysi) Keyingi bo'limlar faqat qisqacha xabar almashish muhitlarini tavsiflaydi. 4.1 PVM PVM ni ishlab chiqish 1989 yilda boshlangan. PVM dizaynida markaziy o'rinni "virtual mashina" kontseptsiyasi tashkil etdi - foydalanuvchiga mantiqiy ravishda bitta katta parallel kompyuter sifatida ko'rinadigan tarmoq orqali ulangan heterojen xostlar to'plami. PVM da dasturchi C (yoki Fortran) da yozilgan topshiriqni alohida dasturlarga ajratadi, ular odatda master-slave uslubida tashkil etiladi. Ushbu dasturlar tarmoqdagi kompyuterlarda ishlash uchun mo'ljallangan. Yaratish variantlari qaysi kompyuterdan foydalanishni belgilashni o'z ichiga oladi. Dasturlar kompilyatsiya qilishdan oldin dasturlarga o'rnatilgan PVM kutubxonasi tartiblari yordamida xabarlarni uzatish orqali muloqot qiladi. Ma'lumotlar xabar buferlari orqali yuboriladi va qabul qilinadi. PVM kutubxonasi nuqtadan nuqtaga xabar almashish tartiblarini va ko'p tarmoqli xabar almashish tartiblarini (efirga uzatish, tarqatish, to'plash va operatsiyalarni qisqartirish) o'z ichiga oladi. Shuningdek, jarayonlarni yaratish va bajarish uchun tartiblar ham kiritilgan. PVM parallel dasturlashni o'rgatish uchun o'quv vositasi sifatida PVM dan foydalanishdan tashqari muhim ilmiy, ishlab chiqarish va tibbiy muammolarni hal qilish uchun ishlatiladi. O'n minglab foydalanuvchilar bilan PVM butun dunyo bo'ylab taqsimlangan hisoblash uchun de-fakto standartga aylandi. 4.2 MPI MPI qisqartmasi Message Passing Interface degan ma'noni anglatadi. Xabarlarni uzatish - bu parallel mashinalarning ma'lum sinflarida, xususan, xotira taqsimlangan mashinalarda keng qo'llaniladigan paradigma. MPI sotuvchilar, ishlab chiquvchilar va foydalanuvchilarning keng qo'mitasi tomonidan standart sifatida taklif qilingan xabarlar kutubxonasi uchun spetsifikatsiyadir. MPI massiv parallel mashinalarda ham, ish stantsiyalari klasterlarida ham yuqori unumdorlikni ta'minlash uchun mo'ljallangan. MPI-da C va Fortran (hozirgi Java) ulanishlari mavjud. U portativ (kodni yozgandan so'ng deyarli barcha HPC platformalarida, shu jumladan klasterlarda ham ishlashi mumkin). MPI-dan foydalanadigan dasturlar mahalliy apparat imkoniyatlaridan foydalanish tufayli yaxshi ishlashga ega. MPI keng ko'lamli funksionallikni ta'minlaydi - u 129 dan ortiq funktsiyalarni o'z ichiga oladi, ularning ko'pchiligida ko'plab parametrlar yoki variantlar mavjud. Bu xususiyatlar atrof-muhitni boshqarish, nuqtadan nuqtaga va umumiy aloqani, jarayon guruhini, aloqa dunyosini, olingan ma'lumotlar turlarini va virtual topologiya tartiblarini qo'llab-quvvatlaydi. Sinxronizatsiya vositalari ham taqdim etiladi. MPI dasturlash modelida hisoblash boshqa jarayonlarga xabar yuborish va qabul qilish uchun kutubxona tartiblarini chaqirish orqali muloqot qiladigan bir yoki bir nechta jarayonlarni o'z ichiga oladi. Download 54.81 Kb. Do'stlaringiz bilan baham: |
1 2
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling