Исследование способов диспетчеризации работ для одного из вариантов многоверсионного резервирования взаимосвязанных программных модулей в управляющих параллельных вычислительных системах

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

Авторы считают, что в данной работе новым результатом является предложенный принцип построения распределенной отказоустойчивой системы хранения растровой графической информации. Дальнейшие исследования могут быть расширены на многопотоковое видеовещание, с выделением быстрых базовых аудио- и видеопотоков, обеспечивающих передачу видео в низком качестве, и более медленных потоков верхнего уровня, которые, в совокупности с базовыми, обеспечат передачу высококачественного видеоматериала. К моменту публикации доклада авторы планируют создать действующий прототип системы хранения изображений с открытым доступом, состоящей из web-сервера, обеспечивающего возможность поблочного хранения изображений в распределенных хранилищах, и клиентской части в виде браузера (Mozilla Firefox), оснащенного возможностью просмотра изображений в виде надстройки (plug-in, addon).

Литература

1..Петров В. А. Моделирование переноса и поиска данных в децентрализованной распределенной системе, использующей N-k-схему хранения информации: диссертация кандидата физико-математических наук: 05.13.18 / Петров Виктор Анатольевич; [Место защиты: Моск. физ.-техн. ин-т (гос. ун-т)].- Москва, 2008.- 112 с.: ил. РГБ ОД, 61 08-1/598

2. Witold Litwin, Rim Moussa, Thomas J. E. Schwarz. LH*RS: a highly available distributed data storage — URL: http://portal.acm.org/citation.cfm?id=1316816

УДК 004.272.26

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

М. Л. Милков, аспирант, ст. математик Тел. (495) 334 9061, e-mail: nat_i@ipu.ru Институт проблем управления им. В. А. Трапезникова РАН

www.ipu.rssi.ru

Various methods of comparison tasks dispatching for a new variant of multiversion redundancy of the interdependent program modules on the basis of mathematical (static) forecasting

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

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

Keywords: parallel control computing systems, multiversion redundantization, fault tolerance

Работа частично поддержана грантом Российского фонда фундаментальных исследований

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

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

Наиболее распространенными вариантами многоверсионного резервирования (МР) комплекса взаимосвязанных программных модулей считаются следующие [6]:

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

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

3. принципиально другая структура КВР в целом, совершенно иная версия решения управленческой задачи

В настоящей работе впервые исследуется второй вариант МР. Данный вариант является более сложным с точки зрения организации вычислительного процесса - формирования и контроля выполнения базового и преобразованных КВР в терминах и понятиях [3].

На рис. 1 представлен базовый КВР, который формируется по аналогии с [3] на основе исходного КВР, т.е., путем дублирования всей структуры КВР с последующим сравнением работ каждой из версий КВР: каждой работе aj исходного КВР (назовем ее работой-оригиналом) соответствует работа-версия a/. Однако, в отличие от [3] в рассматриваемом здесь варианте МР -вычислительный алгоритм работы версии aj, может выполняться с большим или меньшим средним временем реализации относительно aj.. Сравнение результатов этих работ осуществляется с помощью дополнительного программного модуля - работы сравнения bj (одной из тройки aj , aj, bj контрольных работ, включая работу сравнения bj) [1,2] . При этом в решающем алгоритме работы bj учитывается допустимый разброс численных результатов работ aj и aj, при котором эти результаты полагаются все еще одинаковыми (т.е. совпадающими). Базовый КВР соответствует нормальному, штатному (т.е. в отсутствие ошибок) выполнению исходного КВР с резервированием его программных модулей.

В первом варианте МР [4] работа сравнения bj немедленно назначается на процессор Пг, на котором выполнялась работа-оригинал aj, сразу после ее завершения (т.е. с абсолютным приоритетом). Такой подход может привести к длительному простою процессора Пг. Данный нежелательный эффект объясняется тем, что к моменту выполнения работы-оригинала aj соответствующая ей работа-версия aj может быть не готова к запуску из-за существенно различных времен их выполнения, а также их предшественников.

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

Рассматриваются следующие варианты решения поставленной задачи.

1. Работы сравнения bj назначаются по завершении либо только работ-оригиналов aj, либо только работ-версий aj. Данный вариант отличается вычислительной простотой: по одному из критериев единожды определятся «основной» КВР, после выполнения работ которого и назначаются работы сравнения bj.

Под «основным» КВР в данной работе понимается один из 2-х КВР: исходный или версия (рис. 1), выполнение которого требует большего количества вычислительных ресурсов

(процессоров).

Предлагаются следующие критерии определения «основного» КВР:

1) по (заданным пользователем) средним значениям времен М[1/] выполнения работ КВР. «Основным» принимается тот КВР, для которого значение выражения ^М[^] больше.

і

2) по «критическому пути» [1]. Для обоих КВР по известной таблице связности вершин (работ) КВР [1] определяется «критический путь». «Основным» принимается тот КВР, для которого численное значение выражения ^М[1^] * I(і є критический путь), где под і подразумевает-

і

ся работа а, или а/ - больше.

3) по функции распределения Р(ґ) [1]. Для каждого КВР восстанавливается функция распределения Р(ї), по которой определяется вероятность Р завершения КВР за время, не превышающее заданное пользователем Ттах. «Основным» принимается тот КВР, значение вероятности Р для которого - меньше. Отметим, что в данном подходе результат выбора «основного» КВР (в общем случае) будет зависеть от заданного пользователем значения времени Ттах.

Например возьмем исходный КВР аналогичный рассматриваемому в [4], а версию КВР с работами имеющими одинаковые средние времена выполнения равными 90т (условных тактов). Сумма времен выполнения всех работ одинакова для обоих КВР и составляет 1080т. В данном случае критерий 1) не может выявить «основной» КВР.

Критический путь для исходного КВР (рис. 1) состоит из работ 1,2,3,5,6,9,11,12. Сумма средних времен выполнения этих работ равна 630т. Критический путь версии КВР состоит из этих же работ, сумма средних времен выполнения которых равна 720т, т.е. исходя из критерия 2) - версия КВР - является «основным».

На рис. 2 показаны функции распределения Р(ґ) для обоих КВР: 1 - исходный, 2 - версия. При заданном Ттах = 1600 «основным» является исходный КВР с вероятностью Рисх= 0,99459; при этом вероятность завершения за Ттах для версии КВР составляет Рверс= 0,99587. При заданном Ттах = 1100т «основным» является версия КВР с вероятностью Рверс= 0,90116; при этом вероятность завершения для исходного КВР составляет Рисх= 0,92016.

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

Предлагаются следующие критерии по назначению работ сравнения:

1) Работа сравнения Ь, незамедлительно назначается после выполнения одной из работ а, или а/, среднее время выполнения которой М[1^] больше;

2) Критерии 1), 2), 3) - аналогичные Варианту 1., но применяемые для «подграфов» КВР.

Под подграфом КВР для /-ой работы понимается часть графа исходного КВР и версии КВР,

которая состоит из /-ой работы и всех её предшественников, как непосредственных, так и транзитивных. На рис. 3 представлены примеры подграфов КВР для 5-ой и 10-ой работ.

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

Например для работ а5 и а5' (рис. 3) по критерию 1) работа сравнения Ь5 будет запускаться после более длительной работы-версии а5' со средним временем выполнения равным 90т.

Сумма средних времен выполнения работ подграфа КВР для 5-й работы (программного модуля) исходного КВР составляет 350т, а для версии КВР - 450т. Следовательно «основным» подграфом будет считаться подграф для работы-версии а5', по завершении которой будет запускаться работа сравнения Ь5.

«Критическим путем» для подграфа исходного КВР для работы а5 являются работы 1,2,3,5 -сумма средних времен выполнения которых равна 270т. «Критический путь» для аналогичной работы-версии а5' является 1,2,3,5 - сумма средних времен выполнения которых равна 360т. Данный критерий дает результат аналогичный предыдущему.

Рис. 3 Рис. 4

