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

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

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

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Рожков К. Н.

Одним из перспективных направлений развития информационных технологий становится метакомпьютинг. Использование компьютерных сетей различного масштаба для создания единой вычислительной инфраструктуры требует особого внимания к обеспечению целостности данных в таких системах. В работах [5, 6, 7, 8] проведен подробный анализ вопросов обеспечения целостности данных в распределенных вычислительных системах, разработаны и исследованы методы резервирования, тиражирования и восстановления данных. Однако, для обеспечения нормального процесса функционирования метакомпьютера необходимо наличие возможности динамического изменения его конфигурации в зависимости от некоторых внешних факторов. К таким факторам можно отнести, прежде всего, выход из строя одного или нескольких узлов сети или необходимость динамического подключения к метакомпьютеру новых узлов с целью увеличения его производительности. В статье представлены результаты исследования методов резервирования, тиражирования и восстановления данных в метакомпьютерах (параллельных интероперабельных системах) с динамически изменяемой конфигурацией.

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Рожков К. Н.

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

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

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

Рожков К.Н. frozhkov@mail.primorye.ru)

Институт математики и компьютерных наук ДВГУ, г. Владивосток

Введение

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

В работах [5, 6, 7, 8] проведен подробный анализ вопросов обеспечения целостности данных в распределенных вычислительных системах, разработаны и исследованы методы резервирования, тиражирования и восстановления данных. Однако, для обеспечения нормального процесса функционирования метакомпьютера необходимо наличие возможности динамического изменения его конфигурации в зависимости от некоторых внешних факторов. К таким факторам можно отнести, прежде всего, выход из строя одного или нескольких узлов сети или необходимость динамического подключения к метакомпьютеру новых узлов с целью увеличения его производительности.

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

Аппаратная архитектура метакомпьютера и математическая модель

системы

Аппаратная архитектура метакомпьютера и математическая модель системы более подробно описаны в статье «Объектно-ориентированный анализ как средство моделирования параллельных интероперабельных систем с динамически изменяемой конфигурацией». Здесь же ограничимся кратким определением основных понятий.

Основные понятия и определения

Математическая модель системы построена методом объектно-ориентированного анализа и представлена в виде диаграмм «Сущность-Связь» [11] в нотации Шлеер-Меллора [10].

Введем основные определения.

Здесь под объектом будем понимать конкретный опознаваемый предмет, единицу или сущность (реальную или абстрактную), имеющую четко определенное функциональное назначение в данной предметной области. [11, 12]

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

Под атрибутом будем понимать абстракцию одной характеристики, которой обладают все абстрагированные как объект сущности. [10]

Под состоянием будем понимать положение объекта, в котором применяется определенный набор правил, линий поведения, предписаний и физических законов. [13]

Под жизненным циклом будем понимать регулярную составную часть динамического поведения абстракции, которая обеспечивает формализованное описания модели поведения. [12]

Под событием будем понимать абстракцию инцидента или сигнала в реальном мире, который сообщает о перемещении какой-либо абстракции в новое состояние. [12]

Под действием будем понимать деятельность или операцию, которая должна быть выполнена абстракцией, когда она достигает состояния. [15]

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

Основным понятием такой системы будет понятие Узла как совокупности необходимого программного обеспечения на компьютере, функционирующем в локальной вычислительной сети. На узле функционируют Процессы - реализующие алгоритмы, обеспечивающие обработку конкретной базы данных на Узле. Совокупность таких процессов обработки данных с целью получения требуемого результата и механизм управления ими будем называть Задачей. Задача носит прикладной характер. Кроме того, под Доменом будем понимать абстракцию динамически изменяющейся совокупности узлов, принимающих участие в решении данной задачи, и реализующую алгоритм управления ими.

Процесс функционирования системы вкратце может быть описан следующим образом:

1. Пользователь через интерфейс Блока управления Задачами осуществляет запуск Задачи.

2. Задача запрашивает у Системы Домен, получает его и инициализирует все Узлы Процессами.

3. Процессы начинают обработку своих Баз данных.

4. Задача осуществляет синхронизацию процессов.

