www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Мониторинг  

Какая задача мониторинга отнимает больше всего времени?

Многие системные администраторы тратят до 30% рабочего времени на рутину мониторинга. Но

 Читать далее...

Рынок труда  

Какие навыки вы хотите развивать в 2026 году?

Рынок труда меняется быстро. Еще вчера его называли рынком соискателей, а сегодня

 Читать далее...

Книжная полка  

От сисадмина до архитектора: книги, которые прокачают ваш стек в этом году

Новинки от издательства «БХВ» отличаются тем, что в них часто делается упор

 Читать далее...

Автоматизация  

Автоматизируем рутину: что реально работает?

Многие сисадмины автоматизировали что-то за последний год. Но далеко не все остались

 Читать далее...

Защита ИТ-системы  

Практическая защита: что вы внедрили и что мешает?

Какие меры безопасности реально внедрить в реальных условиях – и что не

 Читать далее...

Вопрос-ответ  

Обеспечиваем безопасную эксплуатацию базы данных

Что для вас чаще всего является причиной инцидентов с БД? Как вы

 Читать далее...

Книжная полка  

От «безопасного» Linux до Контролируемого взлома

Издательство «БХВ» продолжает радовать читателей интересными новинками и в наступившем году. Вы можете

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 13356
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 13466
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 10925
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 5854
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 6696
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 6566
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 9418
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 6025
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 6245
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 10393
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 13847
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 15322
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 17632
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 12495
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 10494
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 8704
Комментарии: 4
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 7313
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 6123
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 5742
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 6065
Комментарии: 1
Рецензия на книгу «MongoDB в действии»

 Читать далее...

Друзья сайта  

 Аналитическое моделирование систем массового обслуживания

Архив номеров / 2019 / Выпуск №01-02 (194-195) / Аналитическое моделирование систем массового обслуживания

Рубрика: Карьера/Образование /  Кафедра   | Дополнительные материалы

Кирилл Ткаченко КИРИЛЛ ТКАЧЕНКО, инженер 1-й категории, ФГАОУ ВО «Севастопольский государственный университет», tkachenkokirillstanislavovich@gmail.com

Аналитическое моделирование
систем массового обслуживания

Аналитическое моделирование систем массового обслуживанияПолученная программа найдет свое применение при обучении программированию не только на школьном алгоритмическом языке, но и для других языков программирования при переносе на них

Современное системное администрирование отличается повышенной сложностью. Это приводит к необходимости использования на многих этапах проектирования моделей компьютерных систем и сетей. Модели систем массового обслуживания (СМО) для этого подходят достаточно часто [1]. СМО вообще и применительно к ИТ рассмотрены во многих источниках [2-4]. Помимо указанной выше классической литературы по СМО, воедино формулы собраны вуказаниях [5].

Также стоит отметить, что аналитическая модель многоканальной СМО имеется и на языке 1С [6]. Но для школьного алгоритмического языка построение программной аналитической модели позволит впоследствии обеспечить преемственность по пути применения многих появившихся позднее сред, систем и языков разработки.

Целью настоящей работы является написание программной реализации аналитической модели многоканальной системы с буферированием.

Многоканальной СМО с буферированием является СМО типа M/M/K/N. В этой СМО имеется K каналов обработки, буфер емкости N. На вход системы поступает простейший поток заявок с интенсивностью λ, заявки обрабатываются спроизводительностью μ. Расчет основных и важных системных характеристик СМО M/M/K/N для аналитического моделирования производится по аналитическим соотношениям:

Коэффициент загрузки ρ:

(1)

Коэффициент загрузки СМО ρs:

(2)

Вероятность простоя СМО p0:

(3)

Вероятность пребывания в СМО i заявок pi:

(4)

Вероятность отказа в обслуживании заявки potk:

(5)

Среднее число занятых каналов Kz:

(6)

Среднее число заявок в очереди Wq:

(7)

Среднее время ожидания заявки в очереди Tq:

(8)

Среднее число заявок в СМО Ws:

(9)

Среднее время пребывания заявки в СМО Ts:

(10)

По этим формулам (1)-(10) уже можно осуществлять написание программы для аналитического моделирования.

Основной алгоритм SAMAG выполняет расчет СМО M/M/4/7 с λ = 30 и μ = 17:

алг SAMAG
нач
  СМО(4, 7, 30, 17);
кон

Алгоритм СМО (цел K, цел N, вещ lam, вещ mu) производит расчет СМО типа M/M/K/N, в которой λ = lam и μ = mu. Для обеспечения расчета определяются переменные, которые соответствуют входящим в формулы (1)-(10), а именно:

  • rho – ρ – коэффициент загрузки,
  • rhos – ρs – коэффициент загрузки СМО,
  • p0 – p0 – вероятность простоя СМО,
  • potk – potk – вероятность отказа в обслуживании заявки,
  • Kz – Kz – среднее число занятых каналов,
  • Wq – Wq – среднее число заявок в очереди,
  • Tq – Tq – среднее время ожидания заявки в очереди,
  • Ws – Ws – среднее число заявок в СМО,
  • Ts – Ts – среднее время пребывания заявки в СМО.

Также в качестве счетчиков циклов служат переменные i и j, а для накопления произведений в числителях и знаменателях сумм – ЧислЗнам и KФакт:

алг СМО(цел K, цел N, вещ lam, вещ mu)
нач
  вещ rho, rhos;
  вещ p0, potk;
  вещ Kz;
  вещ Wq, Tq;
  вещ Ws, Ts;
  вещ psost;
  цел i, j;
  вещ Числ, Знам;
  вещ KФакт;

