Bulutli infrastrukturada tarmoq resurslarini

|
Bulutli infrastrukturada tarmoq resurslarini
|
bet | 17/34 | Sana | 15.05.2024 | Hajmi | 4,46 Mb. | | #236274 |
Bog'liq BULUTLI TEXNOLOGIYALARBulutli infrastrukturada tarmoq resurslarini samarali tashkillashtirish usuli
Bulutli tizimda joylashgan yuklamani balanslash (load balancer). Kompyuterlarda yuklamani balanslash bir qancha hisoblash resurslari, masalan kompyuterlar, tarmoqlar, markaziy protsessorlar yoki disklar o‘rtasida yuklamani taqsimlashdir. Yuklamani balanslashdan asosiy maqsad –tizimda bo‘lish vaqtini minimallashtirish, kechikish vaqtini minimallashtirish, resurslardan foydalanishni oshirish, javob berish vaqtini qisqartirish o‘tkazuvchanlikni oshirish uchun tugunlar orasida yuklamani tenglashtirishdir va boshqalardan iborat. Bitta komponent o‘rniga bir nechta komponentlarni ishlatish tarmoq ishonchliligi va kirish imkoniyligini oshirishi mumkin.
Bulutlarda yuklamani balanslash ortiqcha yuklamani barcha tugunlar bo‘ylab muntazam taqsimlaydigan mexanizmdir. Bu foydalanuvchi talablarini yuqori darajada qondirish va resurslardan foydalanish foizini oshirish, bitta tugunga yuklamani oshirib yubormaslikka erishish uchun va buning natijasida tizimning samaradorligini yaxshilashga erishish uchun amalga oshiriladi. Bu yerda muhim masala bu eng qisqa vaqt ichida hisoblashni tugatish uchun protsessorlar orasida yuklamani taqsimlashda qanday qilib balansga erishish mumkinligidir. Parallel va taqsimlangan tizimlarda serverlar orasida yuklamani taqsimlash uchun yuklamani balanslash konsepsiyasi foydalaniladi.
Bulutli infrastrukturada tizimga tushuvchi oqimlarni multiagentli usul yordamida xizmat ko‘rsatish orqali paketlarning tizimda bo‘lish vaqtini qisqartirishga erishish mumkin. Bu bulutli hisoblash tizimida yuklamani balanslash (load balancing) orqali amalga oishriladi.
Bulutli hisoblash tizimida yuklamani balanslash (load balancing) - bulutli hisoblash resurslaridan foydalanishni optimallashtirish, so‘rovlarga javob xizmat ko‘rsatish vaqtini qisqartirish orqali tarmoq samaradorligini oshirish maqsadlarida bir qancha tarmoq qurilmalari (masalan, serverlar) orasida yuklamani taqsimlash usulidir.
Yuklamani balanslovchi (Load balancer) hisoblash resurslari orasida yuklamani taqsimlashni amalga oshiradi. Quyidagi 2.6-rasmda yuklamani balanslvchining bulutda joylashish o‘rni ko‘rsatilgan.
2.6- rasm. Bulutli tizimda joylashgan yuklamani balanslovchi (load balancer).
Yuklamani balanslovchi Internet tarmog‘i orqali bulutning hisoblash resurslariga kelib tushuvchi oqimlarni bulutdagi hisoblash resurslariga taqsimlashni amalga oshiradi. Yuqoridagi rasmdan ko‘rinib turibdiki, yuklamani balanslovchi (load balancer) bulutli infrastrukturada chegaraviy qismida provayderning boshqaruv qismida joylashadi. 2.7-rasmda esa uning joylashish o‘rni aniqroq ko‘rsatilgan. Yuklamani balanslovchi buni qanday tartibda amalga oshirilishi unga kiritilgan taqsimlash algoritmidan kelib chiqib amalga oshiriladi. Masalan bu algoritm odatiy halqali taqsimlash (tugunlarga navbat bo‘yicha yuklamani teng taqsimlash), vaqt bo‘yicha taqsimlash (belgilangan vaqt intervallarida har bir tugunga yuklamani taqsimlash), ehtimollik bo‘yicha, o‘zimiz yaratgan algoritm bo‘yicha multiagentli usul algoritmlari bo‘lishi mumkin.
2.7- rasm. Yuklamani balanslovchi (load balancer) bulutda provayderning boshqaruv qismida joylashadi.
Multi-agentli tizimlar keng miqyosli taqsimlangan va murakkab tizimlarning mavjud talablariga, masalan, avtonom transport tizimlari yoki xavflarni boshqarishga qaratilgan istiqbolli texnologiya sifatida qaraladi. Multi-agentli tizimlar ilovalari millionlab tarqatilgan tugunlar bilan xarakterlanadigan bunday yirik tizimlarga tezkor hisoblash vaqti bo‘yicha maxsus talab qo‘yadi.
Multi-agent tizimi bilan bulutli hisoblash tizimi integratsiyasi. Multi-agentli tizimlar bu avtonom agentlarga asoslangan, ishlarni markazlashmagan va parallel amalga oshirish bilan tavsiflanadigan, sun’iy intellekt sohasidan kelib chiqqan hisoblash paradigmasi. Agentlar cheklangan bilim va ko‘nikmalarga ega bo‘lgani uchun, ular o‘zaro ishlashi kerak, masalan, 2.7-rasmda ko‘rsatilgandek, o‘zlarining alohida maqsadlariga erishish uchun o‘zaro muloqot qilishlari kerak. Bunday yechimlar bilan taqdim etilgan yuqori darajadagi avtonomlik va hamkorlik ularga o‘zgarishlarga tezkorlik bilan javob berish imkonini beradi. Multi-agentli tizimlar oddiy tizimlar yechishi qiyin yoki imkonsiz bo‘lgan muammolarni yechishda foydalanilishi mumkin.
Bunda ular to‘liq va dinamik real-ishlash muhitini ko‘rsatib berish uchun modellar taklif etadi. Foydalanish sohalari elektron tijorat, ishlab chiqarish, robototexnika va telekommunikatsiya hisoblanadi.
2.8- rasm. Multi-agent tizimlariga misol.
Agar taqdim etilgan ro‘yxatga olish va boshqaruv xizmatlari kabi foydali xususiyatlar va xizmatlar afzalliklarini olib, agentni rivojlantirish platformasidan foydalanilsa, multi-agent tizimli yechimlarni yaratish o‘ta soddalashadi. Ayrim hollarda, ular Intellektual Jismoniy Agentliklar Fondi (FIPA-Foundation for Intelligent Physical Agents) tomonidan yaratilgan bayonnomalarga amal qiladi. Bunday agentlarni ishlab chiqish platformalarining misollari Java Agent Development Framework (JADE), AGlobe va JACK. JADE bu Java ga asoslangan ilovalarning tarqalishini qo‘llash uchun Remote Method Invocation (RMI) dan foydalanadigan Javaga asoslangan arxitekturadir. Bu kam dasturiy qiyinchiliklarni va agent asosidagi yechimlar boshqaruvini qo‘llab-quvvatlash xususiyatlarini taqdim etishi, boshqa vositalar bilan oson integratsiyani ta’minlashi bilan FIPA bayonnomalari bilan mos keladi.
Dissertatsiya ishida bulutli hisoblash tizimlarida multi-agent yordamida tizimga tushuvchi yuklamani samarali balanslash uchun AnyLogic simulyatsiyalash muhitida model yaratish ko‘zda tutiladi.
Bulutli infrastruktura muhitini modellashtirish. Modelni amalga oshirish uchun AnyLogic muhitida bulutli tarmoq, Internet tarmog‘i, bir qancha agentlardan foydalanamiz. Imitatsiya strukturasi 2.9-rasmda berilgan.
2.9- rasm. Multi-agent tizimi bilan bulutli hisoblash tizimi integratsiyasi.
Yuklamani balanslovchi agent dastlab o‘ziga kiruvchi so‘rovlarni (paketlarni)
kutadi. Undan keyin mavjud tugunlarni to‘plamini shakllantiradi. Undan keyin har bir tugunlar yuklamasi bo‘yicha ma’lumotlarni yig‘adi. Keyin qaysi tugun qaysi xizmat turiga xizmat ko‘rsatishi aniqlaydi. Olingan tugunlardagi yuklamalar qiymatlari hamda qabul qilingan paketning xizmat turi bo‘yicha kerakli tugun (virtual mashina) tanlanadi va unga paketlarni xizmat ko‘rsatish uchun uzatadi. Yuklamani balanslovchi agentning ishlash algoritmi rasmda keltirilgan.
2.10- yuklamani balanslovchi agentning ishlash algoritmi.
Multi-agentli tizimlar tamoyillaridan foydalanishning yana bir darajasi Agent Asosida Modellashtirish (ABM-Agent-Based Modelling) deb nomlanadi, u kooperativ agentlar tomonidan joylashtirilgan tizimlarni yaratish, tahlil qilish, tajriba qilish va simulyatsiya qilish uchun paradigma. Simulyatsiya dinamikasi agentning xatti-harakati qoidalari sifatida belgilanadi va simulyatsiya maqsadi individual darajadagi xatti- harakatlar natijasi bo‘lgan aholi darajasidagi tuzilishni ko‘rsatishdir.
2.11- rasm. Multi-agent yordamida taqsimlash modelining strukturasi.
Ularning barchasini AnyLogic simulyatsiyalash muhitida yig‘ib bitta umumiy tarmoq sxemasini yaratamiz (2.12- rasm).
2.12- rasm. AnyLogic simulyatsiyalash muhitida hosil qilingan multi-agent tizimli bulutli infrastruktura.
Bulutli infrastrukturada so‘rovlar hisoblash resurslariga kelib tushishidan avval, tizimdagi agentlar o‘rnatilgan algoritmlar bo‘yicha ularni eng maqbul tugunga xizmat ko‘rsatish uchun jo‘natadi. Bunda agentga turli xil algoritmlarni kiritish orqali tarmoq samaradorligini oshirishga erishish mumkin. Xizmat turlarini ajratish, tugunlarni yuklamasini aniqlash, so‘rovlarni ma’lum bir hisoblash resurslariga jo‘natish va hokazolar agent imkoniyatlariga kiradi. Ushbu dissertatsiya ishida multi-agent tizimidan tarmoqda yuklamani balanslash orqali so‘rovlarga javob berish vaqtini, ushbu paketlarni tizimda bo‘lish vaqtini kamaytirishga erishish, buning natijasida bulutli xizmat foydalanuvchilarga tezroq xizmat ko‘rsatishga erishish, xizmat ko‘rsatish sifati (QoS) ni oshirish mumkin.
Modeldagi bulutli tarmoqda imitatsiyani amalga oshirish uchun shartli ravishda 3 ta server olingan. Bu serverlarning har biri esa 3 xil turdagi xizmat paketlariga xizmat ko‘rsatadi. Modeldagi dastlabki agent (exit) xizmat turlarini aniqlashga mo‘ljallangan. U kelayotgan so‘rovlarning qaysi xizmat turiga tegishli ekanligini aniqlaydi, keyingi 3 ta agentlar esa (exit1, exit 2, exit 3) faqat bitta turdagi xizmat turini aniqlaydi.
Yaratilgan tarmoqda IP tarmoqdan keyingi qismi bulutli muhitning ichki qismi. Modelda dastavval 3 xil turdagi xizmat paketlarini hosil qiluvchi 3 ta generator (real holatda turli xil abonent qurilmalari) olingan. Bu generatorlarning so‘rovlari IP tarmoq orqali bulutli infrastrukturaga yetib keladi. 2.12-rasmda ushbu 1-generatorga 1-turdagi xizmat paketi (service1 paketi) shakllantirilishi ko‘rsatilgan.
2.13- rasm. Generatorda xizmat paketini hosil qilish.
Xuddi shu tarzda 3 ta generatorlarda 3 xil xizmat paketlari hosil qilinadi.
Undan keyin bulutli tarmoqda joylashgan dastlabki agentga xizmat turini aniqlash vazifasi dasturi yoziladi (2.14- rasm). Bunda u kiruvchi so‘rov paketlarining qaysi xizmat turiga tegishli ekanligini aniqlaydi.
2.14- rasm. Xizmat turi bo‘yicha paketni keyingi agentga uzatish.
Paket turi aniqlangach ushbu paket turiga xizmat ko‘rsatuvchi agentga paketni uzatadi. Modeldagi keyingi 3 ta agentlarning har biri turlicha va faqat bir turdagi so‘rovlarga xizmat ko‘rsatadi. Rasmda dastlabki agentning xizmat turini aniqlagach keyingi tegishli agentga uzatish uchun agentga kod yozilishi ko‘rsatilgan. Paketni qabul qilib olgan keyingi agentlardan biri serverlardagi ushbu paketga xizmat ko‘rsatuvchi virtual mashinalarning qaysi biri eng kichik yuklanish bilan ishlayotganligini aniqlaydi. Ushbu yuklamalar modeldagi virtual mashinalarning utilizatsiya qiymatlari bilan aniqlanadi. 2.15-rasmda agentga eng kichik utilizatsiya qiymatini aniqlash algoritmi kiritilishi ko‘rsatilgan.
2.15- rasm. Agentda eng kam yuklanishga ega hisoblash resursini aniqlash.
Modelda bulutli infrastrukturada turgan 3ta hisoblash resurslari (serverlar) ning har biri 3 ta virtual mashinalarga ajratilgan. Uchchala serverning ham 1-virtual mashinalari (VM1.1, VM2.1, VM3.1) faqat 1-turdagi xizmat paketiga xizmat ko‘rsatadi. Xuddi shunday ularning 2-virtual mashinalari (VM1.2, VM2.2, VM3.2) 2- turdagi xizmat paketlariga va 3-virtual mashinalari (VM1.3, VM2.3, VM3.3) esa 3- turdagi xizmatlar paketlariga xizmat ko‘rsatadi.
Virtual mashinalardan qaysi biri eng kichik yuklama bilan ishlayotgan bo‘lsa agent kiruvchi paketlarni o‘sha virtual mashinalarga hisoblash (xizmat ko‘rsatish) uchun jo‘natadi. Paketlarni qabul qilib oluvchi virtual mashinalar ularga xizmat ko‘rsatishga kirishadi. Kiruvchi paketlarga faqatgina o‘sha VM xizmat ko‘rsatadi va vaqt o‘tishi bilan unga kelib tushuvchi paketlar soni oshib borishi bilan undagi yuklama qiymati ham oshib boradi. Qachonki undagi yuklama qiymati ortib undan ko‘proq yuklamaga ega bo‘lgan VM yuklamasidan oshganda algoritm bo‘yicha yuklamani nazorat qilayotgan agent ishga tushadi. U darhol kiruvchi paketlarni yuklamasi kam bo‘lib kolgan boshqa VM ga uzatishni boshlaydi. Xuddi shu yo‘sinda bulutli infrastrukturada tizimga kelib tushuvchi so‘rovlarga xizmat ko‘rsatish amalga oshiriladi va ortiqcha yuklama bilan ishlayotgan hisoblash resurslari o‘rniga eng kam yuklanishli hisoblash resurslaridan foydalanib javob berish vaqti (response time) va tizimda bo‘lish vaqti (execution time) lar qiymati qisqartirishga erishiladi. Ushbu vaqtlarning qisqarishi bulutli infrastrukturada xizmat ko‘rsatish sifati (QoS) oshishini bildiradi hamda tarmoqdagi hisoblash resurslaridan samarali foydalanishni amalga oshirishni bildiradi.
|
| |