201.77K

Басымдыққа жатпайтын жүйелерді әр түрлі кезек үлгілерімен модельдеу

1.

Қазақстан Республикасы білім және ғылым министрлігі
Әл - Фараби атындағы Қазақ Ұлттық Университеті
Факультеті «____________ЭжБЖМ___________________»
Кафедрасы «__________Бизнес технология________________»
СЕМИНАР-8
Тақырыбы:Басымдыққа жатпайтын жүйелерді әр түрлі кезек
үлгілерімен модельдеу

2.

Алматы, 2021ж
ЖОСПАР:
1. Кіріспе.
2. Негізгі бөлім.
2.1. Компоненттері, күйі және уақыт элементтері.
2.2. Модельдеу оқиғалар тізімі.
2.3. Кездейсоқ сандар генераторлары.
2.4. Статистикасы, аяқталу күйі, үш фазалы тәсіл.
2.5. Жалпы қолданысы.
3. Қорытынды.
4. Пайдаланылған әдебиеттер.

3.

1. Кіріспе.
Басымдыққа жатпайтын жүйелерді әр түрлі кезек үлгілерімен
модельдеу - жүйенің жұмысын уақыттағы оқиғалардың реттілігі ретінде
модельдейді. Әрбір оқиға белгілі бір сәтте орын алады және жүйенің күйінің
өзгеруін көрсетеді.
Тізбектелген оқиғалар арасында жүйеде ешқандай өзгеріс болмайды
деп есептеледі; осылайша модельдеу уақыты келесі оқиғаның пайда болу
уақытына тікелей ауыса алады, оны келесі оқиғаның прогрессиясы деп
атайды.
Келесі оқиға уақытының прогрессиясынан басқа, уақыттың аз уақыт
тілімдеріне бөлінетін және жүйенің күйі уақыт ішінде болып жатқан
оқиғалар / іс-шаралар жиынтығына сәйкес жаңартылатын тұрақты өсетін
уақыт прогрессиясы деп аталатын балама тәсіл де бар. кесінді.
Әрқашан кесінді модельдеуге тура келмейтіндіктен, келесі уақыттағы
симуляция сәйкесінше бекітілген өсім уақытының модельдеуіне қарағанда
әлдеқайда жылдам жұмыс істей алады.
Басымдыққа жатпайтын жүйелерді әр түрлі кезек үлгілерімен
модельдеуекі формасы да күй айнымалыларының өзгеру жылдамдықтарын
анықтайтын дифференциалдық теңдеулер жиынтығы негізінде жүйелік күй
уақыт бойынша үздіксіз өзгеріп отыратын үздіксіз имитациялардан
ерекшеленеді.
Басымдыққа жатпайтын жүйелерді әр түрлі кезек үлгілерімен
модельдеуді қалай құруға болатындығын білуге арналған жаттығу - кезекті
модельдеу, мысалы, банкке кассир қызмет көрсету үшін келетін клиенттер.
Бұл мысалда жүйе субъектілері - тұтынушы кезегі және Tellers.
Жүйелік оқиғалар - клиенттің келуі және клиенттің шығуы.
(«Теллер-бастайды-қызмет» оқиғасы келу және кету оқиғаларының
логикасының бөлігі болуы мүмкін.)
Осы оқиғалармен өзгертілетін жүйенің күйі - кезекте тұрған
тұтынушылар саны (келесіден бүтін сан 0-ден n) және Теллер күйі (бос
немесе бос).

4.

