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

ЭКСПЕРТНАЯ СЕССИЯ 2019


  Опросы

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

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

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

1001 и 1 книга  
28.05.2019г.
Просмотров: 1322
Комментарии: 2
Анализ вредоносных программ

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

28.05.2019г.
Просмотров: 1426
Комментарии: 1
Микросервисы и контейнеры Docker

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

28.05.2019г.
Просмотров: 1099
Комментарии: 0
Django 2 в примерах

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

28.05.2019г.
Просмотров: 850
Комментарии: 0
Введение в анализ алгоритмов

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

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

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

Друзья сайта  

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

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