Графовые модели планирования. Алгоритм математического программирования
Модель процесса планирования можно представить в виде графа G = ( r , vr , z, vz , xrz , vx ),где:
r º { r j } ( j =1…n ) – вершины графа, отображающие ресурсы (ПВМ) системы;
vr º { vr j } ( j =1…n ) –веса ресурсов,отображающие максимальное число заданий, которое может выполняться на каждом ресурсе;
z º { z i } ( i =1…m ) – вершины графа, отображающие задания, поступающие на обработку в систему;
vz º { vz i } ( i =1…m ) – веса заданий, отображающие приоритеты заданий и число ресурсов, необходимое для выполнения каждого задания;
xzr – ребра связи между заданиями и ресурсами, отображающие множество назначений заданий z на ресурсы r ;
vx -веса ребер связи между ресурсами r и заданиями z , отображающие время выполнения i -гозадания на j-м ресурсе.
Задача оптимального планирования состоит в определении на графе G множества xzr назначенийзаданий z на ресурсы r , обеспечивающих экстремальное (максимальное или минимальное) значение одного или нескольких критериев оптимальности, приведенных в разделе 10.1.
Решение задачи планирования осуществляется путем разбиения графа на несколько подграфов (гранул), соответствующих группам операций, выполняемых в определенной последовательности.
Алгоритм математического программирования. Рассмотрим алгоритм сведения задачи планирования к задаче математического программирования.
Пусть на вход вычислительной системы, состоящей из nr ресурсов (элементарных машин) (ПВМ), поступает mz заданий. Каждое i-е задание является параллельной программой и требует для своего выполнения n r i ресурсов, где 1 £ nri < nr, ( i = 1…mz). При этом на каждой j-й ПВМ может обрабатываться не более, чем mzi заданий одновременно.
Задача оптимального планирования состоит в определении матрицы x оптимального распределения заданий между ресурсами, элементы x i j ( i = 1…mz) , ( j = 1…nr) которой определяются следующим образом:
- xi j = 1, если i-е задание назначается на выполнение в j-й ПВМ;
- xi j = 0 - в противном случае.
Пусть t i - заданное время выполнения i-го задания. Тогда обобщенная нагрузка на ресурсы (т.е. суммарное время выполнения всех заданий) равна Tz = S t i. ( i = 1…mz), а среднее время работы каждого ресурса q r = Tz/ nr.
С учетом указанных величин задачу оптимального планирования процесса выполнения mz заданий на nr ресурсах можно представить в виде следующей задачи математического программирования.
Требуется определить значения элементов xij матрицы xоптимального распределения заданий между ресурсами, обеспечивающие равномерность нагрузки на ресурсы и минимальное суммарное время выполнения заданий в системе:
min S S ( t i - q r )2 × x i j , ( i = 1…nz) , ( j = 1…n r ) при ограничениях:
- на число ресурсов n r i, необходимое для выполнения i-го задания: S x i j = n r i ,
- на число заданий mzi , которое может одновременно обрабатываться на j-й ПВМ:S x i j £ mzj .
Полученная задача является задачей линейного целочисленного программирования, для решения которой могут быть использованы известные методы ее решения.
При адекватном описании целевой функции и ограничений задачи методы математического программирования обеспечивают получение точного решения задачи планирования. Однако эти методы.являются довольно трудоемкими и время составления расписания с их использованием может превысить выигрыш от точности его реализации.
Методы математического программированиямогут быть эффективно использованы лишь при статическом планировании, когда расписание составляется до начала выполнения заданий. Они практически не могут быть использованы при динамическом планировании, которое осуществляется в процессе выполнения заданий, а также при сбоях и отказах ресурсов системы.
Эвристические алгоритмы планирования. В условиях динамической диспетчеризации вычислительного процесса и применения интеллектуальных ПВМ (раздел 5.6.2) используются так называемые эвристические (интуитивные) алгоритмы планирования. Основу этих алгоритмов составляют эвристики - совокупность эмпирических правил, основанных на неформальных соображениях, не имеющих теоретического обоснования. Использование эвристик позволяет существенно сокращать время решения задачи планирования по сравнению, например, с методами математического программирования и получать решение, близкое к оптимальному.
В качестве эвристических параметров алгоритма могут выступать:
- заданное время решения тех или иных задач;
- штраф за задержку решения задач;
- заданный срок окончания решения задач;
- степень загруженности (недогруженность или перегруженность) ресурсов и др.
При эвристическом подходе используются следующие предпосылки:
а) время пересылок информации между ресурсами системы считается пренебрежимо малым в сравнении со временем выполнения заданий и не учитывается при их распределении;
б) характеристики всех заданий считаются известными до начала процесса планирования.
При решении задачи планирования с использованием эвристического подхода все ресурсы системы разбиваются на несколько связных ресурсных подсистем. В каждой подсистеме определяется так называемая корневая ПВМ с окрестностью (локальной областью) Lr , которая включает номера ПВМ, расположенные от корневой ПВМ на расстоянии, не превышающем заданного радиуса r.
Разбиение ресурсов системы на локальные области позволяет существенно сократить время решения задачи планирования за счет выравнивания нагрузки между ПВМ каждой подсистемы. Корневая ПВМ следит за нагрузкой ПВМ в своей локальной области и при необходимости пересылает задачи в наименее загруженные ПВМ своей подсистемы. Кроме того, каждая перегруженная ПВМ может самостоятельно принимать решения по перемещению находящихся в ней задач в другие ПВМ своей подсистемы.
Дата добавления: 2023-01-28; просмотров: 411;