Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VSOS_2014.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.9 Mб
Скачать

12Моделирование очередей

Процессы поступают в систему и завершаются в непредсказуемые моменты времени, поэтому не существует статического множества процессов, работающих в системе. Что, однако, может быть оценено, так это распределение процессорного времени и потребность процессов в непрерывной работе на процессоре. Эти интервалы могут быть измерены и аппроксимированы или просто оценены. Результатом является математическая функция, оценивающая потребность процессов в непрерывной работе на процессоре. В общем случае такое распределение является экспоненциальным и оценивается средним значением. В простейшем случае, если процессы поступают равномерно, может быть задана интенсивность их поступления. В каждом из этих случаев для большинства алгоритмов могут быть вычислены значения всех критериев.

Компьютерная система описывается как сеть серверов. У каждого сервера имеется своя очередь ожидающих процессов. Зная интенсивность поступления процессов и запросов, можно вычислить интересующие нас значения.

Например, пусть n – средняя длина очереди (исключая обслуживаемый процесс), w – среднее время ожидания в очереди,  - средняя интенсивность поступления новых процессов. Тогда за время w в систему поступит новых процессов.

Если система находится в устойчивом состоянии, то это число совпадает с длиной очереди:

.

Эта формула называется формулой Литтла. Она особенно полезна, так как справедлива для любого алгоритма планирования и любой интенсивности.

Можно использовать эту формулу для вычисления одного из значений, если известны остальные два.

Анализ очередей полезен для сравнения алгоритмов, но имеет ограничения. Классы распределений и алгоритмов слишком ограничены. Математика смешанных алгоритмов слишком сложна для работы с ней. Так, распределение часто является неравномерным. Для его математической трактовки требуется сделать ряд предположений, которые могут быть некорректными. Поэтому такие модели это лишь приближение к реальным системам. В итоге точность результатов спорна.

13Имитация

Чтобы получить более точную оценку алгоритмов можно использовать имитацию. Она предусматривает создание программной модели компьютерной системы.

Программные структуры данных в такой модели представляют главные компоненты компьютерной системы. Кроме того, в эмуляторе имеется переменная, представляющая таймер. При увеличении этой переменной эмулятор модифицирует состояние системы, отражая деятельность устройств, процессов и планировщиков. По окончании работы модели выдается статистика.

Данные для имитации могут быть сгенерированы многими способами. Главный метод – использование генератора случайных чисел для генерации процессов, интервалов непрерывного использования процессора, запросов и т. п., в соответствии с возможным распределением. Распределение может быть выбрано математически (равномерное, экспоненциальное, Пуассона) или эмпирически, путем замеров в реальных системах.

Результат подобного моделирования может быть неточным, поскольку моделируется только частота событий, а не порядок их наступления. Чтобы избежать подобной неточности, для каждого процесса производится трассировка событий. Тогда одни и те же данные могут быть использованы для сравнения различных алгоритмов. Такой подход дает наиболее точные результаты, но достаточно труден в реализации.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]