Арбитраж ресурсов
Если за ресурс наблюдается состязание, составляется график его использования. Такие графики, в частности, создаются для процессоров, буферов и сетей. Задача архитектора состоит в том, чтобы выявить характеристики использования каждого ресурса и выбрать оптимальную стратегию планирования (составления графика). Любую политику планирования можно разделить на две части: назначение приоритетов и координацию. Назначение приоритетов производится во всех без исключения политиках. Иногда приоритеты расставляются по схеме «первым пришел — первым обслужен». В других случаях приоритеты привязываются к временным требованиям запроса или его семантической значимости. Среди критериев планирования — оптимальное использование ресурса, важность запроса минимизация обращений к ресурсам, сокращение задержки, повышение пропускной способности, предотвращение зависания и обеспечение равноправия и т. д. Архитектор должен обладать достаточными знаниями об этих критериях, иметь в виду, что иногда они конфликтуют, и четко представлять последствия выбора той или иной тактики в контексте их удовлетворения. Координация потока событий с высоким приоритетом возможна лишь в том случае, если соответствующий ресурс доступен. Иногда приходится прерывать обслуживание текущих пользователей ресурсов. В том, что касается прерывания обслуживания, возможны три решения: 1) прерывание может происходить в любой момент или 2) только в определенные моменты, 3) прерывание исполняемых процессов не разрешается. Ниже приводятся наиболее распространенные политики планирования. 1. Первым пришел — первым обслужен (FIFO). Все запросы признаются равноправными и обслуживаются по очереди. При этом возникает возможность задержки одного запроса другим, на обслуживание которого уходит слишком много времени. Если все запросы действительно равноправны, в этом нет ничего страшного, однако при наличии высокоприоритетных запросов начинаются проблемы. 2. Планирование с фиксированным приоритетом. Каждый источник ресурсов запрашивает для себя определенный приоритет и назначает его своим ресурсом. Эта стратегия обеспечивает повышенное качество обслуживания запросов с высоким приоритетом, но в то же время допускает произвольную продолжительность ожидания обслуживания значимых запросов с низким приоритетом. Ниже приводятся наиболее распространенные стратегии назначения приоритетов. О Семантическая значимость. Приоритет каждому потоку назначается статически, согласно некоей предметной характеристике порождающей его задачи. Этот вариант применяется в универсальных вычислительных машинах, где в качестве предметной характеристики выступает время инициирования задачи. О Монотонное назначение приоритетов согласно предельным срокам. Чем более сжатые сроки обработки потока, тем выше ему назначается приоритет (статически). Применяется при планировании потоков с различными приоритетами и сроками обработки в реальном времени. О Монотонное назначение приоритетов согласно частоте. Чем чаще поступает поток, чем выше его приоритет, назначаемый статически. Это один из вариантов монотонного назначения согласно предельным срокам, но, с другой стороны, он более известен и лучше поддерживается операционными системами. 3. Динамическое приоритетное планирование: О Циклическое обслуживание — стратегия планирования, согласно которой запросы сначала упорядочиваются, а затем при первой же возможности ресурсы отдаются следующему в установленном порядке запросу. Один из вариантов циклического обслуживания называется циклическим исполнением и предполагает назначение ресурсов через фиксированные промежутки времени. О Приоритет коротких предельных сроков. Распределение приоритетов среди запросов проводится согласно предельным срокам их обработки. 4. Статическое планирование. Стратегия циклического планирования предполагает неоперативное определение моментов прерывания и порядка распределения ресурсов между запросами. Библиография по теории планирования приводится в разделе «Дополнительная литература» в конце главы. Схема тактик производительности приводится на рис. 5.7.
|