5. В ходе работы Процесса на узле осуществляется резервирование соответствующих Базы данных и Данных узла а также тиражирование данных (при необходимости). В этом процессе принимают участие Таблицы и Механизмы тиражирования и резервирования а также соответствующие Мониторы.

6. В случае выхода из строя того или иного Узла или Базы данных ее восстановление осуществляется соответствующим Механизмом восстановления.

Возможная архитектура метакомпьютера представлена на рис. 1.

Сен ь ра5очих станций РВД 1 ОЧ^М

Рис.1 Архитектура метакомпьютера

Резервирование и тиражирование данных [6]

Особенности обновления и использования баз данных позволяют выделить следующие стратегии их резервирования:

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

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

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

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

Резервирование Базы данных

Общие положения

Рассмотрим функционирование Процесса на Узле с точки зрения резервирования.

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

Далее будет рассмотрен процесс функционирования стратегий и проведено сравнение эффективности стратегий по следующим критериям:

1. Критерий максимальной надежности.

2. Критерий максимального быстродействия.

3. Критерий минимизации величины потерь при сбое.

Исследование стратегий резервирования (дублирования)

Стратегия I. На рис. 2 представлено функционирование Процесса при использовании данной стратегии. База данных Foo дублируется копиями For, r = 1,k

Рис. 2. Функционирование Процесса при использовании Стратегии I

Вероятность того, что База данных не будет разрушена за единичный интервал времени при ее использовании, есть р. Вероятность разрушения Базы данных за единичный интервал времени ее использования я = 1 - р. Вероятность разрушения Базы данных за время ее хранения принимается равной нулю. Если копия Р0г(г = 0, к - 1) разрушается в заданный единичный интервал времени, следующая копия Рг+1 используется в следующий интервал для завершения обработки Прикладным процессом и т.д.

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

р + ря + ря2 + ... + ряк + як+1 = 1

и вероятность успешного решения задачи р = р к+1 при наличии к копий

Р1 = 1 - як+1,

где индекс I означает использование первой стратегии дублирования.

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

А

При априори больших к используется центральная предельная теорема. В этом случае можно записать:

Р{Е(X)-а<Х <Е(X) + а} = 1 -а,

А

откуда к определяется в виде:

к = (а-1ат>2,

где а2 = 9тс"2, Е(Х) = яр-1, 2а - допустимые пределы изменений к для заданного уровня риска а; 1 - стандартное переменное отклонение.

А

Детерминированная оценка к определена при условии, что а мала при заданной величине р1 = у таким образом, получаем:

к = !п(1-у)(!п я)-1 - 1

Рассмотрим временные характеристики процессов при использовании стратегии I.

Время создания к копий определим как:

Е[Т1(1)] = кт,

где т - время создания одной копии.

Среднее время решения задачи при наличии к копий и при условии, что она решена успешно, определяется в виде

Е[Т|(2)] = 0р-1[1-як+1[1+(к+1)р]], где 0 - интервал времени использования Базы данных (обновления Базы).

С другой стороны, среднее время, затраченное на обработку Базы данных, вне зависимости от того, будет она завершена успешно или нет, определяется из выражения

Е[Т|(3)] = 0р-1[1-як+1]

Таким образом, планируемое среднее время задействования Узла (или использование стратегии |)

Е[Т|] = Е[Т|(1)] + Е[Т|(3)]

Стратегия ||. Модель формулируется следующим образом (рис. 3): пусть в начальный момент времени 1 = 0 рассматриваемый Процесс находится в состоянии, при котором имеется База данных Р00 и к ее предысторий, и требуется создать обновленную Базу Р1. Таким образом, имеется а = к + 2 состояний системы.

........... —

(3)

1 = -к - 1 1 = -к

1 = - (к - 1)

1 = - 1

1 = 0

1 = 1

Рис. 3. Функционирование Процесса при использовании Стратегии II

За фиксированное единичное время с вероятностью р обновленная База данных Р1 может быть создана, а с вероятностью я = 1 - р База Р00 может быть разрушена, и Процесс будет находиться в состоянии Р-1. Работа Процесса продолжается до тех пор, пока База Р00 и к ее предысторий не будут разрушены, либо не будет создана обновленная База Р1 в соответствии со второй стратегией дублирования.

Определим следующие характеристики Процесса при данной стратегии дублирования: вероятность обновления Базы Р00 (вероятность создания обновленной Базы Р1); вероятность разрушения Базы Р00 и к ее предысторий; продолжительность функционирования Узла до обновления Базы, до разрушения всех предысторий, а также среднее время функционирования Узла.

Пусть обновление Базы совершается в некоторые моменты времени 1 = 1, 2, 3,... £ и будем интерпретировать их исходы как перемещения шарика по целочисленным точкам действительной прямой между двумя поглощающими экранами. В момент времени 1=0 шарик находится в положении х = т = к + 1, а в моменты 1 = 1, 2 ... он перемещается на один шаг влево или вправо в зависимости от успеха или неудачи соответствующего обновления, т.е. совершает случайное блуждание. Таким образом, положение шарика в произвольный момент времени £ определяет количество неразрушенных баз после окончания £-го обновления. Работа заканчивается, когда шарик в первый раз попадает в положение х = 0 или х = а, т.е. эти граничные положения яв-

ляются поглощающими экранами. Создание обновленной Базы Р1 интерпретируется как поглощение в точке х = а, а разрушение Базы Р00 и к ее копий - как поглощение в точке х = 0. Возможные состояния Процесса ограничены положениями х = 0, 1, 2, ... а.

Пусть - вероятность того, что База Р00 и к ее копий будут разрушены, а рг -вероятность того, что База Р00 будет обновлена. В терминах случайных блужданий яг и рг означают вероятность того, что точка, выходящая из г, будет поглощена экраном х = 0 или х = а соответственно. Если Процесс находится в состоянии г, то после первой попытки обновления она перейдет в состояние г - 1 либо г + 1, и поэтому при 1 < г < а - 1

яг = ряг+1 + яЧг-1

При г = я - 1 = к + 1 первая попытка обновления может привести Процесс в состояние Р1, и поэтому

яа-1 = я яа-2 + р

При г = 1 первая же попытка обновления может привести к разрушению последней хранящейся предыстории текущей Базы, и предыдущее уравнение запишется в виде

я1 = ря2 + я

Очевидна справедливость граничных условий

я0 = 1, яа = 0

Вероятность успешного обновления Базы Р00 равна вероятности того, что База Р00 и к ее предысторий не будут разрушены, т.е.

р = (р/я)а - (р - я)а - г

При а = к + 2 и г = к + 1

г (р/я)а - 1

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

к + 1 к - 1 Р11 = рк +1 = -р---3—

(р/я)а - 1

Вероятность разрушения Базы Р00 и к ее предысторий

як + 1 (я - р)

як +1 = як + 2 - рк + 2

Ч г

А

Детерминированная оценка для к при р2 = .у определяется следующим образом

к = !п(р/я)-1!п[1 - (1 - у)-1(1 - р/я)] - 2

А

Статистическая оценка для к может быть определена аналогично ее определению для стратегии I.

Рассмотрим временные характеристики функционирования Процесса при использовании стратегии 2. Для определения средней продолжительности работы Узла до обновления Базы Р00 и до разрушения этой Базы и к ее предысторий применим метод производящих функций [9]. Данная задача аналогична задаче определения продолжительности случайного перемещения шарика из исходного состояния при наличии двух поглощающих экранов при г = к + 2 и г = 0. Так же, как и раньше, исходным положением шарика является г (0 < г < к + 2). Пусть У2 - вероятность того, что

процесс закончится на £-м шаге у экрана г = 0. После первой попытки обновления система попадет или в точку г + 1 или в точку г - 1, и при 1 < г < к + 1, £ > 1 можно записать

Щ п+1 = р^+1, □ + 4^-1, □ Данное уравнение является разностным и зависит от двух переменных г и | Граничные условия являются следующими:

ио , £= ик+2,£=0 при £ ^ 1

и при граничных условиях й0 = 0, йк+2 = 0. Учитывая, что г = к + 1 и я < р, получаем

Е[Т||] = ©Рк+1 = 0

к +1 (к + 2)[1- (яр )]

1чтк+1

я - р (я - р)[1 - (яр-1)к+2]

При я -> 1/2 йг = г(а - г) и при г = к + 1 Е[ТМ] = 0йк+1 = 0(к + 1), где а = к + 2.

Стратегия III. Функционирование Процесса при использовании стратегии III представлено на рис. 4.

^ Е

1 = х + 1

1 = 2

1 = -к - 1 1 = -к 1 = - (-к - 1)

1 = х + 1

1 = 0

1 = 1

Рис. 4. Функционирование Процесса при использовании Стратегии III

Используя результаты, полученные для стратегий I и II, определим вероятность успешного решения задачи Прикладным процессом при обновлении Базы Р00 в виде

Р00 = 1

и00 = 1,

Рг,0 = 1 ^,0 = 0

при г > 0

для любых г, 0 < г < к+2 и х 3 0.

Введем производящую функцию

и (*) = £ и^

£=0

Эта производящая функция вероятности разрушения Базы Р00 и всех ее предысторий на х-м шаге (поглощение у экрана г = 0) может быть представлена в виде

и(Б) = (яр-1)2[11к+2(в) - 12к+2 (Б)]-1 [11к+2-г - !2к+2(в)],

где

li(S) = (2pS)-1 [1+(1-4pqS2)1/2l, l2(S) = (2pS)-1 [1+(1-4pqS2)]

для 0 < S < 1.

Тогда математическое ожидание времени до разрушения Базы F00 и всех ее предысторий E(Ta,z) при условии, что функционирование Процесса началось в точке z, может быть определено как

aUz(S) / aS| S -> E(Ta,z).

Можно показать, что для z = k + 1

E(Ta,k+1 ) = (qp-1)k+1 C (Ak+2 - Bk+2)-2[h],

где

h = [(k+2)(Ak+2 + Bk+2)(A - B) - (Ak+2 - Bk+2)(A + B)]; A = l1(S)| S -> 1, B = l2(S)| S -> 1

Производящая функция вероятности успешного обновления Базы F00 (успешного решения задачи обработки Базы данных Прикладным процессом) на x-м шаге имеет вид Fz(S) = (pq-1)k+2-z[l1k+2(S) - l2k+2(S)]-1 [l1z(S) - l2z(z)],

где

l1(S) = (2qS)-1 [1+(1-4pqS2)1/2], l2(S) = (2qS)-1 [1+(1-4pqS2)]1/2

Математическое ожидание времени до успешного окончания решения задачи обработки Базы данных Прикладным процессом E(Tq,z) при условии, что Процесс начался в точке z определяется как

aFz(S)| as|s -> 1 = E(Tq,z)

Можно сказать, что при z = k+1

E(Tii(2)) = E(Tq,k+1) = (pq-1)C[Ak+2 - Bk+2]-2[h],

где

h = [(k+2)(Ak+2 + Bk+2)(Ak+1 - Bk+1) - (k+1)(Ak+2 - Bk+2)(Ak+1 + Bk+1)],

A = l1(S)|S -> 1, B = l2(S)|S -> 1;

Однако, если продолжительность функционирования имеет конечное математическое ожидание, p -> q и Процесс начинается в состоянии z, для определения продолжительности функционирования Узла можно применить более простой метод. Рассуждая аналогично, получим

Dz = pDz+1 + qDz-1 + 1, 0 < z <k+2;

rill = 1 - qx+1[(qy(q - p))/-py+2]\

Упростив это выражение, используя соотношение k = x + y, где x - число копий Базы данных F00 и y - число ее предысторий. При этом

riii = 1 - [qy+2 - py+2]-1 qk+1 (q - p)

Определим временные характеристики Процесса при использовании данной стратегии. Математическое ожидание планируемой продолжительности функционирования Узла при этом определится из выражения:

E[Tiii] = E(T'iii) + E(Tmiii)

где

E(Tiiii) = Q p"1[1 - qx] + x t;

E(Tiiiii) = (Q /(q - p))[(y + 1) - ((y + 2)[1 - (qp-1)y+1]) / (1 - (qp-1)y+2)]qx

Таким образом,

E[T|M] = Q p-1[1 - qx] + x t + (Q /(q - p))[(y + 1) - ((y + 2)[1 - (qp"1)y+1]) / (1 - (qp"1)y+2)]qx

Сравнение стратегий

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

А) Критерий максимальной надежности

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

Стратегии I и II

Очевидно, что

1 - [qk+2 - pk+2]-1 [qk+1(q - p)] <= 1 - qk+1, k = 1, 2, ...

Равенство справедливо только для случаев q = 0, k = 0, k -> ¥. Поэтому в практических случаях r|| < r| и надежность стратегии I выше, чем стратегии II, т.е. при отсутствии других ограничений с точки зрения надежности лучше создавать k копий Базы данных, чем иметь k ее предысторий.

Стратегии I и Ill

Очевидно, что

1 - [qy+2 - py+2]-1 [qk+1(q - p)] <= 1 - qk+1, y <= k, k = 1, 2, ...

Равенство справедливо в случаях q = 0, k = 0 или k -> ¥. Поэтому стратегия l лучше стратегии iii.

Стратегии l и ll

Очевидно, что

1 - [як+2 - рк+2]-1 [як+1(я - р)] <= 1 - [яу+2 - ру+2]-1 [як+1(я - р)] , у <= к, к = 1, 2, ...

Равенство также справедливо при условиях я= 0, к = 0, к -> ¥, и поэтому стратегия III лучше стратегии II.

Таким образом, если к > 0, к < х>, 0 < я < / и нет других ограничений, то эффективность стратегий резервирования с точки зрения их надежности определяется следующим образом:

Р! > РШ > РП

Б) Критерий минимальной продолжительности функционирования Узла (максимального быстродействия).

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

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

При функционировании системы в стационарном режиме, когда я -> 0,

Е[Т„] = 0

Е[Тт] = кт + 0р-1[1-як+1] + 0

Е[Т^ = кт + 0р-1[1-як+1] к +1 (к + 2)[1 - (яр-1)]к1

я - р (я - р)[1 - (яр"1)'2].

к +1 (к + 2)[1 - (яр-1)]к1 я - р (я - р)[1 - (яр-1)к 2]

Отсюда

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

Е[Т„] < Е[Тт] < Е[Т^,

т.е. стратегия II является наилучшей, стратегия III лучше стратегии I.

Таким образом, в стационарном режиме функционирования системы, т.е. при я -> 0 и при любых 1 и 0, минимальное время функционирования Узла достигается при использовании стратегии II.

Рассмотрим функционирование системы в переходном режиме, например в режиме отладки при внедрении системы, когда вероятность разрушения велика, т.е. я -> /.

В этом случае

Е[Т^ = кт + 20[1-2-(к+1)] Е[Т„] = 0(к + 1) Е[Тт] = хт +2 0[1-2-х] + 0(у + 1)2-х

при сравнении данных выражений получаем

Е[Т^ > Е[Тт,у=1] > Е[Т„] > Е[Тт,у>1]

при т-> 0 и я -> /, т.е. стратегия III при у > 1 является наилучшей.

Таким образом, минимальное время функционирования Узла в переходном режиме (т-> 0 и я -> /) достигается при использовании стратегии III.

Сравнение выражений для математического ожидания времени доступа к ресурсам Узла при 0 >> т и я -> % приводит к следующим результатам

Е[Т|] < Е[Тш] < Б[Т„]

Таким образом, если время обновления Базы существенно превышает время создания одной копии Базы и вероятность разрушения Базы высока (т -> 0 и я -> /), то минимальное время функционирования Узла достигается при использовании стратегии I.

В) Критерий максимума коэффициента готовности

Рассмотрим функционирование Процесса на узле, когда База данных резервируется к копиями.

Пусть 0 - время успешного выполнения транзакции, а при отказе это время является случайной величиной £ < 0. Тогда, среднее время выполнения одной транзакции составит:

= р,0 + (1 -р, )£,

где

р, - вероятность успешного завершения транзакции при использовании ^й стратегии резервирования.

В реальных условиях функционирования Процесса рj ^ ^ 0,1о «0.

Пусть при функционировании Процесса на узле в случайные моменты времени начинается резервирование Базы данных, для которой созданы к копий или предыс-торий, а вероятность разрушения копий при их хранении равна нулю.

Среднее число обновлений Базы данных до отказа определим в виде: [4]

<» 1 N = £р}-1(1 -р, V = 1-р

Суммарное время выполнения транзакции определяется как:

Т = ДО - 1)Е[ТУ] + Е[ТР ] + 1в = 1-Рр- Е[ТУ] + Е[ТР ] + 1В ,

где

Е[Т|У], Е[Тр ] - среднее время работы транзакции до успешного завершения и отказа

соответственно при использовании стратегии j; ^ - среднее время восстановления работоспособности.

Длительность пребывания Процесса в состоянии «Работа» за указанный период времени функционирования, т.е. до перехода в состояние «Сбой», определяется в виде:

^ = N0 = 0(1 -р, )-1

Исходя из вышеизложенного, коэффициент готовности определим в виде:

—1

^ 0(1 -р,) 1 0

КГ =^Т= _

Т р](1 -р,)-1Е[ТУ] + Е[ТР] + 1в E[Tj] +(1-Pj)tв '

где

E[Tj] = PjE[TjУ] + (1 - рj)E[TjР ] - среднее время выполнения транзакции.

Необходимо заметить, что E[Tj] - есть суммарное среднее время нахождения Процесса в состояниях «Работа» и «Сбой».

Рассмотрим выбор оптимальной в смысле максимума коэффициента готовности стратегии резервирования в зависимости от режима функционирования Узла.

Переходный режим.

В переходном режиме функционирования, когда q ^ 1/2, а 0 >> т наилучшей стратегией на неограниченном интервале времени функционирования будет Стратегия I.

При перечисленных параметрах справедливы соотношения:

Pi > Piii > PII ; E[T|] > E[T|||] > E[T||]

Откуда следует справедливость неравенств:

0[E[T|] + (1-р|)1в ]-1 >0[E[TM] + (1-pM)tB ]-1; 0[E[T|] + (1 - p|)tB]-1 > 0[E[Tm] + (1 - pm)tB]-1

Стационарный режим.

В стационарном режиме функционирования, когда q ^ 0, pj ^ 1 (j=I, II, III) наилучшей стратегией будет Стратегия II. Максимальное быстродействие в этом режиме

обеспечивает Стратегия II: E[TII] > E[TIII] > E[TI]. Поэтому:

0 0 0

->->-.

E[T||] + (1 - pM)tB E[T|||] + (1 - pm)tB E[T|] + (1 - p|)tB

Пример

В качестве примера рассмотрим процесс резервирования Базы данных по критерию максимума коэффициента готовности при различных значениях параметров q и k.

Пусть:

1. База данных резервируется одной копией (предысторией).

2. Время создания одной копии составляет 1 с.

3. Время создания всех копий составляет 1 с.

4. Среднее время восстановления составляет 1 с.

5. Для стратегии III используется 1 копия и 2 предыстории.

Тогда можно определить зависимость коэффициента готовности от вероятности сбоя (отказа). На рис. 5 представлена зависимость коэффициента готовности КГ от вероятности сбоя q.

0,980

0,04 0,06 0,08 0,10 0,12 я

Рис. 5. Зависимость коэффициента готовности от вероятности сбоя

Рисунок иллюстрирует выводы раздела В) для стационарного и переходного режимов функционирования.

При аналогичных условиях и вероятности сбоя я=0,04 рассмотрим зависимость коэффициента готовности от количества копий к (см. рис. 6).

1,000 0,950 0,900 0,850 0,800 0,750 0,700

1 \

\

\ к к

1 2 3 4 5 к

Рис. 6. Зависимость коэффициента готовности от количества копий

Таким образом, при увеличении числа копий эффективность резервирования уменьшается т.к. увеличивается количество времени, необходимое для копирования.

Резервирование Базы данных: выводы

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

Таблица 1

Резервирование Базы данных с использованием различных критериев

Критерий Наилучшая стратегия

Максимальная надежность функционирования Прикладного процесса (минимальная вероятность разрушения Базы данных) I

Минимизация времени функционирования Узла (максимальное быстродействие)

• Стационарный режим функционирования II

• Переходный режим функционирования III

• Режим функционирования, при котором время обновления Базы существенно превышает время создания одной копии Базы и вероятность разрушения Базы высока (т -> 0 и я -> /) I

Минимизация величины потерь Системы

• Стационарный режим функционирования II

• Переходный режим функционирования I

4. Резервирование Данных узла

Особенности организации резервирования Данных узла

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

• максимальная вероятность получения ответа на запрос;

• минимальное время получения ответа на запрос;

• минимальное использование ресурсов сети.

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

Таблица 2

_Резервирование Данных узла с использованием различных критериев

Критерий Стационарный режим функционирования Переходный режим функционирования

т < 0 т > 0

Максимальная вероятность получения ответа на запрос I I I

Минимальное время ответа на запрос II III I

Минимальное использование ресурсов сети II I I

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

Таким образом:

• Для обеспечения надежного функционирования Системы в сложных условиях эксплуатации целесообразно использование СТРАТЕГИИ I.

• Для работы в стационарном режиме функционирования целесообразно использование СТРАТЕГИИ II.

• Для минимизации времени функционирования Узла в переходном режиме целесообразно использование СТРАТЕГИИ III.

Восстановление данных 5. Восстановление Базы данных

В случае перехода основной Базы данных в состояние «Отказ» возможно два варианта действий при ее восстановлении:

1. Продолжение работы с другой копией Базы данных - Оперативное восстановление.

2. Переход Процесса в состояние «Ожидание», восстановление основной Базы данных с одной из копий и продолжение работы Процесса - Непосредственное восстановление.

Рис. 7 иллюстрирует отличие оперативного и непосредственного восстановления.

Узел

Узел

Процесс

БД БД БД

1НВ1 ] 1НВ2 \ 1нв^

\ ___

а) Оперативное восстановление б) Непосредственное восстановление

Рис. 7. Оперативное и непосредственное восстановление

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

При разрушении оперативного резерва Процесс перейдет в состояние «Сбой». Из этого состояния Процесс может либо перейти в состояние «Работа» с использованием непосредственного или оперативного восстановления, либо, в случае разрушения всего резерва, в состояние «Отказ».

Вероятность успешного решения задачи с использованием непосредственного восстановления определяется следующим образом:

н 2 / „ РР1

Р. = 1 р-.рН <1- Р =-

J / = 0 1 1 - (1 -Ру)РН

Здесь р. - вероятность успешного решения задачи при использовании стратегий у (у = 1, 2, 3 ); РН - вероятность успешного восстановления основной Базы данных.

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

• Критерий минимума эксплуатационных затрат

Основной эффект при использовании непосредственного восстановления заключается в значительном снижении вероятности полной потери ин-

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

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

• Критерий максимума коэффициента готовности

Непосредственное восстановление эффективно, если время, необходимое для воссоздания Базы данных, велико.

• Критерий минимума среднего времени выполнения транзакции Оптимальное число копий определяется по формуле:

х= (ях + 1)т + цх !п д ^ П + хт) 6. Восстановление Данных узла

