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

Анализ критических точек отказоустойчивости вычислительной среды планетарного типа Текст научной статьи по специальности «Математика»

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

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

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

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

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

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

- общее время простоя процессора;

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

- максимальное время простоя процессора;

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

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

Использование гистограмм, построенных для состояний, соответствующих выполнению наиболее критичных потоков управления и обработчиков прерывания, позволяет выявить наличие узких мест реализации, а использование фильтров, задаваемых с помощью гистограмм, - уточнить, в какие моменты времени отмечены отклонения временных характеристик системы от проектных значений. Анализ событий (записей основной трассы) в окрестностях этих моментов и состояния объектов ОС позволяют установить причины такого поведения системы.

Временные характеристики средств протоколирования oc2000

Как показывают результаты измерений, выполненных на целевой ЭВМ с микропроцессором RM7000 с тактовой частотой 400 МГц, затраты времени на протоколирование события прикладной программы не превышают 1.5 мкс. Затраты, связанные с протоколированием системных событий, зависят от их типа. Например, затраты на протоколирование захвата или освобождения семафора (без переключения контекста) составляют около 1 мкс.

Время, необходимое для построения индекса и формирования дерева статистики событий, для протокола объемом 1128 Мб не превышает 1 минуты (приводятся временные характеристики Трассировщика при его работе с протоколом событий на ЭВМ Intel Pentium 4 HT 3.00GHz RAM DDR 1 GB в среде ОС Linux Fedora Core3, ядро 2.6.9-1.667smp.).

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

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

АНАЛИЗ КРИТИЧЕСКИХ ТОЧЕК ОТКАЗОУСТОЙЧИВОСТИ ВЫЧИСЛИТЕЛЬНОЙ СРЕДЫ ПЛАНЕТАРНОГО ТИПА

(Работа выполнена при поддержке РФФИ, проект № 04-01-00363) А.В. Коганов, к.ф.-м.н., А.Н. Сазонов (Москва)

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

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

комплекса и расчету некоторых модельных ситуаций посвящена данная работа. Разработанные программы позволяют исследовать любую систему распределенной обработки информации, если она может быть описана графом связи функциональных элементов разных типов и вероятностями их отказов и восстановления за один цикл работы системы. Но модельные расчеты проводились на схеме с характерной для вычислительных систем структурой: связанные между собой центральные вычислительные машины, каждая из которых управляет своим набором периферийных устройств (датчиков, эффекторов или вспомогательных вычислителей). Подобные системы по очевидной аналогии названы планетарными. Задача может быть решена на такой системе, если имеется набор центральных машин («звезд»), имеющих в совокупности нужный набор периферийных устройств («планет»). Решение задачи для произвольно -го графа требует значительно больших вычислительных ресурсов и времени счета. Полученные результаты позволили выявить зависимость показателей объема системы и ее надежности в форме непараметрических кривых и в виде регрессионных моделей. Особый интерес представляют результаты об эффективности быстрого ремонта, когда часть элементов удается восстановить еще до начала очередного цикла решения задачи. Без изменения вероятности успешного восстановления эффективность дублирования возрастает более чем в два раза (по критерию значения критической вероятности отказа).

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

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

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

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

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

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

Общий алгоритм моделирования работы ВС. Алгоритм 1: для направленного раскрашенного графа ВС произвольного вида моделирование разрушения и восстановления производится следующим образом.

1. Задается начальный граф ВС.

2. Задается вероятность разрушения одного узла

Pd.

3. Задается вероятность починки одного узла Pf (в общем случае Pf и Pd могут быть разными для разных узлов или разных типов узлов).

4. Задается количество итераций разрушения Ni.

5. Начальный граф РВС полагается равным графу ВС.

6. Для каждого i=1...Ni производятся следующие действия:

a) разрушение (для каждого узла РВС производится испытание Бернулли с вероятностью успеха Pd; в случае успеха узел и все инцидентные ему дуги исключаются из графа РВС);

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

c) производится поиск разложения ПМЗ на РВС: если разложение не найдено, эксперимент оканчивается неудачей, и номер текущей итерации i называется временем отказа.

Примечание: Шаги 6a и 6b могут производиться в обратной последовательности.

7. Если все итерации не окончились неудачей, эксперимент считается удачным, время отказа полагается равным количеству итераций.