Осы жүйені стохистикалық модельдеу үшін сипатталуы керек
кездейсоқ шамалар - тұтынушы-келу-уақыт және теллер-қызмет-уақыт.
2. Негізгі бөлім.
Оптимистік параллельді дискретті оқиғалар симуляторының
өнімділігін модельдеуге арналған агент негізі басымдыққа жатпайтын
жүйелерді әр түрлі кезек үлгілерімен модельдеудің тағы бір мысалы болып
табылады.
2.1.
Компоненттері, күйі және уақыт элементтері.
Жүйелік оқиғалар болған кезде не болатыны туралы логикадан басқа,
оқиғалардың басымдыққа жатпайтын жүйелерді әр түрлі кезек үлгілерімен
модельдеугекелесілер кіреді:
• Басымсыз кезек,
• Анимация оқиғаларын өңдеуші және
• Уақытты қайта қалыпқа келтіру өңдеушісі (модельдеу жұмыс істеген
кезде уақыт айнымалылары дәлдікті жоғалтады. Біраз уақыттан кейін барлық
уақыт айнымалылары соңғы өңделген оқиға уақытын шегеру арқылы қайта
қалыпқа келтірілуі керек).
• Күйі
Жүйелік күй - бұл зерттелетін жүйенің айқын қасиеттерін
жинақтайтын айнымалылар жиынтығы. S (t) уақыт траекториясын
математикалық түрде оқиға болған сайын мәні өзгеретін қадамдық
функциямен ұсынуға болады.
• Уақыт.
Модельдеу жүйеге сәйкес келетін өлшем бірліктерінде модельдеу
ағымдық модельдеу уақытын қадағалап отыруы керек.
Басымдыққа жатпайтын жүйелерді әр түрлі кезек үлгілерімен
модельдеуде, үздіксіз имитациялардан айырмашылығы, уақыт «секіреді»,
өйткені оқиғалар лезде жүреді - симуляция жалғасқан кезде сағат келесі
оқиғаның басталу уақытына өтеді.

5.

2.2.
Модельдеу оқиғалар тізімі
Модельдеу модельдеу оқиғаларының кем дегенде бір тізімін жүргізеді.
Мұны кейде күтілетін оқиғалар жиыны деп те атайды, өйткені онда бұрын
имитацияланған оқиғаның нәтижесінде күтіліп отырған, бірақ өздері
модельденбеген оқиғалар келтірілген.
Оқиға болған уақытты және типті сипаттайды, бұл оқиғаны
имитациялау үшін қолданылатын кодты көрсетеді. Оқиға кодының
параметрленуі әдеттегідей, бұл жағдайда оқиға сипаттамасында оқиға
кодының параметрлері де болады.
Оқиғалар лезде болған кезде, уақыт бойынша созылатын іс-шаралар
оқиғалар тізбегі ретінде модельденеді. Кейбір модельдеу шеңберлері
оқиғаның уақытын интервал ретінде көрсетуге мүмкіндік береді, әр оқиғаның
басталу және аяқталу уақытын береді.
Лездік
оқиғаларға
негізделген
бір
ағынды
имитациялық
қозғалтқыштарда бір ғана ағымдағы оқиға болады. Керісінше, көп бұрандалы
модельдеу қозғалтқыштары мен интервалға негізделген оқиға моделін
қолдайтын имитациялық қозғалтқыштарда бірнеше ағымдағы оқиғалар
болуы мүмкін.
Екі жағдайда да, ағымдағы
айтарлықтай проблемалар бар.
оқиғалар
арасындағы
үндестіруде
Күтілетін іс-шаралар жиынтығы, әдетте, оқиға уақыты бойынша
сұрыпталған кезек ретіндегі ретке келтірілген. Яғни, оқиғалар жиынтығына
қандай ретпен қосылатындығына қарамастан, олар қатаң хронологиялық
тәртіпте жойылады.
Басымдыққа жатпайтын жүйелерді әр түрлі кезек үлгілерімен
модельдеу контекстінде кезек күттіретін әр түрлі іске асырулар зерттелді;
зерттелген балама нұсқаларға ағаштар, скип тізімдері, күнтізбелік кезектер,
және баспалдақ кезектері кірді.
Жаппай параллель машиналарда, мысалы, көп ядролы немесе көп
ядролы процессорлар, күтілетін оқиғалар жиынтығын қатарлас тізбектер
арасында синхрондау құнын төмендету үшін блокталмайтын алгоритмдерге
сүйене отырып жүзеге асыруға болады.