В случае перехода Узла в состояние «Отказ» возможно два варианта действий по восстановлению работоспособности Домена:

1. Непосредственное восстановление Данных узла.

2. Реконфигурация Домена.

Для восстановления Данных узла может быть использован:

• либо резерв, расположенный на одном из Узлов Системы;

• либо специальный резерв - архив на магнитных носителях, расположенный в специальном Домене.

Непосредственное восстановление Данных узла может быть проведено с использованием одной из двух стратегий:

Стратегия восстановления I (СВ!): восстановление Данных узла всегда производится с последней (в смысле некоторого критерия) копии. Если последняя копия разрушена, то сначала производится восстановление последней копии с предпоследней (т.е. сначала последовательно восстанавливаются все предшествующие копии), а затем восстановленная последняя копия используется для восстановления всех остальных разрушенных Данных узлов.

Стратегия восстановления II (СВП): сначала производится восстановление первых

из разрушенных Данных узла аналогично СВ^ а затем остальные разрушенные Данные узлов восстанавливаются с использованием восстановленных первых Данных узла.

Рис. 8 иллюстрирует различие между СВI и СВП.

а) СВ1

б) СВ11

Рис. 8 Стратегии восстановления I (а) и II (б) Далее необходимо провести исследование и сравнение стратегий резервирования, а также определить их эффективность по критерию максимальной вероятности успешного восстановления Данных узла: при восстановлении Данных узла стратегия СВ11 обеспечивает большую вероятность успешного восстановления, чем стратегия СВ1.