Задача поиска подграфа, изоморфного данному, для нераскрашенных графов является NP-полной (см.: Cook S.A. The complexity of theorem-proving procedures // Annual ACM Symposium on Theory of Computing. 1971). Нераскрашенный граф является частным случаем раскрашенного (одноцветного), и, таким образом, задача для раскрашенных графов также является NP-полной. Поиск разложения МЗ на РВС может быть полиномиально сведен к задаче поиска подграфа, изоморфного данному, при помощи добавления специальных вершин к графам МЗ и РВС (см.: А.В. Коганов, А.Н. Сазонов. Анализ отказоустойчивости вычислительной среды планетарного типа. // Сб. науч. тр. М.-Ижевск. 2006). Таким образом, общий алгоритм моделирования достаточно ресурсоемок. Кроме того, для графов ВС произвольного вида неоднозначна оценка их сложности.

Данный эксперимент при Р1<1 и Р^0 не может закончиться успехом при бесконечном числе итераций, так как путем восстановления не может быть получено больше вершин, чем существовало в графе исходной ВС, а в силу вероятностного характера процесса разрушения на бесконечности будет существовать итерация, в которой граф РВС будет вырожденным.

Моделирование планетарной ВС с разрушением и восстановлением

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

Для ПВС был задан процесс генерации вероятностного типа с тремя основными характеристиками: 8 - количество звезд; С - количество цветов; К -среднее количество планет каждого цвета у каждой звезды.

Число планет у звезды равно КС. При генерации ПВС каждая планета получает цвет как реализацию равновероятного испытания Бернулли на множестве цветов 1,...,С.

Модификация алгоритма 1 для моделирования ПВС. Алгоритм 2. В силу свойств графа ПВС процесс поиска разложения полной модели планетарной задачи (ПМПЗ) на разрушенную ПВС (РПВС) сводится к поиску для каждой звезды из МЗ звезды-образа в РПВС, такой что множество цветов планет исходной звезды не менее аналогичного множества для ее образа. При этом количество планет одинакового цвета у звезды в РПВС несущественно. Если для всех звезд ПМПЗ соответствующая звезда в графе РПВС найдена, то задача может быть выполнена на РПВС. Эта задача значительно проще, чем решение общей задачи поиска разложения произвольного графа МЗ на граф РВС. В остальном моделирование работы для ПВС аналогично моделированию для произвольной ВС с использованием алгоритма 1. Определение ПВС позволяет произвести несколько оптимизаций расчетов:

• в случае ПВС не требуется учета соответствия дуг в графе задачи и подграфе ПВС, достаточно лишь наличие планет нужных цветов;

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

Модифицированный алгоритм 1 для случая ПВС назовем алгоритмом 2.

Алгоритм поиска критической вероятности разрушения

Вычисление среднего времени отказа ПВС. Алгоритм 3. Для проведения статистического экс-

перимента вычисления среднего времени отказа дополнительно задается параметр Ne - количество экспериментов для одного набора параметров S, C, K, Pd, Pf, Ni. Здесь S, C, K - параметры генерации графа в каждом эксперименте; Pd, Pf, Ni - параметры эксперимента. Далее с применением алгоритма 2 Ne раз может быть вычислено среднее время отказа системы Md, а также количество удачных экспериментов F.

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

Критической вероятностью разрушения для

заданных параметров S, C, K, Pf, Ni, Ne и некоторого ее (0,1) называется эмпирическое значение Pc, такое что при меньших либо равных значениях Pd выполняется F/Ne>(1-e): Pc=max{PIPd<P=>F/Ne>(1-e)}. В этом случае при Pd<Pc вероятность неуспеха ниже е.

Статистический поиск критической вероятности разрушения ПВС. Алгоритм 4.

1) Задаются параметры S, C, K, Pf, Ni, Ne, е, Pd-min, Pdmax, APd, где Pdmin - минимальная вероятность разрушения для поиска, Pdmax - максимальная вероятность, AP - шаг изменения вероятности.

2) Для каждой вероятности Pdi=Pdmax,Pdmax--APd, Pdmax-2APd, ... Pdmax-nAPd, где n такое, что Pdmax-Pdmin-APd<nAPd<Pdmax-Pdmin проводится эксперимент с использованием алгоритма 3.