6.

Әдетте, іс-шаралар динамикалық түрде жоспарланады, өйткені
модельдеу жүріп жатыр. Мысалы, жоғарыда көрсетілген банктік мысалда, t
уақытындағы ТҰТЫНУШЫ-ОРАЛУ оқиғасы, егер ТҰТЫНУШЫЛАРКЕЗЕГІ бос болса және БАЯНДАУШЫ бос болса, келесі ТҰТЫНУШЫҰШЫП КЕТУ оқиғасын t + s уақытында жасауды қамтиды, мұндағы s - бұл
ҚЫЗМЕТ-УАҚЫТЫ дистрибутивінен алынған сан.
2.3.
Кездейсоқ сандар генераторлары.
Модельдеу жүйелік модельге байланысты әр түрлі кездейсоқ
айнымалылар шығаруы керек. Мұны бір немесе бірнеше жалған кездейсоқ
генераторлар орындайды. Жасанды кездейсоқ сандарды шынайы кездейсоқ
сандарға қарағанда қолдану тиімді, егер модельдеу дәл осындай мінезқұлықпен қайталануы керек болса.
Басымдыққа жатпайтын жүйелерді әр түрлі кезек үлгілерімен
модельдеудеқолданылатын
кездейсоқ
сандардың
үлестірілуіндегі
мәселелердің бірі - оқиға уақытының тұрақты жайылымдары алдын-ала
білінбеуі мүмкін.
Нәтижесінде, күтілетін оқиғалар жиынтығына орналастырылған
оқиғалардың бастапқы жиынтығында тұрақты күйді үлестірудің келу уақыты
болмайды.
Бұл мәселе әдетте модельдеу моделін жүктеу арқылы шешіледі. Тек
күтілмеген оқиғалардың бастапқы жиынтығына нақты уақытты тағайындауға
шектеулі күш жұмсалады. Бұл оқиғалар қосымша оқиғаларды жоспарлайды
және уақыт өткен сайын оқиғалар уақытының таралуы оның тұрақты күйіне
жақындайды.
Бұл модельдеу моделін жүктеу деп аталады. Жұмыс істеп тұрған
модельден статистикалық мәліметтерді жинау кезінде тұрақты күйге
жеткенге дейін болатын оқиғаларды ескермеу немесе модельдеуді жүктеуді
тоқтату күйі тұрақты күйге түсіп кететіндей ұзақ уақыт жүргізу маңызды.
(Бұл жүктеу терминін статистикада да, есептеуде де қолдануға қарсы қоюға
болады).

7.

2.4.
Статистикасы, аяқталу күйі, үш фазалы тәсіл.
Модельдеу әдетте қызығушылық аспектілерін анықтайтын жүйенің
статистикасын қадағалайды. Банк мысалында күтудің орташа уақыттарын
қадағалау қызықтырады.
Имитациялық модельде өнімділік көрсеткіштері ықтималдықтың
үлестірілуінен аналитикалық түрде емес, көбінесе қайталанудың орташа мәні
ретінде алынады, яғни модельдің әр түрлі айналымы болып табылады.
Сенімділік аралықтары әдетте шығарылатын өнімнің сапасын бағалауға
көмектесетін етіп жасалады.
• Аяқталу күйі
Оқиғалар жүктелетіндіктен, теориялық тұрғыдан дискретті-оқиғалық
модельдеу мәңгі жұмыс істей алады. Сондықтан модельдеу дизайнері
модельдеу қашан аяқталатынын шешуі керек. Әдеттегі таңдау «t уақытында»
немесе «оқиғалардың n санын өңдегеннен кейін» немесе, әдетте, «Х
статистикалық өлшемі x мәніне жеткенде».
• Үш фазалы тәсіл
Пидд (1998) оқиғаларды дискретті модельдеуге үш фазалы тәсілді
ұсынды.
- Бұл тәсілде бірінші фаза келесі хронологиялық оқиғаға өту болып
табылады.
- Екінші фаза - сол кезде сөзсіз болатын барлық оқиғаларды орындау
(оларды В-оқиғалар деп атайды).
- Үшінші фаза - сол кезде шартты түрде болатын барлық оқиғаларды
орындау (оларды С оқиғалары деп атайды).
Үш фазалық тәсіл - бұл компьютерлік ресурстарды тиімді
пайдалану үшін бір уақытта іс-шараларға тапсырыс берілетін оқиғаға
негізделген тәсілді нақтылау.
Үш
фазалы
тәсілді
бірқатар
коммерциялық
имитациялық
бағдарламалық жасақтама пакеттері қолданады, бірақ пайдаланушының
көзқарасы бойынша негізінен модельдеу әдісінің ерекшеліктері жасырылады.