Кроме того, проведено исследование и сравнение эффективности стратегий восстановления с точки зрения использованной стратегии резервирования: при резервировании Данных узла целесообразно использование Стратегии резервирования I, а восстановление Данных узла может производиться как с использованием стратегии СВ1, так и с использованием стратегии СВ11.

Реконфигурация Домена

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

1. Отказ одного или нескольких Узлов.

2. Сбой одного или нескольких Узлов.

3. Необходимость увеличения скорости выполнения Задачи за счет добавления в Домен новых Узлов.

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

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

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

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

• Восстановление Данных узла.

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

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

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

Заключение

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

Литература

1. Буч Г. Объектно-ориентированный анализ и проектирование: с примерами приложений на C++. - СПб.: Издательство Бином, 1998. - 560 с., ил.

2. Долгов П. и др. Объектно-ориентированное расширение технологии RTST / Долгов П. Иванов А., Кознов Д., и др. // Записки семинара кафедры системного программирования "CASE-средства RTST++". Вып. 1. - СПб.: Издательство С.-Петербургского университета, 1998. - С. 17-36.

3. Коваленко В., Корягин Д. Вычислительная инфраструктура будущего // Открытые системы. - 1999. - № 11-12. - С. 45-52.

4. Коваленко И.Н., Филиппова А.А. Теория вероятностей и математическая статистика. - М.: Высшая школа, 1978. - з5о с.