3) Если, начиная с некоторого эксперимента k, получаемые количества успехов в экспериментах Fi (при вероятности разрушения Pdi=Pdmax-iAPd) таковы, что Fi/Ne>(1-e) для всех ie [k, n], критическая вероятность разрушения Pc полагается равной Pd=Pdmax-kAPd. Если такого k не найдено, Pc полагается равным нулю.

Алгоритм 5. Для исследования зависимости Pc от S и Pf применяется варьирование параметров алгоритма 4.

1) S последовательно полагается равным Smin, Smin+1, ..., Smax.

2) При заданном S Pf последовательно полагается равным Pfmax, Pfmax-APf, Pfmax-2APf, ..., Pfmin.

3) При полученных S и Pf производится статистический поиск критической вероятности разрушения с использованием алгоритма 4.

Также могут проводиться эксперименты с измененным порядком следования этапов разрушения и восстановления вершин графа РПВС.

Так как каждый из алгоритмов 2-5 решает часть задачи следующего и характер всех этих алгоритмов переборный, вычислительная сложность задачи поиска критической вероятности даже для ПВС достаточно высока. В случае произвольной ВС для разложения МЗ приходилось бы использовать также сложный алгоритм из класса NP, что еще более усложняло бы сбор статистики при разных параметрах экспериментов.

Эксперименты с восстановлением после разрушения. Эксперимент 1 (рис. 1).

8=1,...,20; С=20; К=20; N1=500; N6=200; е=0,01; Рагаах=0,95; Рагат=0,05; АРа=0,05 РГтах=0,5; РГга1п=0,2; АРГ=0,05

Уравнение линейной регрессии: Рс=0,0398+ +1,198РГ-0,536

Таблица 1

Доверительные интервалы по уровню 5% для эксперимента с восстановлением после разрушения

Эксперимент 2 (детализированный) (рис. 2). Параметры эксперимента: 8=1,...,20; С=20; К=20; N1=500; N6=200; е=0,01; Ратах=0,98; Ратт=0,04; АРа=0,02 РГтах=0,6; РГт1п=0,2; АРГ=0,05

Уравнение линейной регрессии: Рс=0,0458+ +1,186РГ-0,59

Таблица 2

Доверительные интервалы по уровню 5% для детализированного эксперимента с восстановлением после разрушения

Эксперимент с разрушением после восстановления. Эксперимент 3 (рис. 3). 8=1,...,20; С=20; К=20; N1=500; N6=200; е=0,01; Ратах=0,95; Рат1п=0,05; АРа=0,05 РГтах=0,5; РГт1п=0,2; АРГ=0,05

Уравнение линейной регрессии: Рс=0,0178+ +0,355РГ-0,175

Таблица 3

Доверительные интервалы по уровню 5% при разрушении после восстановления

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

эксперимент 1: Рс=0,048+1,2РГ-0,54; эксперимент 2: Рс=0,058+1,19РГ-0,59; эксперимент 3: Рс=0,028+0,36РГ-0,17. Коэффициенты первых двух уравнений практически идентичны. Разница коэффициентов может объясняться как конечностью эксперимента, так и различной точностью экспериментов (разными АР^ Pdmiп, Pdmax, Р1тах).

Параметры эксперимента 3 совпадают с параметрами эксперимента 1, за исключением порядка следования этапов разрушения и восстановления. Однако коэффициенты регрессионных уравнений для экспериментов 1 и 3 отличаются гораздо сильнее, чем для экспериментов 1 и 2:

эксперимент 1: Рс=0,039 8+1,198 РГ - 0,536; эксперимент 3: Рс=0,017 8+0,355 РГ - 0,175.

Напомним, что в эксперименте 1 на каждой итерации сначала проводилось разрушение, затем восстановление РВС, после чего предпринималась попытка нахождения разложения ПМПЗ на РВС. В эксперименте 3 порядок был иным: восстановление РВС, разрушение, разложение ПМПЗ на РВС.

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

Рис. 1. Зависимость Рс от S и Р/при восстановлении после разрушения

Рис. 2. Зависимость Рс от S и Р/при восстановлении после разрушения (детализированная)

0,4-1

0,35-

0,3-

0,25-

0,2-

0,15

0,05

□ 0,35-0,4

■ 0,3-0,35 0

□ 0,25-0,3

■ 0,2-0,25

□ 0,15-0,2

□ 0,1-0,15 5 °

■ 0,05-0,1

□ 0-0,05

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