8.

2.5.
Жалпы қолданысы.
• Процесс мәселелерін диагностикалау
Имитациялық тәсілдер қолданушыларға күрделі ортадағы мәселелерді
диагностикалауға көмектесетін жақсы жабдықталған. Шектеу теориясы
жүйеде тарлықты түсінудің маңыздылығын көрсетеді. Тығындарды анықтау
және жою процестерді және жалпы жүйені жақсартуға мүмкіндік береді.
Мысалы, өндірістік кәсіпорындарда тарлықтар артық түгендеу, артық
өндіріс, процестердің өзгергіштігі және маршруттау немесе реттіліктің
өзгергіштігі арқылы жасалуы мүмкін. Имитациялық модельдің көмегімен
жүйені нақты құжаттау арқылы бүкіл жүйенің құстардың көзқарасын алуға
болады.
Жүйенің жұмыс істейтін моделі басқаруға өнімділік драйверлерін
түсінуге мүмкіндік береді. Симуляцияны жұмысшыларды пайдалану,
уақытылы жеткізу жылдамдығы, сынықтар ставкасы, ақшалай циклдар және
т.с.с. сияқты кез-келген өнімділік көрсеткіштерін қосуға болады.
• Ауруханаға арналған қосымшалар.
Операциялық театр әдетте бірнеше хирургиялық пәндер арасында
бөлінеді. Осы процедуралардың мәнін жақсы түсіну арқылы пациенттің
өнімділігін арттыруға болады.
Мысал: Жүрекке ота жасау орташа есеппен төрт сағатты алса, операция
бөлмесінің кестесін қол жетімді сегіз сағаттан тоғызға ауыстыру науқастың
өнімділігін арттырмайды. Екінші жағынан, егер грыжа процедурасы орта
есеппен жиырма минутты алса, қосымша сағат беріледі, егер қалпына келтіру
бөлмесінде өткізу қабілеттілігі мен орташа уақыты ескерілмесе, өнімділігі
жоғарыламауы мүмкін.
• Зертханалық тест жұмысын жақсарту идеялары
Жүйелерді жетілдірудің көптеген идеялары негізделген қағидаттарға
негізделген, дәлелденген әдістемелер (Lean, Six Sigma, TQM және т.б.),
жалпы жүйені жетілдіре алмайды.
Имитациялық модель пайдаланушыға жалпы жүйенің контекстінде
өнімділікті жақсарту идеясын түсінуге және тексеруге мүмкіндік береді.

9.