На рис. 4 изображены функции распределения Е(ґ) обоих подграфов КВР для 5-ой работы: 1 - исходный, 2 - версия. Аналогично функциям распределения Е(ґ) для полных графов КВР (Рис. 2) для заданных пользователем времен Ттах < 800 «основным» будет считаться подграф КВР для работы-версии а5'.

Таким образом, все рассматриваемые критерии показывают, что работа сравнения Ь5 должна запускаться после завершения работы-версии а5'.

3. Работы сравнения Ь, назначаются динамически во время выполнения базового КВР после одной из работ а, или а/, которая завершилась последней.

Достоинством данного варианта является - практически полное отсутствие простоев процессоров ВС при реализации ими работ сравнения Ь/.

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

Литература

1. Елисеев В. В., Игнатущенко В. В. О проблеме надежного выполнения сложных наборов задач в управляющих параллельных вычислительных системах // Проблемы управления. 2006. № 6. С. 6-18.

2. Игнатущенко В. В. Организация надежного выполнения комплексов резервированных программных модулей в параллельных вычислительных системах // Труды XXXV Междунар. Конф. «Информационные технологии в науке, образовании, телекоммуникации, бизнесе» (IT+SE’2008). -Украина. Ялта-Гурзуф, Май. 2008. С. 61-63.

3. Игнатущенко В. В., Исаева Н. А. Резервирование взаимосвязанных программных модулей для

управляющих параллельных вычислительных систем: организация, оценка отказоустойчивости,

формализованное описание // Автоматика и телемеханика, 2008. №10. С. 142-161.

4. Милков М. Л., Сидоров А. В. Математические модели многоверсионного резервирования комплексов взаимосвязанных программных модулей // Труды XXXV Междунар. конф. «Информационные технологии в науке, социологии, экономике и бизнесе» (IT+SE’08). - Украина. Ялта-Гурзуф, 2008. С. 80-83

5. Головкин Б. А. Параллельные вычислительные системы. - М.: Наука, 1980. - 519 с.

6. Игнатущенко В. В., Милков М. Л., Сидоров А. В. Многоверсионное резервирование взаимозависимых параллельных задач для управляющих параллельных вычислительных систем: формализованное описание, оценка отказоустойчивости // Надежность. 2009. №4. С. 44-61.

УДК 004.272.26

МАТЕМАТИЧЕСКОЕ ПРОГНОЗИРОВАНИЕ НАДЕЖНОГО ВЫПОЛНЕНИЯ НАБОРОВ ЗАДАЧ С СИММЕТРИЧНЫМИ РАСПРЕДЕЛЕНИЯМИ ВРЕМЕНИ ВЫПОЛНЕНИЯ1

Н. Н. Иванов, д. т. н., главный научный сотрудник Тел: (495) 334 7639, e-mail: niknivan@ipu.ru Институт проблем управления им. В.А. Трапезникова РАН,

http://www.ipu.ru

The technique of calculating the distribution functions of the runtime systems of interrelated jobs in multiprocessor systems with arbitrary symmetrical distributions of time solving individual problems is considered.

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

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

Keywords: the distribution functions of the runtime systems of interrelated works, the multiprocessor systems, the arbitrary symmetrical distributions of the solution time

Надежное выполнение наборов задач в вычислительных системах (ВС), решающих задачи управления в режиме реального времени, связано со способностью решить заданный набор задач за определенное пользователем время. Это понятие возникло в связи с тем, что отдельные задачи, входящие в набор, могут выполняться за случайное время. В [1] для ВС было введено понятие надежного выполнения с требуемой вероятностью p заданного набора задач за время Т, не превышающее директивное время Tmax. Исследование возможностей успешного завершения заданного набора задач на ВС за предписанное директивное время Tmax получило название математического прогнозирования времени выполнения задач.

Стремление повысить точность прогнозирования привело к идее анализа на основе представления случайного процесса выполнения КВР в ВС, содержащей k процессоров, в виде конечного числа совокупностей k взаимосвязанных полумарковских процессов (ПМП). Случай k = 2 рассмотрен в [2-4]. При этом возникла возможность рассматривать произвольные законы распределения случайного времени выполнения отдельных работ КВР, что особенно важно при