Рис. 3. Зависимость Рс от S и Р/при разрушении после восстановления

Нижние 95% Верхние 95%

Свободный член -0,60252 -0,46917

S 0,035768 0,04145

Pf 1,034397 1,362031

Нижние 95% Верхние 95%

Свободный член -0,653 -0,527

S 0,042 0,0483

Pf 1,056 1,317

Нижние 95% Верхние 95%

Свободный член -0,197 -0,152

S 0,016 0,018

Pf 0,3 0,411

Следует отметить также, что в эксперименте 3 тах(Рс)=0,4, а в эксперименте 1 тах(Рс)=0,95, что равно Pdmax, то есть это максимально возможное значение при заданных параметрах эксперимента. Аналогично и в эксперименте 2 тах(рс)=0,98= =Pdmax. Таким образом, в экспериментах 1 и 2 тах(Рс) достигло максимума, в то время как в эксперименте 2 Рс не достигло и его половины. Это еще

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

При положительной вероятности разрушения и вероятности починки менее 1 с увеличением количества итераций N1 значение Рс стремятся к нулю при любых значениях РГ и 8.

МОДЕЛИРОВАНИЕ ОТРАЖЕНИЙ ОКРУЖАЮЩЕЙ СРЕДЫ ДЛЯ ВИРТУАЛЬНЫХ ОБЪЕКТОВ В РЕАЛЬНОМ РЕЖИМЕ ВРЕМЕНИ

(Работа выполняется при поддержке РФФИ, грант № 07-07-90001-Вьет_а) А.В. Мальцев, М.В. Михайлюк, д.ф.-м.н., (Москва)

Одним из способов повышения реалистичности виртуальных объектов является моделирование и реализация отражений от их поверхностей окружающей обстановки. Существуют несколько методов имитации таких отражений, среди которых большой популярностью пользуются сферические и кубические карты (текстуры) отражения окружающей среды, входящие в группу карт отражений (reflection maps). Реалистичность отражений, полученных с помощью таких карт, достигается особенным, отличным от обычного процессом наложения карты среды на поверхность объекта. Так, при перемещении в сцене объекта, использующего карту отражения, на его поверхности наблюдается изменение рисунка, в отличие от случая с обычной текстурой, которая остается жестко связанной с объектом при его движении. Сферические и кубические карты окружающей среды поддерживаются во многих системах трехмерного моделирования, в том числе в 3D-Studio Max. Так как сферические карты среды из-за своей зависимости от положения наблюдателя применимы в основном только для статичных виртуальных сцен, то в данной работе рассматривается реализация в реальном режиме времени кубических карт окружающей среды (cube environment mapping), дающих хороший результат как в статичных, так и в динамичных сценах.

Кубические карты окружающей среды

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

самой окружающей среды.

В системе 3D-Studio Max отражение окружающей среды с помощью кубической карты можно реализовать тремя способами:

1) используя заранее подготовленную кубическую карту;

2) генерируя для каждого отражающего объекта кубическую карту отражения окружающей среды только в первом кадре;

3) генерируя для каждого отражающего объекта кубическую карту отражения окружающей среды в каждом N-м кадре.

Первый способ предполагает наличие шести заранее подготовленных двухмерных текстур, образующих кубическую карту среды. Для каждой видимой точки А на поверхности объекта в видовой системе координат (VCS) вычисляется вектор отражения R=RVCS на основе единичного вектора U, направленного из начала видовой системы в точку А и единичной нормали N в точке А. По закону отражения, можно написать следующее равенство:

Подставляя в него значения Cosa=(N,-U)=-(N,U) и IIUII=1, получаем отраженный вектор

RVCS = R = U - 2(N, U)N. (1)

Рассмотрим, как по вектору RVCS вычислить текстурные координаты в кубической карте. В системе 3D-Studio Max кубическая карта среды задается в системе координат OWCS, центр которой совпадает с центром объекта, а оси направлены так же, как в мировой системе (WCS). Так как видовая матрица MV текущей виртуальной камеры осуществляет преобразование из видовой в мировую систему, то вектор RVCS в системе OWCS будет иметь координаты

ROWCS = (MV) ■ RVCS. (2)

Так как векторы в 3D-аффинном пространстве

1 \U ^ N ^ч

U /r a /

А Рис. 1

2 IIUII Cosa ■ N=R-U (рис. 1).

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