Научная статья на тему 'Использование методов СПУ для динамических конвейерных задач'

Использование методов СПУ для динамических конвейерных задач Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
208
76
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Использование методов СПУ для динамических конвейерных задач»

5. Gawlick R., Segala R., S0gaard-Andersen J.F., Lynch N.A. Liveness in timed and untimed systems. Technical ReportMIT/LCS/TR-587, Laboratory for Computer Science, MIT, Cambridge, MA, December 1993.

6. Helmink L., Sellink M.P.A., Vaandrager F.W. Proof-checking a data link protocol. In H. Barendregt and T. Nipkow, editors, Proceedings International Workshop TYPES’93, Nijmegen, The Netherlands, May 1993, volume 806 of Lecture Notes in Computer Science, pages 127-165. Springer-Verlag, 1994.

7. Lynch N.A., Tuttle M.R. Hierarchical correctness Proofs for distributed algorithms. In Proceedings of the 6th Annual ACM Symposium on Principles of Distributed Computing, pages 137-151, August 1987. A full version is available as MIT Technical Report MIT/LCS/TR-387.

8. Lynch N.A., Vaandrager F.W. Forward and backward simulations, I: Untimed systems. Information and Computation, 121(2):214-233, September 1995.

9. Mueller O. A Verification Environment for I/O Automata Based on Formalized Meta-Theory. PhD thesis, Technical University of Munich, September 1998.

10. Nipkow T., Slind K. I/O automata in Isabelle/HOL. In P. Dybjer, B. Nordstrom, and J. Smith, editors, Types for Proof and Programs, volume 996 of Lecture Notes in Computer Science, pages 101-119. Springer-Verlag, 1995.

11. Sogaard-Andersen J.F., Lynch N.A., Lampson B.W. Correctness of communication protocols - a case study. Technical Report MIT/LCS/TR-589, Laboratory for Computer Science, MIT, Cambridge, MA, November 1993.

Олейникова С.А.

ИСПОЛЬЗОВАНИЕ МЕТОДОВ СПУ ДЛЯ ДИНАМИЧЕСКИХ

КОНВЕЙЕРНЫХ ЗАДАЧ

Международный институт компьютерных технологий, г.Воронеж

Рассматривается многостадийная система обслуживания, включающая в себя большое число выполняемых операций. На вход системы в случайные моменты времени поступают заявки, каждая из которых требует выполнения своего набора работ. Каждая работа может зависеть от завершения других операций. Требуется составить такой график выполнения работ, который бы был оптимальным с точки зрения некоторого критерия (как правило, критерия равномерной загрузки).

В силу случайного времени поступления (и, возможно, обслуживания) заявок, задача является динамической. Поскольку задана последовательность выполнения работ, задача относится к задачам конвейерного типа.

Основной особенностью любых задач конвейерного типа является жесткое ограничение на взаимную зависимость работ. Для каждой операции существует множество работ, без завершения которых нельзя приступать к выполнению этой операции. Для решения задач такого типа широкое применение получили методы сетевого планирования и управления (СПУ). Большинство методов СПУ ориентированы на скорейшее завершения всех работ при наличии ограничений на используемые ресурсы.

Существует несколько разновидностей этих методов. Одним из наиболее распространенных является метод критического пути (Critical Path Method - CMP). В основу данного метода положено следующее правило: последовательность операций, требующая наибольшего времени для своего за-

вершения, определяет наименьшее время, за которое может быть выполнен весь проект. Данная последовательность называется критическим путем.

Метод CMP устанавливает приоритеты на множестве операций. Критические операции должны быть завершены вовремя, иначе сроки проекта будут сорваны. Некритическими называются операции, у которых существует резерв на время выполнения. Операции с небольшим резервом являются субкритическими. Таким образом, чем больше резерв операции, тем менее она критична.

Поскольку ключевым моментом в СМР является определение критического пути, т.е. совокупности операций с нулевым резервом времени, для каждой из операций определяется этот резерв. Для определения резерва рассмотрим несколько понятий.

Пусть vk - время выполнения некоторой работы k.

Под ранним временем начала работы j будем понимать такое время tp, раньше которого данная работа наступить не может. Тогда работа j может быть выполнена лишь после того, как будут выполнены все предшествующие ей работы. Поэтому раннее время ее выполнения определяется формулой:

где { - все работы, которые являются смежными для работы ].

У работ, не имеющих смежников, раннее время выполнения совпадает с моментом начала обслуживания 1нач.

Позднее время начала работы определяет такое значение времени, позже которого данная работа начаться не может. Позднее время для любой работы { будет зависеть от наличия работ ], для которых { будет являться смежником. Если определено раннее время начала таких работ, то позднее время начала работы { будет определяться формулой:

Если работа { не является смежником ни для одной работы, то для нее позднее время будет вычисляться следующим образом:

Эта разность определяет тот интервал, на который можно «сдвинуть» время начала выполнения работы. Работа находится на критическом пути, если R=0.

Изначально время начала выполнения всех работ считается самым ранним. Затем при необходимости модификации работы, имеющие максимальный резерв, «сдвигаются» на более позднее время. Данная процедура выполняется до тех пор, пока всем работам не будет поставлено в соответствие окончательное время ее выполнения.

Несомненным достоинством СМР является введение понятия критического пути, и планирование работ с учетом величины резерва времени.

j = max(t Г + vt),

(1)

(2)

(3)

Рассмотрим величину

R. = tT - t?}i.

(4)

Разновидностью этого метода являются сети предшествования [1]. Они значительно эффективнее в случае, если существуют повторяющиеся и параллельно выполняемые работы. При использовании метода СМР для перекрывающихся во времени операций они должны быть разделены. Для установления их технологической последовательности также используются фиктивные операции, что делает процесс ее решения более трудоемким.

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

- предшествующие операции;

- последующие операции;

- параллельные операции.

Ключевым в сетях предшествования также являются понятия резерва и критического пути, однако, в данном методе резервы рассчитываются с помощью следующих величин [1]:

- Fj - время запаздывания для связи «окончание-окончание» (т.е. операция j заканчивается на время Fj позже, чем заканчивается операция i);

- Sij - время опережения для связи «начало-начало» (т.е. операция i начинается на время Sj позже, чем начинается операция j);

- Cj - время запаздывания для связи «окончание-начало» (т.е. операция j начинается на время Cj позже, чем заканчивается операция i).

Эти показатели позволяют достаточно адекватно моделировать проект, но в то же время приводят к увеличению времени выполнения операций.

Рассмотренные методы исходят из того, что заранее известны длительности каждой работы. На самом деле время выполнения зависит от множества факторов и фактически является случайной величиной. Неучет этого обстоятельства может привести к значительным ошибкам в определении общего срока выполнения проекта. Наиболее эффективным методом в этих условиях является метод анализа и оценки программ (Program Evaluation and Review Technique - PERT). Он основан определении трех видов оценок времени выполнения каждой работы [3]:

- оптимистическая оценка a, указывающая время выполнения при наиболее благоприятных условиях;

- наиболее вероятная продолжительность работы m;

- пессимистическая оценка b, дающая время выполнения работы при наиболее неблагоприятных условиях.

На основании этих оценок ожидаемая длительность te будет определяться следующим образом [3]: a + 4m + b

I, =----6----. (5)

6

При этом стандартное отклонение времени выполнения данной операции определяется формулой [3]:

st =

b - a

6

(6)

Предполагая, что проект состоит из большого числа операций, получим результирующее распределение его длительности, близкое к нормальному закону со средним значением [1]:

Т =^а, + Щ + Ь,. (7)

Рассчитав эти значения можно получить стандартное отклонение ожидаемой длительности Т всего проекта [1]:

sT=Ж(<*,- )2

\2

І \

6

(8)

В формулах (7) и (8) в расчет берутся лишь те операции, которые находятся на критическом пути.

Исходя из предположения о нормальном распределении времени окончания проекта, можно оценить вероятность завершения всех работ к определенному моменту То. Эта вероятность определяется формулой [3]:

P(T < T0)= Ф

To - Te

sT

(9)

где Ф(х) - функция Лапласа.

Сравнительные характеристики рассмотренных методов представлены в следующей таблице.

Таблица 1

_______________Сравнительные характеристики методов СПУ___________________

Характеристика метода Сетевые методы

СМР Сети предшествования PERT

Роль событий и моментов событий мала отсутствует основная

Роль операций и длительностей операций средняя основная практически отсутствует

Требование перекрытия операций во времени трудно легко выполнимо почти невыполнимо

Возможность следить за отдельными путями сети наилучшая недостаточная средняя

Легкость корректировки сети средняя большая небольшая

Трудоемкость расчетов минимальная большая средняя

Стохастический аспект отсутствует отсутствует учитывается

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

методе PERT, позволят учесть случайный характер времени обслуживания заявок. В-третьих, метод PERT дает важную возможность определить вероятность завершения проекта к определенному планируемому сроку, что крайне важно в условиях наличия стохастического аспекта.

Однако существуют специфические особенности класса рассматриваемых задач, которые недостаточно или совсем не учитываются ни одним из методов СПУ. В первую очередь, большинство методов ориентировано на скорейшее завершение работ. В [2] приведено описание других целевых функций, однако модификация существующих или использование новых методов СПУ для решения задач с нерегулярными критериями практически отсутствует. При этом многие практические задачи ориентированы на достижение равномерной загрузки. Более того, при поступлении новой заявки система уже является частично загруженной обслуживанием других заявок. Необходимо составить такой график, чтобы не нарушить равномерную загрузку в целом. При этом каждый раз необходимо учитывать существующее к данному моменту расписание. Другой особенностью рассматриваемых задач может являться новый набор выполняемых операций для каждой заявки. Такая ситуация может иметь место, когда существует большой перечень операций, а для обслуживания вновь поступившей заявки необходимо выполнить лишь некоторые из них. В этом случае для каждой из пришедших заявок необходимо решать свою задачу планирования. Еще одной спецификой динамических задач является случайное время поступления заявок. Поскольку его можно предсказать лишь в статистическом смысле, необходимо при формировании расписания оценить это время таким образом, чтобы это не привело к ухудшению значения целевой функции.

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

Список использованных источников

1. Ахьюджа Х. Сетевые методы управления в проектировании и производстве. М.: Мир, 1979. - 640с.

2. Зуховицкий С.И., Радчик И. А. Математические методы сетевого планирования. М.: Наука, 1965. - 296с.

3. Коршунов Ю.М. Математические основы кибернетики. М.: Энергия, 1980. -

424с.

Подписной индекс в объединенном каталоге «Пресса России» 41944

i Надоели баннеры? Вы всегда можете отключить рекламу.