Расчет коэффициента загрузки ρ производится по соотношению (1). На этом этапе работы программы и далее рассчитанная величина с указанием ее наименования выводится для пользователя с четырьмя знаками дробной части:

  rho := lam / mu;
  вывод "rho = ", rho:6:4, нс;

Аналогичным образом по соотношению (2) определяется значение коэффициента загрузки СМО ρs:

  rhos := rho / K;
  вывод "rho_s = ", rhos:6:4, нс;

Для расчета вероятности простоя СМО p0 (3) происходит в цикле с параметром накопление величины суммы. Для процесса накопления производится расчет отдельно числителя и знаменателя. После окончания процесса накопления полученные значения числителя и знаменателя также продолжают использоваться в расчете p0:

  p0 := 1;
  Числ := 1;
  Знам := 1;
  нц для j от 1 до K - 1
    Числ := Числ * rho;
    Знам := Знам * j;
    p0 := p0 + Числ / Знам;
  кц
  Числ := Числ * rho * (1 - rhos ** (N + 1));
  KФакт := Знам * K;
  p0 := p0 + Числ / (KФакт * (1 - rhos));
  p0 := 1 / p0;
  вывод "p0 = ", p0:6:4, нс;

Вероятность отказа в обслуживании заявки potk непосредственно получается по формуле (5):

  potk := (rho ** (K + N) * p0) / (KФакт * K ** N);
  вывод "potk = ", potk:6:4, нс;

Также явно рассчитывается и среднее число занятых каналов Kz по формуле (6):

  Kz := rho * (1 - potk);
  вывод "Kz = ", Kz:6:4, нс;

Для удобства среднее число заявок в очереди Wq по формуле (7) определяется по разделенной на части формуле:

  Wq := (rho ** (K + 1) * p0) / (KФакт * K);
  Wq := Wq * (1 - (rhos ** N) * (N + 1 - N * rhos)) / (1 - rhos) ** 2;
  вывод "Wq = ", Wq:6:4, нс;

Расчет среднего времени ожидания заявки в очереди Tq по формуле (8) достаточно прост:

  Tq := Wq / lam;
  вывод "Tq = ", Tq:6:4, нс;

Как и среднего числа заявок в СМО Ws по формуле (9):

  Ws := Wq + Kz;
  вывод "Ws = ", Ws:6:4, нс;

И среднего времени пребывания заявки в СМО Ts по формуле (10):

  Ts := Tq + (1 - potk) / mu;
  вывод "Ts = ", Ts:6:4, нс;

В свою очередь, в конец алгоритма вынесены расчеты вероятности пребывания в СМО i заявок pi по формуле (4). Реализация определения значений по (4) программно в некоторой степени аналогична (3). В частности, отдельно рассчитываются числители и знаменатели слагаемых, когда число заявок не превышает число каналов (1 ≤ i ≤ K):

  Числ := p0;
  Знам := 1;
  нц для i от 1 до K
    Числ := Числ * rho;
    Знам := Знам * i;
    psost := Числ / Знам;
    вывод "p", i, " = ", psost:6:4, нс;
  кц

Поскольку в случае, когда число заявок больше числа каналов (K< i ≤ K+N), расчет несколько отличается, то он реализовывается в отдельном цикле с параметром, в котором также применяются ранее сформированные величины числителей и знаменателей:

  нц для i от K + 1 до K + N - 1
    Числ := Числ * rho;
    Знам := Знам * K;
    psost := Числ / Знам;
    вывод "p", i, " = ", psost:6:4, нс;
  кц
кон

Полный исходный текст программы на школьном алгоритмическом языке вы можете скачать на сайте журнала http://samag.ru.

Результаты работы программы:

rho = 1.7647
rho_s = 0.4412
p0 = 0.1678
potk = 0.0002
Kz = 1.7643
Wq = 0.0943
Tq = 0.0031
Ws = 1.8586
Ts = 0.0620
p1 = 0.2961
p2 = 0.2613
p3 = 0.1537
p4 = 0.0678
p5 = 0.0299
p6 = 0.0132
p7 = 0.0058
p8 = 0.0026
p9 = 0.0011
p10 = 0.0005

Фрагмент запущенной среды разработки – на рис. 1.

Рисунок 1. Фрагмент запущенной среды разработки

Рисунок 1. Фрагмент запущенной среды разработки

Полученная программа найдет свое применение при обучении программированию не только на школьном алгоритмическом языке, но и для других языков программирования при переносе на них.

  1. Клейнрок Л. Вычислительные системы с очередями. – М.: Мир, 1979. – 600 с.
  2. Клейнрок Л. Теория массового обслуживания. – М.: Машиностроение, 1979. – 432 с.
  3. Вентцель Е.С. Теория вероятностей / Е.С. Вентцель, Л.А. Овчаров. – М.: Наука, 1973. – 368 с.
  4. Новиков О.А. Прикладные вопросы теории массового обслуживания / О.А. Новиков, Б.В. Гнеденко, С.И. Петухов. – М.: Советское радио, 1969. – 398 с.
  5. Балакирева И.А. Методические указания для выполнения типовой выпускной квалификационной работы бакалавра по тематике анализа эффективности компьютерных систем обработки данных / И.А. Балакирева, А.В. Скатков. – Севастополь: СевГУ, 2015. – 32 с.
  6. Ткаченко К. Аналитическое моделирование в 1С многоканальной системы массового обслуживания. // «Системный администратор», № 11, 2018 г. – С.36-37. URL: http://samag.ru/archive/article/3758.

Ключевые слова: системы массового обслуживания, аналитическое моделирование, школьный алгоритмический язык.


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru