Научная статья на тему 'Проблема надежного выполнения сложных наборов задач в управляющих параллельных вычислительных системах'

Проблема надежного выполнения сложных наборов задач в управляющих параллельных вычислительных системах Текст научной статьи по специальности «Математика»

CC BY
230
33
i Надоели баннеры? Вы всегда можете отключить рекламу.
Журнал
Проблемы управления
ВАК
Область наук

Аннотация научной статьи по математике, автор научной работы — Елисеев В. В., Игнатущенко В. В.

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

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

Похожие темы научных работ по математике , автор научной работы — Елисеев В. В., Игнатущенко В. В.

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

ON THE PROBLEM OF RELIABLE EXECUTION OF COMPLEX TASK SETS IN PARALLEL CONTROL COMPUTER SYSTEMS

To provide the reliable execution of complex sets of interdependent tasks with random realization times in the parallel control computer systems, a new computer technology relying on static forecasting of task execution times is proposed. The reliable execution of the required task sets is regarded as their execution with the desired probability in a time not greater than the prescribed «directive» time. The technology offers a basically new approach to intelligent dynamic control of parallel computing processes.

Текст научной работы на тему «Проблема надежного выполнения сложных наборов задач в управляющих параллельных вычислительных системах»

УДК 681.324

1

нформационные технологии в управлении

ПРОБЛЕМА НАДЕЖНОГО ВЫПОЛНЕНИЯ СЛОЖНЫХ НАБОРОВ ЗАДАЧ В УПРАВЛЯЮЩИХ ПАРАЛЛЕЛЬНЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМАХ

В. В. Елисеев(1), В. В. Игнатущенко(2)

(1) НПО «Импульс», г. Северодонецк, Украина;

(2) Институт проблем управления им. В. А. Трапезникова РАН, г. Москва

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

ВВЕДЕНИЕ. ОСНОВНЫЕ ПОНЯТИЯ

Существуют особо ответственные применения вычислительных систем, и в первую очередь, — в контурах управления реального времени, где время реакции, «отклика» ВС жестко лимитируется требованиями и особенностями объекта управления, зачастую — в условиях случайных изменений поведения объекта или его параметров. Вот примеры: верхние уровни управления сложными объектами типа атомных реакторов, управление полетами летательных аппаратов, включая космические, управление разветвленными быстропротекающими физическими и химическими технологическими процессами, и пр.

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

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

время Т с требуемой (удовлетворяющей пользователя) вероятностью D [1].

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

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

Вследствие случайного характера указанных явлений и эффектов, времена выполнения задач и их фрагментов (программных модулей), а также наборов задач в целом рассматриваются нами, в общем случае, как случайные величины, а процесс выполнения наборов задач в параллельных управляющих ВС (на которые ориентировано наше исследование) — как случайный процесс. В связи с этим возникают принципиальные, нетривиальные в решениях вопросы: можно ли оценить вероятность успешного завершения требуемого набора задач (в условиях упомянутых неопределенностей) за заданное директивное время на ВС с заданной или предполагаемой производительностью вычислительных ресурсов? Или наоборот: какова вероятность невыполнения этих задач, т. е. отказа ВС (в оговоренном выше смысле), за заданное директивное время? Можно ли вычислить «угрозу» такого отказа непосредственно при выполнении задач в ВС? Как управлять вычислительными процессами, чтобы предотвратить или уменьшить эту угрозу? Или даже такая проблема: как заранее «подсказать» директивное время, при котором реально обеспечивалось бы надежное выполнение конкретного набора задач в каждом сеансе управления?

Применительно к управляющим параллельным ВС, включая параллельные управляющие ПТК [2], проблема оценок такого рода получила название математического прогнозирования времени выполнения сложных наборов задач (программных комплексов), [1, 3—6]. Принципиально, что эти наборы рассматриваются в наиболее трудоемких версиях — с произвольными информационными и логическими связями между задачами — и потому названы комплексами взаимосвязанных работ — задач и (или) их параллельно-последовательных фрагментов (подзадач, процессов), а в общем случае — программных модулей.

Принятые сокращения:

ВС — вычислительная система;

КВР — комплекс взаимосвязанных работ;

МВС — многопроцессорная вычислительная система;

МКМД — множество команд и множество данных;

ОМП — обрывающийся марковский процесс;

ОП — обслуживающий прибор;

ПТК — программно-технические комплексы;

СМО — система массового обслуживания.

Формально под математическим (статическим) прогнозированием времени выполнения конкретного, заданного пользователем КВР понимается определение в статике (т. е. до реализации задач в ВС) стохастических оценок времени Т реализации КВР (среднего значения, дисперсии, а главное — функции F(t) распределения времени Т) и определение вероятности D завершения КВР за время, не превышающее заданное Ттах, на параллельной ВС с заданной конфигурацией и производительностью ее вычислительных ресурсов [1].

1. СОСТОЯНИЕ ПРОБЛЕМЫ

Наибольшее число результатов по прогнозированию времени выполнения наборов взаимосвязанных задач в параллельных ВС получено для «детерминистских» пос-

тановок — в предположении, что время решения каждой задачи заранее известно (а не является случайной величиной, как в нашем подходе). Зачастую, например, время выполнения набора взаимосвязанных задач оценивается как сумма времен (либо заранее известных, либо средних, либо предполагаемых значений) выполнения задач вдоль некоторых путей в графе задач. Для нас же наибольший интерес представляют исследования, в которых рассматриваются случайные времена выполнения задач. Поэтому «идеологически» к рассматриваемой проблематике — прогнозирования времени выполнения задач управления — близки вероятностные модели, оценивающие способность ВС к выполнению заданного набора работ за ограниченное время, а также вероятностные подходы к прогнозированию производительности ВС на ранних этапах их проектирования (см., например, обзор [7]). Наиболее представительными, и «близкими по духу» к нашей проблематике являются, по мнению авторов, работы [8, 9]. В первой из них приводится вероятностная модель для оценки математического ожидания и дисперсии времени выполнения набора задач, а в другой — вычисляется среднее время отклика программы, представленной в виде графа задач, с использованием «уровня узла или задачи» в графе. Вообще, в указанных и других известных авторам исследованиях, всюду оцениваются не распределения времени выполнения наборов взаимосвязанных задач, а границы значений параметров распределений (прежде всего, первого момента).

