одель массового обслуживания M/M/m
Модель M/M/m - это набор математических формул, которые позволяют прогнозировать производительность систем массового обслуживания, удовлетворяющих пяти специфическим условиям. Обозначение M/M/m на самом деле представляет собой сокращение более длинного M/M/m/oo/FCFS, полностью описывающего все пять условий:
M/M/m/<x>/FCFS (экспоненциальное время между поступлениями запросов)
Время между поступлениями последовательных запросов является экспоненциально распределенной случайной переменной (смысл данного утверждения я поясню немного позже).
M/M/m/<x>/FCFS (экспоненциальное время обслуживания)
Время обслуживания представляет собой экспоненциально распределенную случайную переменную.
M/M/m/ao/FCFS (m однородных параллельных независимых каналов обслуживания)
Существует m параллельных каналов обслуживания, при этом все они имеют одинаковые характеристики функциональности и производительности и все одинаково готовы к предоставлению обслуживания любому поступающему запросу. Например, в системе M/M/1 существует один канал обслуживания, а в системе M/M/32 - 32 параллельных канала обслуживания.
M/M/m/oo/FCFS (отсутствие ограничений на длину очереди)
На длину очереди не наложено никаких ограничений. Ни один запрос, попадающий в очередь, не покидает ее, не получив соответствующего обслуживания.
M/M/m/oo/FCFS (обслуживание в порядке поступления)
Дисциплина очереди - обслуживание в порядке поступления запросов. (First-Come, First-Served - FCFS). Система предоставляет запросам обслуживание в том порядке, в котором они были получены.
Пять приведенных условий удачно вписываются в реальность систем Oracle. В нашей повседневной жизни нередко встречаются системы массового обслуживания, например:
Агентство по продаже авиабилетов, в котором шесть билетных кассиров обслуживают клиентов, стоящих в одной длинной извилистой очереди. Это система M/M/6.
Четырехрядная платная автомобильная дорога, на которой один пункт оплаты обслуживает легковые машины и грузовики, выбираемые из начала очередей, которые стоят на каждой полосе. Это четыре разных системы M/M/1, в каждой из которых средняя интенсивность поступлений выбрана соответствующим образом для каждого ряда отдельно.
Симметричная многопроцессорная компьютерная система, в которой 12 процессоров обслуживают запросы, выбираемые из начала очереди запросов, готовых к исполнению. В связи с недостаточной масштабируемостью операционной системы (к которой я еще вернусь) для такой системы подходит модель M/M/m, в которой m находится в диапазоне 0 < m < 12.
Почему «M» обозначает экспоненциальность
Может показаться удивительным, что теоретики массового обслуживания обозначают экспоненциальное распределение не буквой «Е», а буквой «M». Дело в том, что буква «Е» уже занята - именно ею обозначается распределение Эрланга (Erlang). Математикам пришлось выбирать для экспоненциального распределения букву, отличную от «Е», и они выбрали «M», т. к. экспоненциальное распределение обладает уникальным марковским свойством или свойством отсутствия последействия (memoryless - «отсутствия памяти»1). Другие модели обозначаются буквами «G» (general) - произвольное, «D» (deterministic) - детерминированное и «Hk» (й-stage hyperexponential) - гиперэкспоненциальное распределение порядка k.
Марковское свойство системы состоит в том, что будущее состояние системы зависит только от ее состояния в настоящем и не зависит от ее состояний в прошлом. Переформулировав, можно сказать, что для любых двух непересекающихся промежутков времени число событий, наступающих на одном из них, не зависит от числа событий, наступающих на другом. - Примеч. перев.
Очевидно, что все эти примеры удовлетворяют условиям m, со и FCFS модели M/M/m/co/FCFS. Для проверки же соответствия требованию M/M необходим дополнительный анализ. В следующем разделе мы поговорим о том, что означает экспоненциальность распределения случайной переменной.
Прежде чем переходить к изучению критерия M/M, отметим, что не все системы массового обслуживания представляют собой системы M/M/m. Например, следующие системы не являются системами M/M/m:
Агентство по продаже авиабилетов, в котором пять билетных кассиров обслуживают клиентов, при этом клиенты бизнес-класса и первого класса могут проходить вне очереди. Эта система нарушает принцип FCFS, соблюдение которого необходимо для того, чтобы система относилась к разряду M/M/m.
Массив из шести независимых компьютерных дисков, каждый из которых обслуживает запросы ввода/вывода из начала выделенной для него очереди. Эта система нарушает условие M/M/6, заключающееся в том, что все участвующие в обслуживании параллельные каналы одинаково готовы к обслуживанию любого прибывающего запроса. Например, запрос на чтение диска D может быть выполнен только диском D, вне зависимости от того, свободны ли остальные диски. Такую систему можно смоделировать на основе шести независимых систем M/M/1.
Получение защелок Oracle. Защелки Oracle выделяются запросам не в порядке их поступления [Millsap (2001c)]. Поэтому система получения защелок Oracle нарушает FCFS-принцип M/M/m.
Многие из систем, удовлетворяющих условиям .../m/oo/FCFS, нарушают принцип M/M из-за того, что процессы поступления запросов и их обслуживания не подчиняются экспоненциальному распределению. В следующих разделах я расскажу о том, как проверить, подчиняются ли данные экспоненциальному распределению.
Я уже упоминал, что в начале 1900-х годов Агнер Эрланг заметил, что интенсивность поступления запросов в телефонную систему «подчиняется распределению Пуассона». Выражение «подчиняется такому-то распределению» означает, что функция плотности вероятности исследуемой случайной величины имеет определенную математическую форму - в данном случае является пуассоновской функцией. Если нам известна функция плотности вероятности случайной величины, то мы можем вычислить вероятность того, что данная случайная величина примет любое интересующее нас конкретное значение. Говорят, что случайная величина имеет экспоненциальное распределение.
Во многих реально существующих системах время между поступлениями запросов и время обслуживания распределяются экспоненциально, но для того чтобы достоверно смоделировать систему M/M/m, необходимо проверить процессы обслуживания и поступления запросов в такой системе. В этой книге содержится вся информация, необходимая для проверки соответствия рабочих характеристик конкретной системы модели M/M/m.
< Предыдущая | Следующая > |
---|