🎫 Теорія черг
Черга M/M/c з пуассонівськими надходженнями та експоненційним обслуговуванням. Дивіться, як росте черга, і порівнюйте метрики (завантаження ρ, довжина Lq, очікування Wq) з теорією Ерланга-C — черга вибухає при ρ→1.
Схожі симуляції
Про цю симуляцію
Ця симуляція виконує чергу M/M/c у режимі дискретних подій у реальному часі: клієнти прибувають по одному згідно з пуассонівським процесом з інтенсивністю λ і обслуговуються c паралельними серверами, кожен з яких має незалежний експоненційний час обслуговування з інтенсивністю μ. Двигун просуває модельний час, генерує випадкові інтервали між прибуттями та часи обслуговування, і накопичує зважені за часом середні значення довжини черги та часу очікування в міру проходження клієнтів через систему. Кожна виміряна статистика порівнюється в реальному часі із замкненою формулою Ерланга-C, тож можна побачити, як шум симуляції збігається до теорії з плином часу.
🔬 Що показано
Клієнти (сині точки) прибувають через випадкові інтервали, отримані з експоненційного розподілу із середнім 1/λ, стають у чергу FIFO або LIFO, якщо всі c серверів зайняті, і обслуговуються протягом випадкового експоненційного часу із середнім 1/μ. Система відстежує завантаження ρ = λ/(cμ), кількість у системі L, кількість у черзі Lq, а також середній час у системі W і час очікування Wq — кожне значення показується як живе симульоване значення поряд із теоретичним прогнозом Ерланга-C.
🎮 Як користуватися
Перетягуйте Інтенсивність прибуття λ та Інтенсивність обслуговування μ (на сервер), щоб змінити навантаження, і Сервери c, щоб додати чи прибрати паралельні сервери — індикатор навантаження внизу стає червоним, щойно ρ ≥ 1, що означає необмежене зростання черги. Перемикайтеся між FIFO та LIFO, щоб порівняти дисципліни обслуговування, використовуйте Швидкість симуляції для перемотування вперед і спробуйте пресети Стабільна, Близько до насичення, Багатосерверний банк і Недоукомплектована, щоб одразу перейти до цікавих режимів. Скинути статистику очищує накопичені середні, тож можна спостерігати, як вони формуються з чистого стану.
💡 Чи знали ви?
Формулу Ерланга-C вивів 1917 року датський інженер Агнер Краруп Ерланг, щоб розраховувати розмір телефонних станцій так, щоб абоненти рідко чули сигнал «зайнято». Та сама математика сьогодні лежить в основі планування штату кол-центрів, розподілу лікарняних ліжок і автомасштабування хмарних серверів — усюди, де випадкові прибуття конкурують за обмежену кількість серверів.
Часті запитання
Що таке черга M/M/c?
M/M/c — це позначення Кендалла для системи масового обслуговування з марковськими (пуассонівськими) прибуттями, марковськими (експоненційними) часами обслуговування та c паралельними серверами. Перше M означає, що час між прибуттями має експоненційний розподіл, друге M означає, що час обслуговування кожного сервера має експоненційний розподіл, а c — кількість однакових серверів, що працюють паралельно. Ця симуляція реалізує саме цю модель, обробляючи прибуття та відбуття як дискретні випадкові події на модельному годиннику.
Що означає завантаження ρ і чому черга вибухає поблизу ρ = 1?
Завантаження ρ = λ/(cμ) — це частка сумарної пропускної здатності обслуговування, що використовується, де λ — інтенсивність прибуття, а cμ — сумарна інтенсивність обслуговування всіх c серверів. Коли ρ помітно менше 1, сервери встигають обробляти заявки, і черга залишається короткою. Коли ρ наближається до 1, сервери майже завжди зайняті, тож будь-який випадковий сплеск прибуттів не має куди подітися, і черга очікування стає дедалі довшою; при ρ ≥ 1 прибуття повністю випереджають пропускну здатність, і черга росте необмежено — саме про це попереджає червоний індикатор навантаження.
Що таке формула Ерланга-C і що вона прогнозує?
Ерланг-C — це замкнена формула, яка обчислює точну статистику усталеного стану для черги M/M/c безпосередньо з λ, μ і c, без потреби запускати симуляцію. Вона дає ймовірність того, що клієнту, який прибув, взагалі доведеться чекати, P(очікування > 0), а з неї виводяться очікувана кількість у черзі Lq, очікувана кількість у всій системі L, очікуваний час очікування Wq та очікуваний загальний час у системі W (за законом Літтла, W = Wq + 1/μ). Ця сторінка показує теоретичні значення Ерланга-C жовтим кольором поряд із живими симульованими вимірюваннями синім кольором, тож можна побачити, наскільки близько випадкова симуляція відповідає математичному прогнозу.
Чому живі (сині) та теоретичні (жовті) числа не збігаються точно?
Живі статистичні дані — це зважені за часом середні, накопичені з реальних випадкових подій — щоразу генеруються нові експоненційні інтервали між прибуттями та часи обслуговування, тож вони містять статистичний шум, особливо невдовзі після скидання чи зміни пресета. Числа Ерланга-C — це точні математичні середні усталеного стану, яких система досягла б за нескінченний час. Що довше симуляція працює з фіксованими λ, μ і c, то ближче сині числа наближаються до жовтих, що є живою демонстрацією закону великих чисел.
У чому різниця між дисциплінами FIFO та LIFO в цій симуляції?
FIFO (першим прийшов — першим обслужений) обслуговує клієнтів у порядку прибуття, як звичайна черга на касі — саме цю дисципліну передбачає класична формула Ерланга-C. LIFO (останнім прийшов — першим обслужений) натомість обслуговує клієнта, який приєднався до черги останнім, що може залишити перших клієнтів чекати необмежено довго за високого навантаження, хоча середній час очікування Wq залишається таким самим, як і в FIFO. Зміна дисципліни не змінює жодного із середніх значень Ерланга-C, але змінює те, хто відчуває найдовше індивідуальне очікування — це видно у статистиці «Найдовше очікування».