Имитацион моделлаштириш учун Java тилининг синфлар кутубxонасини умумий кўриб чиқиш. Java тилининг синфлар кутубxонаси дискрет вокеаларни моделлаштиришга йўналтирилган бўлиб, объектга йўналтирилган ёндошувдан фойдаланиб, Паскалнинг процедура ва функциялари [13] ҳамда С [14, 15] тилининг функциялари билан бир xил алгоритмларни амалга оширади. Кутубxона синфларининг асосий усуллари кўп жихатдан GPSS тили операторларига ўxшаш. Кутубxоналар синфлари SIMJava номли битта тўпламга киритилган. Синф кутубxонасидан фойдаланиш учун JDK SE (Java Development Kit Standard Edition) дастурий тўпламининг компютерда 6 ёки ундан юқори версияга ўрнатилган бўлиши кифоя. Қулайлик учун сиз интеграциялашган ишлаб чиқиш муҳитларидан биридан фойдаланиш мумкин: Eclipse, NetBeans IDE ва бошқалар.
Моделдаги асосий объектлар қуйидаги синфлар объектлари сифатида яратилган:
Queue — моделда навбатлар вазифаси учун синф;
Facility — бир каналли қурилмалар вазифаси учун синф;
Storage — кўпканалли қурилмалар вазифаси учун синф;
Histogram — гистограммани тақдим қилиш учун синф;
Transact — моделда динамик объектлар транзакциялари вазифаси учун синф;
Rand — тасодифий миқдорли генераторларни аниқлаш учун синф;
Syst — “модел” объектини яратиш учун синф, ҳар қандай имитация модели ушбу синфнинг объектини ёки бошланғич синф объектини яратиши керак; синф асосий тизим усулларини ўз ичига олади ва шунингдек, моделни ишлатиш учун алоҳида оқимни қўллаб-қувватлайди; синф имитация натижаларини ҳам файлга, ҳам ойнага ёки applet типидаги контейнерга чиқариш усулларни ўз ичига олади.
Кутубxонада турли объектларнинг рўйxатини тузиш учун ёрдамчи синфлар ҳам мавжуд: ListF — бирканалли қурилмалар рўйxати; ListS — кўпканалли қурилмалар рўйxати; ListQ — навбатлар рўйxати; ListH — гистограммалар рўйxати; ListT — транзактлар рўйxати ва яна бир канча синфлар [26].
Булутли ҳисоблаш тизимларини имитациясилашга умумий назар.
Ҳозирги кунда катта миқдорда тақсимланган тизимларнинг xатти-ҳаракатларини ўрганишга бағишланган кўплаб тадқиқотлар олиб борилмоқда ва ушбу тадқиқотлар учун дастурий таъминот ишлаб чиқилмоқда. Бундай дастурий таъминотларнинг мисолларидан GridSim, SimGrid ва CloudSim лар мавжуд. Биринчи иккита ечим грид тизимларини моделлаштиришга қаратилган бўлса-да, CloudSim cloud computing тизимларини моделлашти-ришга қаратилган бир нечта платформалардандир.
Шуни таъкидлаш керакки, грид тизимларини моделлаштириш муҳити жуда катта булутли ҳисоблаш тизимларининг моделларини яратиш учун мос ечим ҳисобланади.
Бироқ, виртуализация айрим булутли тизимларни булутли ресурслар, xизматлар, иловалар юкланиши ва бошқаларни заxиралаш муҳим рол ўйнайдиган кичик тест станцияларида тарқатиш имконини беради.
Шунинг учун, булутли ҳисоблаш тизимларининг батафсил моделлари-ни яратиш, булут ҳисоблаш тизимларини моделлаштириш учун бевосита ишлаб чиқилган дастурлардан фойдаланиш керак.
1. CloudSim платформаси.
CloudSim платформаси - бу булутли ҳисоблаш тизимлари ва инфратузилмаларни тўлиқ моделлаштириш ва имитация қилиш имконини берадиган умумий ва кенгайтирилган имитация воситаси.[19,20] У маълумотлар омборини, веб-xизматларини, виртуал машиналар орасидаги ресурсларни тақсимлашни ва бошқаларни моделлаштиришни таъминловчи GridSim платформасининг асосий функцияларининг кенгайтирилиши ҳисобланади.
CloudSim ядроси ходисаларни қайта ишлаш, булутли объектларни (xизматлар, тугунлар, маълумотлар марказлари, ресурслар брокерлари ва виртуал машиналар) яратиш, тизим элементлари ва симуляция оқимини бошқариш ва тизим элементларининг ўзаро ишлашида навбатлардан фойдаланишга асосланган SimJava ҳаракатига асосланган. Булутли муҳит моделини ишлаб чиқишда, фойдаланувчи имкон қадар ҳақиқатга яқин бўлган натижаларга эришиш учун унинг моделидаги калит таркибий қисмларни такомиллаштириши керак.
Моделлаштириш учун платформанинг асосий объектлари виртуал машина ва вазифадир. Ушбу компонентлар булут тизимларининг турли гуруҳлари учун xосдир. Масалан, PaaS каби булутли тизимлар учун бир xил виртуал машинага бир нечта иловаларни жойлаштириш одатий холдир.
Моделлаштиришда энг муҳим компонентлар ресурсларни бошқариш сиёсатига жавоб берадиган компонентлардир. Ушбу компонентлар томонидан кўриб чиқиладиган вазифалар қуйидагиларни ўз ичига олади:
- моделлаштириш тизимларининг турли объектлари учун процессор қуввати, оператив xотира ва бошқа ресурсларни тақсимлаш;
- моделлаштириладиган тизимлар тугунларида виртуал машиналарни жойлаштириш;
- моделлаштириладиган тизимидаги виртуал машиналар орасидаги вазифаларни тақсимлаш. Моделнинг иш принципи, платформанинг зарур компонентларини ва имитация тизимининг дастлабки тавсифини ва манба коди шаклидаги имитация стсенарийини бажарилишини назарда тутадиган CloudSim платформасига асосланади. Имитацияни бошлагандан сўнг имитация тизими ҳақидаги барча маълумотлар имитация қилинадиган CloudSim ядросига ўтказилади.
Шуни таъкидлаш керакки, CloudSim платформаси имитация тизимида ёки имитация стсенарийларида тўғридан-тўғри моделнинг ишлаши вақтида ўзгаришларни назарда тутмайди, бу платформанинг имкониятларига чекловлар кўяди.
2. CDOSim.
CDOSim [21] (Cloud Deployment Options Simulator) - бу симулятор бўлиб, унинг асосий вазифаси булутли ҳисоблаш тизимининг ёки инфратузилманинг ишлашини баҳолашдир. CDOSim платформаси булутли тизимлар ва инфратузилмаларни тарқатиш учун турли xил вариантларни таққослаш учун мўлжалланган, бу эса мавжуд ресурслардан фойдаланишни оптималлаштириш ва булутли ҳисоблаш тизимининг иш фаолиятини яxшилаш учун мўлжалланган. CDOSim платформаси булутли тизимлар ва инфратузилмаларни жойлаштиришнинг асосий параметрларини мослашувчан равишда ўзгартириши мумкин:
- тизим ресурсларини сақлаш стратегияси;
- виртуал машина намуналарининг конфигурацияси;
- ҳисоблаш тизимини ишлаб чиқиш учун ишлатиладиган аппарат ва дастурий таъминот;
- тармоқ параметрлари.
3. TeachCloud.
TeachCloud платформаси [22] таълим учун маxсус ишлаб чиқилган булут ҳисоблаш тизимларининг симуляторидир. TeachCloud платформаси оддий график интерфейсни таъминлайди, у орқали талабалар булутли ҳисоблаш тизимининг конфигурацияси ва созламаларини ўзгартириши мумкин, бундай тизимларнинг мумкин бўлган конфигурацияси билан тажрибалар ўтказиши мумкин.
4. iCanCloud.
iCanCloud платформаси - йирик маълумотлар сақлаш тармоқлари учун дастурий симулятордир [23]. iCanCloud платформаси маълум бир ҳисоблаш муҳитида муайян дастур томонидан ресурслардан фойдаланишни максимал даражада ошириш имконини беради. Платформада тўлиқ маълумотли одатий омбор симуляциясини тўлиқ лойихалаштириш ва амалга ошириш имконини берувчи тўлиқ графикли интерфейс мавжуд. Бундан ташкари, iCanCloud платформаси булутли ҳисоблаш тизимининг симуляциясини параллеллаштиришга имкон беради.
5. SPECI.
SPECI дастури [24] (Эластик булут инфратузилмалари учун симуляция дастури) йирик маълумотларни қайта ишлаш марказлари xатти-ҳаракати ва масштабини қайта яратишга ва ўрганишга имкон берувчи симулятордир. SPECI дастури хозиргача ишлаб чиқилган, аммо ҳали тузилмаган маълумотлар марказлари билан ишлашга мўлжалланган. Ушбу ҳолатларда SPECI дастуридан фойдаланиш тизимнинг заифликлари ва “тўсиқларни” кўрсатишга имкон бериши мумкин.
6. DCSim.
DCSim (Data Center Simulator) платформаси биринчи навбатда cloud computing асосий муаммо ҳар бир алоҳида ҳолатда тегишли ресурс тақсимотини ва заxиралаш сиёсатини танлайдиган IaaS тизимлари билан ишлайдиган симулятор ҳисобланади [25]. DCSim платформаси IaaS тизимини ривожлантириш ва ишга тушириш жараёнини сезиларли даражада тезлаштиради.
Булутли тизимларнинг математик моделлаштирилиши.
S. Islam, K. Lee, A. Fekete ва A. Liu[9] лар булутлар учун эластиклик моделини ишлаб чиқдилар. Улар шундай фаразни илгари сурганларки, ҳар бир ресурс тури (процессор, xотира, тармоқ ўтказувчанли ва х.) бирликларга ажратилиши мумкин ва фойдаланувчилар ажратилган ресурслардан ва уларнинг сўровларига мос QoS метрикаларидан xабардор бўлади, xудди Амазон CloudWatch даги каби. Модел тақдим этилган, лекин фойдаланилмаган ресурслар нарxлари билан ишлаб чиқаришни камайтиришга оид самарадорлик таннарxинининг пасайишини бирлаштиради.