В целом, в указанных выше и других известных авторам исследованиях по прогнозированию времени выполнения наборов взаимосвязанных задач со случайными временами их реализации, прогнозирование этого времени осуществляется только в статике (т. е. до выполнения задач в ВС) и ограничивается оценками либо средних времен наступления некоторых событий, либо границ интервалов значений искомых времен (включая оценки «наихудшего случая»), т. е. «точечными» оценками, — совершенно недостаточными для прогнозирования и анализа поведения процессов в динамике и оперативного управления ими в ходе выполнения задач в управляющих ВС реального времени, на которые ориентировано наше исследование.

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

В Институте проблем управления РАН (г. Москва) с участием НПО «Импульс» (г. Северодонецк, Украина) сформулирована и развивается общая методология решения этой проблемы. «Общая» — поскольку методология применима для анализа выполнения сложных наборов задач и управления процессами как в однородных [1—5], так и в неоднородных [6] управляющих МВС класса

МКМД (со многими потоками команд и данных), а также в управляющих ВС с распределенной структурой, в частности — в ПТК [2, 10]. Принципиальные особенности этой методологии, помимо ее применимости для параллельных ВС различных классов, заключаются в следующем:

— в основу ее положен анализ выполнения наборов взаимосвязанных задач — КВР — и (или) их фрагментов с произвольными информационными и логическими связями между ними, со случайными временами реализации работ КВР;

— управление процессами базируется на вычислениях (в статике) и использовании (в динамике) математических прогнозов, включая функции распределения F(t) времен выполнения как КВР в целом, так и его фрагментов;

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

В такой комплексной постановке проблема впервые была сформулирована в работе [1].

2. ИСХОДНЫЕ ДАННЫЕ И БАЗОВАЯ МАТЕМАТИЧЕСКАЯ МОДЕЛЬ

Для решения задачи математического (статического) прогнозирования в данной работе используются следующие исходные данные.

В качестве параллельных ВС здесь для определенности будут иметься в виду МВС класса МКМД, состоящие из k однотипных процессоров с общей оперативной памятью — например, как в работе [11].

Пользователем задается (по аналогии с работами [1, 3—5]) КВР в виде простого ориентированного графа О (А, Н) с конечным числом N вершин, где вершина а. е А соответствуету-й работе (у = 1, ..., N), а множество дуг Н отображает информационно-логические связи между работами. На рис. 1 в качестве примера представлен граф КВР, состоящий из N = 23 вершин; этот пример мы и будем использовать во всем последующем изложении для иллюстрации нашего подхода. Для простоты пояснений выбран граф КВР без логических ветвлений и циклов между работами, причем граф О имеет только одну входную и только одну выходную висячие дуги, соответствующие начальной и конечной вершинам (работам) графа КВР.

Работа а. считается предшественником по отношению к работе а, если имеется дуга (а., ал) е Н; в этом

Л у Л

случае работа ал является преемником по отношению к работе а.. Каждая работа считается готовой к выполнению, если выполнены все ее предшественники (в нашем примере). В каждый момент времени на одном процессоре МВС может выполняться только одна работа (один программный модуль). При этом в программном модуле каждой работы допускается произвольное число логи-

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

Каждая работа а., у е (1, ..., N), характеризуется случайным временем обслуживания t,, распределенным по экспоненциальному закону с параметром = 1/М [у], соответствующим интенсивности обслуживания конкретной работы а.

Конечно же, реальный закон распределения времени ^ в общем случае может быть неизвестен; обычно оказывается известным (или задается, или предполагается пользователем) лишь среднее значение случайной величины ti. В нашем подходе выбор именно экспоненциального распределения для ti обосновывается и мотивируется следующим образом. Получаемые при таком распределении значения прогнозов (например, среднего

времени Т выполнения КВР) являются худшими — наиболее «пессимистическими» (т. е. верхними) — в том смысле, что при других законах распределения (с коэффициентами вариации с < 1, [12]) прогнозируемые значения времени выполнения КВР и его фрагментов

(в частности — Т) были бы меньше (т. е. лучше), а вероятность успешного завершения КВР за заданное директивное время была бы большей, чем при экспоненциальном законе распределения времени ti. Заметим, однако, что при законах распределения случайных величин ti с коэффициентами вариации с > 1 (например, при гиперэкспоненциальном распределении [12]) времена выполнения КВР и его фрагментов могут оказаться еще хуже (т. е. больше), чем при экспоненциальном распределении времени t,, принятом для расчета прогнозов.

Таблица 1

Таблица связности вершин (работ) КВР

Рис. 2. Структурная схема математической модели

Номер работы а Пред- шест- венни- ки Преем- ники м^], т Ранг Г Связ- ность ь

і 2 3 4 5 6 7

і - 2, 4 150 0,0067 12 2

2 1 3, 7, 8 30 0,0333 11 3

3 2 5 160 0,0063 10 1

4 1 80 0,0125

5 3, 4 6, 11, 17 70 0,0143 9 3

6 5 9 120 0,0083 8 1

7 2 170 0,0059

8 10, 13, 16 50 0,0200 3

9 6, 7 14 130 0,0077 7 1

10 8 150 0,0067

11 5 18 100 0,0100 4

12 14 15 160 0,0063 5

13 8 100 0,0100

14 9, 10 12, 18, 20 40 0,0250 6 3

15 12, 13 19 30 0,0333 4 1

16 8 170 0,0059

17 5 21 100 0,0100 3

18 11, 14 70 0,0143

19 15, 16 22 130 0,0077

20 14 80 0,0125

21 17, 18 23 120 0,0083 2

22 19, 20 50 0,0200

23 21, 22 - 40 0,0250 1 0

Граф О заданного пользователем КВР описывается таблицей связности его вершин (см., например, работу [11]). Таблица содержит N строк (по числу вершин графа), в каждой из которых указываются номер j работы а,, номера работ (вершин) — предшественников и преемников данной работы, а также среднее время ее выполнения М [,] в некоторых условных тактах т и/или интенсивность ее обслуживания ц (табл. 1, столбцы 1—5). Значение и смысл двух последних столбцов в табл. 1 будут пояснены далее.

Среднее время выполнения каждой работы ti задается пользователем. Если же это время лишь априорно предполагается, то пользователь может задавать и апробировать спектр средних значений ti — это приводит к увеличению объема программного моделирования в статике, но не приводит к изменению рассматриваемой методологии.

Для каждого КВР пользователем задается директивное время его выполнения Ттах.

Процесс выполнения КВР в МВС представляется математической моделью в виде однофазной СМО, рис. 2, содержащей к 1 2 обслуживающих приборов — ОП (соответствующих процессорам МВС), буфер Б для готовых к выполнению работ, которые поступают из пула П, содержащего в исходном состоянии N работ. Модель функционирует в непрерывном времени.

Эта математическая модель названа базовой [1, 3—5], поскольку является основой для всех ее модификаций, используемых для прогнозирования выполнения как КВР в целом, так и его фрагментов, в параллельных ВС различных типов (упоминавшихся в § 1) и вообще в нашем подходе.

Модель функционирует следующим образом. В начальный момент времени в систему (Б, ОП) поступает из пула П одна заявка — «начальная» работа ах, которая немедленно начинает обслуживаться на одном из ОП с интенсивностью По завершению обслуживания

работы а1 (в общем случае — а) в ОП она покидает систему, «передавая» свой номер в пул П, из которого выбираются в буфер Б те преемники работы а,, которые оказались готовы к выполнению (т. е. выполнены все их предшественники); номера этих работ однозначно устанавливаются по таблице связности вершин графа Є (табл. 1, столбец 3). Из буфера Б заявки выбираются — по некоторой заданной пользователем дисциплине (критерию диспетчеризации) — на обслуживание в незанятые ОП. Система массового обслуживания функционирует до тех пор, пока в пуле П и в системе не иссякнут заявки.

Пусть Т — время жизни системы (время выполнения КВР из N работ). Функционирование такой СМО можно описать ОМП Х(Ґ), ї є [0, Т) над следующим множеством состояний:

X = {(т; ік; іп) : т = 0, N - 1; = 0, N - 2; п = 1, k},

где т — число работ, находящихся в пуле П в момент ї; 4 = Н, ..., ^ іП = І1, ...,Іп; причем і1, ..., ік — номера работ, ожидающих в буфере Б, н> — число таких работ;І1, ...,]п — номера работ, находящихся на обслуживании в ОП, п — число этих работ; k — число ОП.

В каждый момент ї в системе (Б, ОП) находятся w + п работ. Начальным состоянием процесса Х(ї) является состояние Х(0) = ^ — 1; 0, ..., 0; 1, 0, ..., 0), при котором в пуле П находится N — 1 работ, буфер Б пуст, а на обслуживании в ОП находится работа с номером 1 (работа а1). Процесс обрывается, т. е. переходит в поглощающее состояние Х(Т) = (0; 0; 0) после завершения обслуживания «конечной» работы ам (после выполнения всех N работ заданного КВР).

3. РАСЧЕТЫ БАЗОВОЙ МАТЕМАТИЧЕСКОЙ МОДЕЛИ — ПРОГНОЗИРОВАНИЕ ВРЕМЕНИ ВЫПОЛНЕНИЯ КВР И ЕГО ФРАГМЕНТОВ

Реализация принципа математического (статического) прогнозирования времени выполнения как КВР в целом, так и его фрагментов, разделяется на следующие процедуры.

Процедура 1. По алгоритму, описанному в работе [3], для базовой математической модели и заданного КВР строится граф переходов Р (при заданном к) и матрица интенсивностей 0 процесса Х(ї). Алгоритм [3] включает в себя процедуру определения работ, готовых к выполнению, а также работ, выбираемых на обслуживание в ОП по самым различным дисциплинам диспетчеризации.

Фрагмент графа переходов Р процесса Х(ї) при выполнении КВР, граф которого изображен на рис. 1, при числе ОП k = 2 приведен на рис. 3 (этот фрагмент мы будем использовать в изложении и последующих процедур). Здесь для каждого состояния указаны: т — число работ, остающихся в пуле П; і1, ..., іж — номера работ, ожидающих в буфере Б (над чертой в обозначении состояния);І1, ...,]п — номера работ, находящихся на обслуживании в ОП (под чертой). При дугах, соот-

ветствующих переходам процесса из каждого состояния Хр, приписаны интенсивности переходов ц, где у — номер работы, завершение которой приводит к изменению состояния X. Граф Р построен для случая, когда заявки выбираются из буфера Б на обслуживание в незанятые ОП по известному критерию диспетчеризации «выбор работы с максимальным рангом ^./степень связности Ь,» вершины а, [3, 11]; эти параметры для каждой из работ рассматриваемого КВР приведены в табл. 1, столбцы 6 и 7. Под связностью Ь, вершины а, здесь имеется в виду число преемников последней.

Состояния ОМП Х(^ нумеруются по правилам упорядочения состояний множества X [3], а именно: состояния нумеруются и упорядочиваются по убыванию или невозростанию значений параметра т (текущее число работ в пуле П); состояния с одинаковыми значениями т упорядочиваются по убыванию или невоз-ростанию значений + п (число работ в системе), см. рис. 3. При таком упорядочении состояний множества Х матрица 0 интенсивностей переходов ОМП Х(0 оказывается нижней треугольной матрицей, что является необходимым условием для определения, по методу [13], функции распределения Б^) времени выполнения КВР в целом.

Процедура 2. Расчет базовой математической модели

позволяет определить среднее время Т выполнения каждого заданного КВР и, используя метод [13], восстановить функцию распределения Б^), которая позволяет, в свою очередь, определить вероятность Б завершения каждого конкретного КВР за заданное директивное время Ттах. Важно отметить, что расчет функции Б(^ не зависит от задаваемых значений Ттах.

Вообще, вероятность Б завершения КВР за время Ттах играет ключевую роль в нашем подходе. С одной стороны, значение Б может задаваться пользователем в качестве параметра надежного выполнения КВР: например, заданное значение Б = 0,9 означает, что вероятность завершения КВР за директивное время Ттах должна быть не менее 0,9. С другой стороны, реально достигаемое значение Б при заданном Ттах может быть определено по функции распределения Б(^, рассчитываемой по методу [13]. Так, для КВР (см. рис. 1) с параметрами, описанными в табл. 1, функция распределения Б^) представлена кривой 1 на рис. 4 (для случая к = 2). Если для этого КВР задано, например, директивное время Ттах = 2300т (условных тактов), то вероятность Б выполнения КВР за это время оказывается равной 0,96. Таким образом, если вероятность Б не задана, то она может быть рассчитана в статике и предъявлена потребителю как один из параметров эффективности, «пригодности» управляющей ВС для выполнения требуемых наборов задач за заданное директивное время Ттах.

Напомним, что при любом другом законе распределения времен t. выполнения работ КВР с коэффициентом вариации с < 1 прогнозируемая вероятность Б завершения КВР за заданное время Ттах была бы большей

Рис. 3. Фрагмент графа переходов Р процесса Х(#) выполнения КВР

Рис. 4. Функции распределения времени выполнения КВР и его фрагментов

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

(т. е. более «оптимистической»), чем при используемом здесь экспоненциальном законе распределения времен ,.

Остановимся на еще одном важном аспекте использования вероятности Б завершения КВР за требуемое время. Как следует из расчетов для нашего примера КВР,

среднее время его выполнения (при к = 2) Т = 1414т. Но тогда вероятность выполнения этого КВР за среднее

время Т (определяемая по функции В(^), см. рис. 4, кривая 1) равна всего лишь 0,66. Это означает следующее: если при обосновании времени Ттах руководствоваться

расчетами лишь среднего времени Т (например, задавать Ттах = Т), то в каждом сеансе управления КВР не будет выполняться за директивное время Ттах с вероятностью 0,34 (в нашем примере). Такая вероятность отказа (в используемом нами понятии отказа ВС) совершенно неприемлема для многих практических систем управления реального времени.

Сказанное свидетельствует о необходимости определения функций распределения времен выполнения рас-

сматриваемых процессов, о необходимости использования этих функций для обоснования директивных времен Ттах, для оценки «пригодности» ВС к выполнению требуемых наборов задач за заданное время (обусловленное особенностями конкретного объекта управления), а также для обоснования и выбора наборов задач и даже алгоритмов их решения.

Еще один важный тип параметров используется в нашем подходе — контрольные события ^, — события завершения некоторых работ КВР, — например, отнесенных к «критическим процессам» КВР, или части работ критического пути в графе КВР, или работ, по завершению которых выдаются управляющие сигналы во внешнюю среду. Работу а,, завершение которой рассматривается как контрольное событие 2,, будем называть контрольной работой. Контрольные события и соответствующие им контрольные работы обычно назначаются в КВР пользователем. Если же таковые не заданы, то может быть использован формализованный аппарат назначения контрольных событий и выбора контрольных работ, изложенный в работе [14]. Для простоты, в

нашем примере мы будем рассматривать только одно контрольное событие ^5, которое соответствует завершению контрольной работы а15, принадлежащей критическому пути в графе КВР (см. рис. 1).

По контрольным событиям будет осуществляться анализ состояний процесса выполнения КВР в параллельной ВС и последующее оперативное управление этим процессом на основе сравнения прогнозируемого (в статике) времени выполнения фрагментов КВР с временными параметрами реальных событий, происходящих в системе в динамике выполнения КВР.

Процедура 3. Определение и анализ опорных состояний системы.

Опорными состояниями Х^~системы названы состояния, в одно из которых система может перейти при контрольном событии 2* завершения работы а* в некоторый момент tj.

Событие 2. может произойти при одном из нескольких состояний X* системы, в которых контрольная работа а* находится на обслуживании в ОП. Как уже упоминалось, в нашем примере контрольным событием является событие Z15 завершения работы а15, принадлежащей критическому пути в графе КВР (см. рис. 1). Это событие может произойти при любом из следующих состояний системы (см. фрагмент графа Р на рис. 5):

Х*4, Х8, х9*6, X*, X*, х*01, ХОз, х*15, х*20 и Х*23 (для большей наглядности часть из них изображена также на рис. 3).

Очевидно, что из каждого состояния X* система

из опорных состояний X!: . Так, при завершении работы а15 система переходит из состояния Xg*4 только в

\г( 15) \г*

опорное состояние X9o , из состояния Л88 — только в

гК 15) " V*

опорное состояние X™ , из состояний Xс

98

А15)