• Күрделі салымдар бойынша шешімдерді бағалау
Әдетте модельдеу модельдеу ықтимал инвестицияларды модельдеу
үшін қолданылады. Инвестицияларды модельдеу арқылы шешім
қабылдаушылар саналы шешімдер қабылдай алады және әлеуетті
баламаларды бағалай алады.
• Желілік тренажерлер
Басымдыққа жатпайтын жүйелерді әр түрлі кезек үлгілерімен
модельдеу жаңа хаттамаларды, әртүрлі жүйелік архитектураларды
(үлестірілген, иерархиялық, орталықтандырылған, P2P) модельдеу үшін
компьютерлік желіде қолданылады. Әр түрлі бағалау көрсеткіштерін
анықтауға болады, мысалы, қызмет көрсету уақыты, өткізу қабілеттілігі,
түсірілген дестелер, ресурстарды тұтыну және т.б.
3. Қорытынды.
Басымдыққа жатпайтын жүйелерді әр түрлі кезек үлгілерімен
модельдеу - операциялық жүйенің (ОЖ) ядроларын, желілік серверлерін,
мәліметтер базасы жүйелерін және т.с.с. қоса, бір мезгілде бағдарламалық
жасақтаманың дамуын жеңілдете алады.
Алдын ала емес модельде жіпті тек ерікті түрде басқару арқылы,
мысалы, бұғаттау операциясын шақыру арқылы жоспарлауға болады.
Басымдыққа жатпайтын жүйелер ағындар арасындағы байланыс үшін
пайдаланылуы мүмкін, мысалы, өндіруші ағыны тұтынушыға мәліметтердің
бар екендігі туралы хабарлау үшін семафорды қолдануы мүмкін. Алайда,
ортақ күйге қол жеткізуді қорғау туралы алаңдаудың қажеті жоқ:
жоспарланған ағын шықпағанша, жадқа қатынаудың қатары атомдық түрде
орындалады.
Қолданушыларының бағалауы бұл модель бағдарламашыларға
параллель кодтағы ақауларды анықтауға және анықтауға мүмкіндік
беретіндігін көрсетті. Параллельді бағдарламалар үшін баламалы айқын емес

10.

дәлдік сипаттамалары бар. Мысалы, функционалды бағдарламалар үшін
дәйекті орындалудың соңғы нәтижесін дұрыс нәтиже ретінде көрсетуге
болады. Содан кейін синтезатор дәйекті нұсқамен бірдей нәтиже шығаруға
кепілдік беретін бір уақытта бағдарлама құруы керек. Бұл тәсіл жіптерді
үйлестірудің кез-келген түріне жол бермейді, мысалы, жіптерді өндірушітұтынушы түрінде орналастыруға болмайды. Сонымен қатар, бұл реактивті
жүйелерге, мысалы, жіптерді тоқтатуға міндетті емес құрылғылар
драйверлеріне қатысты емес.
Басқа жасырын спецификация техникасы бағдарламаның бастапқы
кодына атомдық бөлімдерді орналастыруға негізделген. Синтезделген
бағдарламада атомдық бөліммен орындалатын есептеу бағдарламаның қалған
бөлігіне қатысты атомдық болып көрінуі керек. Біздің құрал қолданатын
алдын-ала жоспарлаусыз модельге негізделген атомдық секциялар мен
сипаттамаларға негізделген техникалық сипаттамаларды бір-бірімен оңай
білдіруге болады. Мысалы, атом бөлімдерін әр атомдық бөлімге дейін және
одан кейін, сондай-ақ кез-келген атомдық бөлімге жатпайтын нұсқаулықтың
айналасына кірістілік туралы есептерді орналастыру арқылы модельдеуге
болады.
4. Пайдаланылған әдебиеттер.
• Stewart Robinson –«Simulation – The practice of model development and
use», электронды үзінділер.
• Matloff, Norm - "Introduction to Discrete-Event Simulation and the SimPy
Language", электронды үзінділер.
• https://en.wikipedia.org/
• Aditya Kurve - "An agent-based framework for performance modeling of
an optimistic parallel discrete event simulator", электронды үзінділер.
• Douglas W. Jones -«Implementations of Time, Proceedings of the 18th
Winter Simulation Conference», электронды үзінділер.
• Douglas W. Jones -«Empirical Comparison of Priority Queue and Event
Set Implementations, Communications of the ACM», электронды үзінділер.
• https://www.ncbi.nlm.nih.gov/pmc/articles/ -From non-preemptive to
preemptive scheduling using synchronization synthesis
English     Русский Правила