Аналитическое моделирование систем массового обслуживания::Журнал СА 01-02.2019
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
О журнале
Журнал «БИТ»
Информация для ВАК
Звезды «СА»
Подписка
Где купить
Авторам
Рекламодателям
Магазин
Архив номеров
Вакансии
Игры
Контакты
   

  Опросы

Какие курсы вы бы выбрали для себя?  

Очные
Онлайновые
Платные
Бесплатные
Я и так все знаю

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

1001 и 1 книга  
27.03.2019г.
Просмотров: 541
Комментарии: 0
Arduino Uno и Raspberry Pi 3: от схемотехники к интернету вещей

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

27.03.2019г.
Просмотров: 451
Комментарии: 0
Автоматизация программируемых сетей

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

27.03.2019г.
Просмотров: 475
Комментарии: 0
Изучаем pandas. Второе издание

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

27.03.2019г.
Просмотров: 406
Комментарии: 0
Компьютерное зрение. Теория и алгоритмы

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

13.03.2019г.
Просмотров: 608
Комментарии: 0
DevOps для ИТ-менеджеров

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

Друзья сайта  

Форум системных администраторов  

sysadmins.ru

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

Архив номеров / 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-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru