Условия эффективности приоритетного обслуживания в реальном времени
Рассмотрим, с какой целью и при каких условиях следует назначать приоритеты абонентам распределенной ВС реального времени.
Пусть в систему реального времени поступает M типов заявок на обслуживание (каждый тип заявок в распределенной системе является принадлежностью соответствующего абонента), условием корректности функционирования системы будет выполнение M неравенств: , где - гарантированная продолжительность реакции системы на воздействие, реализуемое в системе, - задаваемое условиями функционирования ограничение на параметр . Требуемая реактивность системы по каждому m-му воздействию определяется следующими временными характеристиками обслуживания заявок системой: - продолжительность собственно решения задачи m-м вычислителем (абонентом) по заранее известной программе (здесь для простоты считаем, что каждым абонентом обрабатывается только один соответствующий тип воздействий); числом информационных взаимодействий с ресурсом , имеющих максимальную продолжительность , необходимым для выработки адекватного воздействия в соответствии с заранее известным алгоритмом (далее для простоты будем считать, что , ). Тогда гарантированная продолжительность реакции системы на m-е воздействие
Рассмотрим следующие возможные случаи.
1. Пусть требуется обеспечить равное время реакции системы на все воздействия - для всех m, воздействий совпадают. В этом случае идеальным является бесприоритетное обслуживание - в реальном времени это передача полномочий в циклической очередности.
2. Пусть заданы различными (различен функциональный смысл воздействий, что имеет место при функциональном распараллеливании). Тогда при бесприоритетной дисциплине обслуживания требований система может функционировать корректно лишь при выполнении для всех M абонентов самого жесткого для системы ограничения:
Например, ЛВСИС, в частности ATM, по одним и тем же каналам связи поступает речь, радиосигнал и подвижное изображение. Для речевого сигнала, полоса пропускания частот которого F = 0 - 4000 Гц по теореме Котельникова (T = 0, 5/F) [4] получаем = 125 мкс, для передачи радио сигнала F = 0 - 15000 Гц имеем = 34 мкс, для качественной же передачи подвижного изображения (телевидение) соответственно F = 0 - 5 МГц уже имеем = 104 нс. В УЛВС параметры для различных заявок могут различаться еще существеннее.
Предположим, что рассматриваемое жесткое ограничение в системе при выбранной производительности технических средств не выполняется для некоторых абонентов. При этом в общем случае некоторые ограничения в системе могут выполняться с большим запасом по производительности ресурса. Тогда можно сформулировать задачу об эффективном перераспределении производительности вычислительных средств системы с учетом выполнения требований к корректности функционирования системы в целом. Критерием оптимальности задания очередности передачи прав (соответственно дисциплины обслуживания) будет относительный коэффициент избыточности в эффективности обслуживания
При этом очевидно, что наиболее эффективно система с общими ресурсами будет реализована в том случае, если выполняются условия , , что можно считать условием оптимальности дисциплины обслуживания реального времени, а параметр - критерием оптимальности. В общем случае для критерия оптимальности (характеристики и для различных воздействий не совпадают) имеем
(1.2)
Оценим, какой выигрыш для распределенных систем может дать реализация в системе приоритетного обслуживания, где приоритет вводится с целью эффективного использования производительности общего ресурса (при связном ресурсе - эффективного использования пропускной способности канала связи). С учетом для всех M абонентов, для системы с бесприоритетной дисциплиной обслуживания (характеристика обозначена БП) требований ресурса имеем
,
где - продолжительность занятия ресурса абонентом с учетом потерь времени на передачу ему прав системой занять ресурс, считаем что совпадают для всех M абонентов (очередей заявок).
Пусть требования к времени реакции системы на 1-е входное воздействие существенно выше, чем требования к любому иному входному воздействию : . Реализуем для рассматриваемой системы приоритетную дисциплину обслуживания требований, в которой очередность предоставления прав абонентам системы на занятие ресурса выглядит следующим образом (1, 2, 1, 3, 1, 4, 1, . . , 1, M-1, 1, M, 1, 2, . . ). Для данной ДО имеем следующие характеристики обслуживания заявок
,
(где ВП, НП - соответвенно характеристики абонентов с высоким и низким приоритетом), откуда выигрыш для более приоритетного абонента составит
(для всех m )
Однако, наряду с выигрышем для более приритетного абонента имеем и проигрыш для менее приоритетных абонентов
,
откуда результирующий выигрыш в производительности ресурса
Оценим количественную оценку получаемого выигрыша. Пусть , где . В предположении, что , для бесприоритетного обслуживания имеем
,
соответственно, для приоритетного обслуживания при двух уровнях приоритетности получаем
соответственно получаем результирующий выигрыш в производительности системы
. (1.3)
Зависимости для различных M, при M=16;64 представлены на рис. 1.5, из которого делаем следующие выводы. 1. При существенном различии ограничений для M абонентов при условии появляется возможность существенного повышения производительности системы реального времени, за счет реализации эффективного управления использованием общего ресурса абонентами, являющегося «узким местом» системы, в результате введения приоритетного обслуживания. Получаемый выигрыш в производительности системы в целом здесь может составить десятки раз, возрастая при увеличении числа абонентов в системе M.
Рис. 1.5
2. Получаемый от реализации приоритетного расписания выигрыш снижается при увеличении коэффициента k, или при опережающем росте над , что определяет переход к классу сосредоточенных систем.
3. При из (1.2) имеем - отсутствует выигрыш как таковой, что может иметь место для некоторых приложений
сосредоточенных систем, когда , где теряет актуальность задача приоритетного обслуживания заявок с целью эффективного использования ресурса абонентами системы. В данных приложениях систем реального времени применяются иные методы параллельной обработки, в частности крупноблочного распараллеливания, при бесприоритетном обслуживании заявок на доступ к ресурсу (в реальном времени - обслуживание в циклическом порядке), который здесь уже не является «узким местом» системы. Как следствие, здесь, как правило, реализуется принцип однородности структуры.
Замечание. Нетрудно показать, что предельным случаем системы, «узким местом» которой будет общий ресурс, можно считать многозадачную операционную систему реального времени (кстати говоря, сосредоточенную). Действительно, общим ресурсом здесь является квант процессорного времени, который и является «узким местом» многозадачной системы. Поэтому при использовании в системе распараллеливания по функциям (что, как правило, имеет место в специализированных операционных системах, реализуемых в задачах управления) возникает аналогичная задача приоритетного обслуживания с целью эффективного использования ресурса. Здесь также имеют место два способа задания приоритетов - изменением величины процессорного кванта для приоритетной задачи, изменением частоты (не ОЦП) опроса очередей заявок от отдельных задач. Первый подход ограничен нарушением параллельности обработки, что недопустимо в системах реального времени (кстати говоря, именно эти же соображения приводят к уменьшению длины пакета данных в сетевой технологии ATM до 53 байтов), второй имеет недостатком наличие больших временных затрат на опрос очередей по расписанию. Поэтому как и в ЛВС сегодня на практике здесь используется бесприоритеный опрос очередей (например, используемая в ОС QNX дисциплина RR), т.е. в системах практически отсутствуют возможности эффективной диспетчеризации в реальном времени при распараллеливании задач по функциям. Другими словами, рассматриваемые в монографии принципы диспетчеризации могут эффективно использоваться и в этих приложениях систем реального времени параллельной обработки - в различных приложениях как распределенных, так и сосредоточенных ВС.
С учетом сказанного, цель реализации приоритетного обслуживания в ЛВС реального времени, в которых ресурс является «узким местом», состоит в перераспределении прав между абонентами на доступ к ресурсу в соответствии с заданными ограничениями на время реакции системы на входное воздействие. Выполнение данных ограничений при минимальной производительности ресурса достигается при выполнении условия: , , которое можно считать условием оптимальности приоритетных ДО реального времени. Соответственно, количественное задание приоритетов абонентов может быть получено с использованием выражения (1.2).
Замечание. Приведенное исследование иллюстрирует и общий подход к синтезу алгоритма функционирования распределенной ВС ( ), состоящий в минимизации числа межмодульных взаимодействий при обслуживании заявок, что формально записывается следующим образом: , .
Выше речь шла о ЛВСПО реального времени, относительно ЛВСОН реального времени отметим, что здесь реализуется аналогичная идея приоритетного обслуживания, однако, т.к. отсутствует алгоритм функционирования - невозможно задать параметр , то в качестве ограничений следует уже рассматривать не параметр , задаваемый в ЛВС для всех M абонентов, а параметр . При различии для M абонентов могут вводиться приоритеты с целью эффективного использования «узкого места» - связного ресурса ЛВС.