96 и Х97 — в

опорное состояние Xj'oo , и т. д. (рис. 3 и 5); для наглядности графические обозначения опорных состояний на рис. 5 заштрихованы, а не обозначены верхним индексом (15).

Каждому опорному состоянию X^^]') соответствует

начальная вершина подграфа переходов Р.процесса выполнения работ некоторого фрагмента КВР — работ, оставшихся для обслуживания после завершения работы

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

Для иллюстрации на рис. 3 приведен подграф

(15) 98

начальной вершиной (опорным состоянием) X9g15), который обведен сплошной линией; на рис. 5 все вершины этого же подграфа обведены штриховыми линиями.

Таким образом, число подграфов Р.соответствует числу опорных состояний X.*' , в которые может перей-

может перейти при завершении работы а. только в одно ти система в результате контрольного события 2.

Таблица 2

Фрагмент таблицы прогнозов выполнения КВР

Контрольные события ^ Возможные состояния X* процесса Опорные состояния X« «Критические точки» для дообслуживания КВР

при «штатном» выполнении КВР при увеличении числа процессоров (к = 3) при реализации упрощенных версий работ при выполнении «критического процесса»

1 2 3 4 5 6 7

215 — завершение работы а15 Х*4 У (15) У90 — — — —

X* У (15) У98 и о 1П 40 II 7^5) (1) = 1760т 7^5) (2) = 1927т 7^5) (3) = 1900т

-у* -у* У96 , У97 У(15) У100 — — — —

9 *9 У (15) У112

Х*оі У (15) У105

Х*оз У(15) У113

Х*15 У (15) У125

У * У120 У(15) У128

У * У123 У(15) У132

Контрольные события 2, соответствующие каждому

из них состояния X* и опорные состояния X.'заносятся в таблицу прогнозов выполнения КВР (табл. 2, столбцы 1—3).

Производится перенумерация вершин состояний

каждого подграфа ^ в соответствии с алгоритмом упорядочения состояний процесса выполнения КВР [3, 13]

и строится матрица интенсивностей переходов для

Рис. 5. Фрагмент графа переходов обрывающегося марковского процесса

этого подграфа. На рис. 5 для подграфа новые номера состояний указаны рядом с прежними номерами в круглых скобках.

Далее методика излагается для расчета стохастических характеристик одного (любого) ОМП, описываемого

подграфом переходов Л) и соответствующего процессу

дообслуживания КВР после контрольного события 2.,

начиная с опорного состояния Х^ Л),

Под дообслуживанием КВР здесь понимается выполнение его фрагмента, который состоит из работ, находящихся в пуле П, буфере Б (см. рис. 2) и на выполнении в ОП в момент, когда ОМП переходит в опорное состояние Х^Л) (в нашем примере — в состояние Х9^5)).

Процедура 4. Восстановление (по методу [13]) функции распределения Л) (О (в нашем примере — функции -?9815) (ґ)) времени дообслуживания КВР после контрольного события 2'(215) с начальным состоянием Х^ Л)

(Х9^5)) процесса дообслуживания.

Особенность определения этой функции (по сравнению с определением функции ДО по Процедуре 2) состоит лишь в том, что в качестве начального состояния ОМП здесь принимается не исходное состояние Х(0),

описанное ранее, а опорное состояние Х^ Л), соответствующее начальной вершине подграфа Р( Л). Так, для ОМП с подграфом переходов начальным состоя-

нием является опорное состояние Хд8'5) = (4; 19, 20; 17,

11) (см. рис. 3), обозначенное на рис. 5 после перенумерации состояний этого ОМП как (Х1).

Функция распределения (ґ) представлена кривой 2 на рис. 4 (начиная не с ґ = 0, а с некоторого другого значения ґ по причинам, объясняемым далее).