5. Коржов В. Базы данных идут в тираж / В. Коржов // СУБД. -1998. - № 3. - С. 6064.

6. Марасанов В.В. Модели синтеза систем баз данных в вычислительных сетях / Марасанов В. В., Мамиконов А. Г., Кульба В. В.- Кишинев: Штиинца, 1987. - 268 с.

7. Саймон А. Стратегические технологии баз данных: менеджмент на 2000 год / А. Саймон. - М.: Финансы и Статистика, 1999. - 479 с.

8. Таммер Оззу М. Распределенные и параллельные системы баз данных / М. Таммер Оззу, П. Валдуриз // СУБД. - 1996. - № 4. - С. 4-26.

9. Феллер В. Введение в теорию вероятностей и ее приложения. - Т. 2. - М.: Мир, 1967. - 300 с.

10. Шлеер С., Меллор С. Объектно-ориентированный анализ: моделирование мира в состояниях. - Киев: Диалектика, 1993. - 150 с.

11. Barker R. CASE Method. Entity-Relationship Modeling. / Barker R. - Oracle Corporation UK Limited: Addison-Wesley Publishing Co., 1990. - 231 p.

12. Berzins V., Gray M. Naumann, D. Abstraction-Based Software Development / Berzins V., Gray M. Naumann, D. // Communications of the ACM. - 1986. - vol.29(5) May. - P. 34-40.

13. Booch G. The Visual Modeling of Software Architecture for the Enterprise // Rose Architect. - 1998. - Vol. 1. - No 1. - P. 18-25

14. Darwin С. The Origin of Species // Great Books of the Western World. - Vol.49. - Chicago, IL: Encyclopedia Britannica. - 1984. - P.207.

15. Graham J,. Object-Oriented Methods. - Workingham, England: Addison-Wesley Publishing Company, 1991. - 432 p.

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