Как вы уже знаете, ожидаемая задержка в очереди (W) - это тот промежуток времени, который, как ожидается, должен пройти между моментом поступления запроса в систему и моментом начала его обслуживания. Следовательно, для вашего запроса задержка в очереди будет равна сумме ожидаемых значений времени обслуживания для запросов, которые находятся в очереди перед вашим. Возможность прогнозирования времени задержки в очереди - одно из замечательных преимуществ теории массового обслуживания. Величина задержки в очереди зависит не только от среднего времени обслуживания необходимого вам устройства, но и от количества запросов, которые уже будут стоять в очереди, когда в нее попадет ваш запрос.
Вывести формулу прогнозирования времени задержки в очереди без специальных знаний в данной области нелегко, но, к счастью, вся эта нелегкая работа уже была сделана до нас. Для системы массового обслуживания M/M/m (точное определение которой будет дано ниже) она выглядит следующим образом:
где:
Сложнее всего было получить формулу для C(m, р). Эта задача была решена в 1917 г. датским математиком Агнером Эрлангом [Erlang (1917)]. Формула Эрланга1 служит для получения вероятности того, что запрос будет поставлен в очередь на предоставление обслуживания.
Не путайте C из формулы Эрланга с C, обозначающим количество обслуженных запросов системы. Обычно из контекста легко понять, какое из двух C имеется в виду, т. к. C, относящееся к формуле Эрланга, всегда записывается как функция с двумя аргументами.
Программная реализация формул Эрланга требует чуть большего объема математических знаний, чем тот, которым обладает большинство из нас. Однако в 1974 году ученый-исследователь Дэвид Ягерман (David Jagerman) разработал быстрый алгоритм, реализующий формулу Эрланга [Jagerman (1974)] и позволяющий без труда вычислить ожидаемое время задержки в очереди для системы. Я использовал алгоритм Ягермана в примере 9.1.
Если известны ожидаемое время обслуживания системы и ожидаемое время задержки в очереди, то задача вычисления ожидаемого времени отклика становится тривиальной. Ожидаемое время отклика системы - это (как мы уже не раз говорили) сумма ожидаемого времени обслуживания и ожидаемой задержки в очереди, R = S + W.
На рис. 9.6 представлена т-канальная система массового обслуживания. Запросы поступают со средней скоростью X запросов в единицу времени. Продолжительность времени между поступлением двух последовательных запросов равна т. Каждый из т параллельных каналов выполняет обслуживание запросов со средней скоростью ц запросов в единицу времени, в среднем тратя на обслуживание одного запроса s единиц времени.
Максимальная рабочая пропускная способность системы - это наибольшая частота поступлений, которые система может обработать без превышения допустимого значения пользовательского времени отклика rmax. Максимальная рабочая пропускная способность системы, изображенной на рис. 9.7, равна величине Xmax. По мере возрастания интенсивности поступления запросов в систему увеличивается среднее время задержки в очереди, и время отклика системы растет. Пропускная способность системы, при которой время отклика оказывается выше допустимого пользовательского предела, и является максимальной рабочей пропускной способностью, Xmax. Это тот максимум производительности, которого можно требовать от системы, не опасаясь чрезмерно ухудшить среднее время отклика.
Рис. 9.7. Время отклика является функцией скорости поступления запросов. Определив среднее допустимое время отклика rmax, получаем значение Xmax -наибольшее значение пропускной способности, которое система может обеспечить без превышения порогового значения времени отклика
Для обеспечения удовлетворительного времени отклика необходимо, чтобы интенсивность поступления запросов в систему была меньше Xmax, так что необходимо уметь вычислять эту величину. Аналитического решения для получения значения Xmax не существует, но есть быстрый и простой способ оценки этого значения методом деления интервала пополам. Программа на Visual Basic, выполняющая такое вычисление, приведена в примере 9.2.
В примере 9.2 упоминаются такие объекты, как переменная q и функция ResponseTime, определенные в электронной книге Microsoft Excel - ее можно найти по адресу http://www.oreilly .com/catalog/optoraclep.
< Предыдущая | Следующая > |
---|