Параметры функции Р^ Л) (ґ) (в рассматриваемом случае — Р((8'5) (ґ)) — например, ее значения через интервалы 10т или 100т, начиная с ґ = 0, заносятся в таблицу прогнозов (для упрощения, в табл. 2 значения функций

Р^Л)(ґ), соответствующие кривой 2 на рис. 4, не приведены).

Процедура 5. Определение необходимого директивного времени Т^^гх (Т^"^) дообслуживания КВР с требуемой вероятностью D после контрольного события 2. (215) с начальным состоянием Х^Л) (Х9^5)) процесса дообслуживания.

Будем принимать требуемую вероятность D дообслуживания КВР такой же, как и вероятность D выполнения КВР в целом за заданное директивное время Ттах.

Тогда директивное время Т(^ах дообслуживания КВР с

заданной вероятностью D определяется по функции рас-

17 ( Л)

пределения Р^ — эта процедура соответствует реше-

нию «обратной задачи» по методу [13]. В нашем примере

необходимое директивное время Т((15^ах дообслуживания КВР с требуемой вероятностью D = 0,96 оказывается равным 650т (см. рис. 4).

Процедура 6. Определение «критической точки»

Т^сг (Тс(8:Сг) — момента наиболее позднего начала дообслуживания КВР, начинающегося с опорного

состояния Х/Л) (Х9(815) ) : тЛ = Ттах - Т*тах .

Смысл «критической точки» заключается в следующем: если дообслуживание КВР начинается не позже

момента Т(ЛГ, то обеспечивается «штатное» выполнение

КВР в целом за время, не большее директивного времени Ттах, с заданной вероятностью D. В нашем примере

ТС = Т^-Т^ = 2300т - 650т = 1650т, — см. рис. 4, где рассчитанная ранее функция распределения І985) (ґ) дообслуживания КВР (кривая 2) имеет

начальную временную координату не і = 0, а і = Т^СГ

= 1650т. Рассчитанное значение Т(;с)г (Т^СГ) заносится в таблицу прогнозов (табл. 2, столбец 4).

Процедуры 3—6, изложенные ранее, выполняются для каждого контрольного события 2. и опорного состояния Х^Л), причем эти процедуры выполняются в статике, т. е. до реализации этого КВР на параллельной ВС, а результаты их заносятся в таблицу прогнозов (для простоты в табл. 2 результаты выполнения указанных процедур приведены лишь для контрольного события

215 и опорного состояния Хэд5 ).

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

4. ДИНАМИЧЕСКОЕ УПРАВЛЕНИЕ НАДЕЖНЫМ ВЫПОЛНЕНИЕМ КВР НА ОСНОВЕ СТАТИЧЕСКИХ ПРОГНОЗОВ

Использование статических прогнозов для динамического (оперативного) управления надежным выполнением КВР заключается в следующем.

При выполнении КВР в параллельной ВС в динамике фиксируется реальный физический момент Л (ґ*5) контрольного события 2. (215) по отношению к моменту ґ = 0 начала выполнения КВР, а также состояние Х;* (в нашем примере — Х8*8), в котором находился процесс выполнения КВР в этот момент. По таблице прогнозов од-

нозначно определяется опорное состояние X.' (в нашем примере — (X9(815))), в которое переходит ОМП, и «критическая точка» Т.' (Т98 СГ) для дообслуживания КВР при этом опорном состоянии (см. табл. 2, столбцы 1—4). Сравниваются реальное значение ' (^5) и значение

гг'

спрогнозированной в статике «критической точки» Т.С'Г ( Т98СГ) для дообслуживания КВР.

Если имеет место ' < т' (если ^5 < Т98^СГ), т. е. контрольное событие 2. (Z15) произошло не позже, чем «момент наиболее позднего начала» дообслуживания КВР (реализация которого описывается ОМП с подграфом переходов Р.', в нашем примере — подграфом

р985) ), то обеспечивается надежное выполнение КВР, т. е.

выполнение КВР за время, не большее директивного времени Ттах, с вероятностью, не меньшей заданной вероятности Б, и не требуется замены «штатного» алгоритма управления процессами.

дов соответствующих им ОМП и матрицы интенсивностей переходов, в статике выполняются описанные выше Процедуры 4—6; в результате рассчитываются

Если же имеет место ' > Т.'СГ (если ^5 > Т98 Сг ), т. е. контрольное событие 2* (215) произошло позже, чем это допустимо для надежного дообслуживания КВР), то вероятность завершения КВР в целом за время Ттах оказывается меньшей, чем требуемая вероятность Б, и необходимо переходить к какому-либо другому алгоритму управления дообслуживанием КВР (из заранее заданного набора алгоритмов) — с большим значением Т.'СГ. Эти алгоритмы задаются пользователем.

В качестве примеров таких алгоритмов здесь выбраны:

• реконфигурация ВС — увеличение числа процессоров ВС, предоставляемых для дообслуживания КВР (числа k обслуживающих приборов в модели СМО);

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

• реализация упрощенных версий работ (программных модулей) фрагмента КВР, оставшегося для выполнения (как это предусматривается при многоверсион-ном программировании — см., например, работу [11]); это обычно приводит к уменьшению точности и времени вычислений, а следовательно — к увеличению интенсивностей обслуживания работ;

• выполнение только «критического процесса» для дообслуживания КВР. Для этого случая пользователем должны быть заранее (в статике) указаны работы КВР, которые обязательно должны быть выполнены после контрольного события 2 (215), — это и есть работы «критического процесса». В нашем примере КВР (см. рис. 1) «критическим процессом» является (после завершения контрольной работы а15) последовательное выполнение работ а19, а22 и а23 без использования данных от их предшественников — работ а№ а20 и а21.

Для каждого из алгоритмов управления процессами дообслуживания КВР, используя подграфы Р( ' перехо-

п( 1 5)

значения «критических точек» Ту/ (/) для дообслуживания КВР по каждому из этих алгоритмов (здесь / — номер алгоритма). Для рассматриваемого примера значения ТС'Г) (/) приведены в табл. 2, столбцы 5—7, — с учетом того, что при переходе от «штатного» к другому алгоритму управления процессами требуется дополнительное время ^оп на работу операционной системы; это время принято здесь случайным и распределенным по экспоненциальному закону с параметром цдоп = 0,033

(т. е. ^оп = 30т)

Итак, если при контрольном событии 2* оказалось,

что ' > Т'СГ, то по таблице прогнозов определяются «критические точки», значения которых удовлетворяют неравенству ' < ТС(Л) (/), и выбирается один из соответ-' СГ

ствующих им алгоритмов управления дальнейшим выполнением КВР (приоритеты назначает пользователь). Если же значение '* оказалось больше любого из значений ТС(/) (/), то выдается сообщение о том, что КВР не будет выполнен за директивное время Ттах с требуемой вероятностью Б ни при одном из предусмотренных пользователем алгоритмов управления, но может быть выполнен с вероятностью Б' < Б.

Пусть в нашем примере оказалось, что t *5 = 1910т,

т. е. t*5 > Т91 СГ. По табл. 2 определяем, что требуемому неравенству соответствует единственное значение

ТС(Г15) (2) = 1927т, и поэтому для дальнейшего управления выполнением КВР выбирается алгоритм (2) — реализация упрощенных версий работ.

Пусть в другом случае оказалось, что ^5 = 2000т. Тогда для «штатного» завершения КВР остается временной интервал А = Ттах — t *5 = 2300т — 2000т = 300т, вместо требуемого Т^ = 650т (см. рис. 4). По функции

распределения ^9815) (0 (кривая 2) находим, что за оставшееся время АКВР может быть завершен лишь с вероятностью Б' = 0,22.

Последний пример соответствует, в частности, резкому случайному возрастанию объемов данных, обрабатываемых в некоторых программных модулях (например, из-за внезапного радикального изменения числа и значений параметров объекта управления и окружающей среды). Для математической модели это соответствовало бы случайному уменьшению интенсивностей ^ обслуживания всех или части работ по сравнению с предполагавшимися значениями параметров А это может иметь место, в частности, при упоминавшемся выше гиперэкспоненциальном распределении случайных величин tj (с коэффициентом вариации с > 1).

5. ДИНАМИЧЕСКОЕ УТОЧНЕНИЕ СТАТИЧЕСКИХ ПРОГНОЗОВ

Как уже указывалось, при экспоненциальном законе распределения случайных величин t. определяются верхние, наиболее «пессимистические» оценки времени выполнения КВР и его фрагментов, а также моментов наступления контрольных событий. Эти оценки-прогнозы выражаются функциями распределения -(() и

—( ' (О (кривые 1 и 2 для нашего примера, см. рис. 4) и

«критическими точками» Т'СГ. (Кстати, точная нижняя

оценка времени выполнения КВР — наиболее «оптимистическая» — устанавливается при детерминированных значениях времен ^ йе; если эти времена имеют значения, указанные в столбце 4 табл. 1, то КВР в нашем примере будет выполняться за время Тйе( = 1110т, см. рис. 4.) Если же реальные значения tj подчиняются иным законам распределения (с коэффициентами вариации с < 1), то при выполнении КВР в ВС контрольные события 2' могут наступать существенно раньше,

чем в рассчитанные в статике моменты Т'СГ. Это может иметь место и в случае резкого уменьшении времени ^ выполнения некоторых работ, например, из-за уменьшения объемов данных, обрабатываемых по программам некоторых модулей. Уже поэтому представляется целесообразным уточнение статических прогнозов в процессе реального выполнения КВР в параллельной ВС.

Пусть для КВР (см. рис. 1 и табл. 1) задано директивное время Тг*ах = 2000т (а не прежнее Ттах = 2300т), см. рис. 4, при той же заданной пользователем вероятности завершения КВР Б = 0,96, а в динамике выполнения КВР оказалось, что контрольное событие 215 (завершение контрольной работы а15) наступило в момент ^5 = 1300т, причем процесс переходит в упоминавшееся

опорное состояние x985). Это означает, что для надежного выполнения КВР (т. е. для завершения его в пределах Тг*ах) остается временной интервал 8 = — t*5 =

= 2000т - 1300т = 700т.

Функция распределения —эд5 (0 времени дообслу-

живания КВР из состояния X9(8'5) остается, разумеется,

той же, однако изменяется ее «точка отсчета». В графической интерпретации это означает, что кривая 2,

соответствующая функции —эд5 (0, смещается из точки

Т98СГ = 1650т в точку ^5 = 1300т (кривая 3). По значениям этой функции (содержащимся в таблице прогнозов) устанавливается, что вероятность завершения КВР за время 8 = 700т равна Б* = 0,97, т. е. обеспечивается надежное выполнение КВР в целом даже с большей вероятностью, чем заданная Б = 0,96, и потому не требуется заменять «штатный» алгоритм управления процессами на какой-либо другой алгоритм.

Динамическое уточнение статических прогнозов может быть использовано с существенным эффектом даже тогда, когда расчеты базовой математической модели показывают, что требуемая пользователем вероятность Б выполнения заданного КВР за время Ттах не достигается. Так, если для нашего примера КВР задано упоминавшееся директивное время Тг*ах = 2000т, то по функции распределения Б(^ (кривая 1 на рис. 4) определяем в статике, что вероятность завершения КВР за время

Тг*ах равна лишь Б'' = 0,91, т. е. меньше требуемой Б. Однако это не обязательно означает, что «штатный» алгоритм управления выполнением КВР должен быть заменен с самого начала (что, например, на выполнение должны назначаться только «критические процессы» заданного КВР). Система может выполнять КВР в «штатном» режиме до наступления контрольного события Zj, а при наступлении этого события система должна оценить временные параметры процессов по правилам, изложенным в § 4, и лишь после этого принять решение

о последующем алгоритме управления процессами.

В целом динамическое уточнение статических прогнозов сводится к следующим процедурам: расчет значений 8 по значениям заданного времени Ттах и реальных моментов ' наступления контрольных событий; определение вероятности Б* завершения КВР за заданное время Ттах по полученным в динамике значениям 8

и по рассчитанным в статике значениям функций —(' (0.

ОБОБЩЕНИЕ И ЗАКЛЮЧЕНИЕ

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

Почему это названо новой компьютерной технологией? Потому что:

• это есть комплекс новых принципов, математических моделей, алгоритмических методов и программных средств для априорного — в статике — расчета прогнозов времени выполнения задач со случайными временами их реализации, для оперативного отслеживания выполнения сложных наборов задач в динамике, динамического уточнения статических прогнозов, а в конечном счете — для выбора алгоритмов управления процессами в параллельных вычислительных системах;

• изложенная совокупность этапов и процедур обеспечения надежного выполнения КВР и их последовательность остаются неизменными для самых разно-

образных КВР, задаваемых пользователем, и различных классов параллельных вычислительных систем;

• технология обеспечивает анализ, оценку и выбор различных методов планирования (диспетчеризации) работ для каждого конкретного КВР; здесь уместно упомянуть, что для одного и того же КВР могут оказаться рациональными различные дисциплины диспетчеризации — в зависимости от конкретных временных параметров работ КВР.

Разумеется, разработка предъявленной технологии далека от завершения. В настоящее время исследуются следующие аспекты ее развития:

— интеллектуальное динамическое управление надежным выполнением сложных наборов и взаимосвязанных, и периодических, и независимых задач в режиме реального времени — на основе анализа и постоянного уточнения статических прогнозов, с учетом реальных временных параметров вычислительных процессов и поведения вычислительных систем, в частности, в условиях сбоев и отказов вычислительных ресурсов;

— априорная оценка «пригодности» параллельной вычислительной системы для выполнения конкретного набора задач и функций, задаваемого пользователем, за заданное время с требуемой вероятностью, даже на ранних этапах проектирования программно-аппаратурных комплексов;

— выбор такой конфигурации вычислительных ресурсов параллельной вычислительной системы, которая достаточна для надежного выполнения требуемого набора задач управления;

— адаптивное — перенастраиваемое в динамике по реальным событиям в системе — резервирование вычислительных структур и процессов.

ЛИТЕРАТУРА

1. Ignatushchenko V. V. A principle of dynamic control of parallel computing processes on the basis of static forecasting // Proc. of the 10-th Int. Conf. on Parallel and Distributed Computing Systems (PDCS — 97). New Orleans, USA. - 1997. -P. 593—597.

2. Елисеев В. В., Ларгин В. А., Пивоваров Г. Ю. Программно-технические комплексы АСУ ТП. — Киев: Киевский университет, 2003. — 429 с.

3. Игнатущенко В.В., Клушин Ю.С. Прогнозирование выполнения сложных программных комплексов на параллельных

компьютерах: прямое стохастическое моделирование // Автоматика и телемеханика. — 1994. — № 11. — С. 142—157.

4. Игнатущенко В. В, Подшивалова И. Ю. Динамическое управление параллельными вычислительными процессами на основе статического прогнозирования их выполнения // Там же. - 1997. - № 5. - С. 160-173.

5. Игнатущенко В. В., Подшивалова И. Ю. Динамическое управление надежным выполнением параллельных вычислительных процессов для систем реального времени // Там же. - 1999. - № 6. - С.142—157.

6. Елисеев В. В, Барбан А. П., Подшивалова И. Ю. Об эффективности методов диспетчеризации сложных наборов задач в неоднородных многопроцессорных вычислительных системах // Тр. II междунар. конф. «Параллельные вычисления и задачи управления» РАСО’2004 / Ин-т пробл. упр. — М., 2004. - С. З95-412.

7. Balsamo S., et al. Model-Based Performance Prediction in Software Development: A Survey // IEEE Trans. on Software Eng. - 2004. - Vol. З0. - N 5. - P. 295-З10.

8. Arjan J. C. Symbolic Performance Modeling of Parallel Systems // IEEE Trans. Parallel Distrib. Syst. - 200З. - N 14 (2). - P. 154-165.

9. Gelenbe E. A QMIPS Significant Example: Multiprocessor Performance with Task-Graph Models // Centre de Recherche de l’EHEI, UFR de Mathematiques et d’Informatique, Univer-site de Paris V, 2001. <http://www-sop.inria.fr/mistral/infos/ QMIPS/Deliverables>.

10. Методы математического прогнозирования времени выполнения сложных наборов задач в параллельных вычислительных системах с распределенной структурой / А. М. Еналиев,

B. В. Игнатущенко, Е. В. Помазов, Е. А. Случанко // Автоматика и телемеханика. — 2002. — № 10. — С. 154—176.

11. Игнатущенко В. В. Организация структур управляющих многопроцессорных вычислительных систем. — М.: Энер-гоатомиздат, 1984. — 184 с.

12. Феррари Д. Оценка производительности вычислительных систем. — М.: Мир, 1981. — 576 с.

13. Михайлов А. Ю. Применение аппарата марковских процессов для прогнозирования времени выполнения сложных наборов задач в параллельных вычислительных системах // Тр. XXX Юбил. междунар. конф. «Информационные технологии в науке, образовании, телекоммуникации, бизнесе» (IT+SE’2003). — Украина, Ялта—Гурзуф, май 2003. —

C. 39-41.

14. Случанко Е. А. Анализ правил назначения контрольных событий для прогнозирования времени выполнения взаимосвязанных задач в параллельных вычислительных системах // Тр. XXIX междунар. конф. «Информационные технологии в науке, образовании, телекоммуникации, бизнесе» (IT+SE’2002). — Украина, Ялта—Гурзуф, сентябрь 2002. - С. 96-100.

в (495) 334-89-29;

e-mail: ignatu@ipu.ru □

вниманию ïûqïuc4uêû6!

В регионах страны на журнал "ПРОБЛЕМЫ УПРАВЛЕНИЯ" можно подписаться через филиалы альтернативного агентства ООО "Урал-Пресс".

В городах Екатеринбурге, Березовском, В. Пышме, Первоуральске — ЗАО "Урал-Пресс":

620095, Екатеринбург, ул. Малышева, 101-335 в (343) 375-80-71, 375-84-93, 375-84-39

1 (343) 375-62-74, 375-79-20 e-mail: info@ural-press.ru

В г. Нижнем Тагиле — ЗАО "Урал-Пресс", ул. Красноармейская, 55 в (3435) 41-14-48, 41-77-09 e-mail: ntagil@ural-press.ru

В г. Челябинске — ООО "Южно-уральская почта". 454091, Челябинск, ул. Воровского, 63 а в (351) 262-90-03, 262-90-05 e-mail: pochta@chel.surnet.ru

В г. Перми — ООО "Парма-пресс", ул. Уральская, 116

в (3422) 60-24-40, 60-22-95, 60-35-42 e-mail: parma-press@permonline.ru

1S

CONTROL SCIENCES № Б • 200Б

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