Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги2 / монография 31

.pdf
Скачиваний:
0
Добавлен:
10.05.2024
Размер:
3.71 Mб
Скачать

ГЛАВА 3. ДИНАМИЧЕСКАЯ РЕПЛИКАЦИЯ МАССИВОВ ДАННЫХ В РАСПРЕДЕЛЕННЫХ СИСТЕМАХ, ИМЕЮЩИХ ИЗМЕНЯЮЩИЕСЯ ПАРАМЕТРЫ РАБОТЫ

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

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

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

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

­изменение интенсивности трафика запросов к данным, генерируемым в узлах системы,

­изменение характеристик каналов связи сети (пропускная способность, стоимость использования, надежность),

­изменение стоимости хранения массивов данных и их реплик в узлах сети,

­изменение затрат на обработку запросов, генерируемых в узлах сети.

В формальной модели метода предполагается известными следующие параметры распределенной системы:

19

­количество и характеристики используемых в распределенной системе массивов данных,

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

­множество типов запросов к массивам данных, генерируемых отдельными прикладными процессами,

­частоты выполнения прикладных процессов в узлах системы,

­стоимостные и временные характеристики каналов связи распределенной системы,

­временные и стоимостные характеристики обработки запросов к данным в узлах системы.

Значения данных параметров определяются двумя путями.

На этапе проектирования и внедрения системы в эксплуатацию путем:

­анализа прикладных областей пользователей системы,

­анализа запросов пользователей,

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

­экспертных оценок распределения трафика запросов по узлам системы,

­анализа технической документации и проектных решений по технической структуре распределенной системы (характеристик каналов связи и серверов, установленных в узлах сети).

На этапе опытной и промышленной эксплуатации путем:

­анализа системных журналов с информацией о трафике запросов к данным, времени обработки запросов в узлах сети, времени обмена информацией между узлами системы,

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

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

20

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

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

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

инового распределения реплик выполнить:

­либо перемещение по кратчайшему пути реплики массива из узла k1 сети в узел k2 с последующим удалением реплики в узле k1,

­либо копирование данных реплики из узла k1 в узел k2 по кратчайшему пути в случае, если реплика в узле k2 не может быть удалена.

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

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

21

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

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

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

­Запрос на изменение данных в некоторой реплике массива данных, имеющей N копий, параллельно маршрутизируется из узла-источника, в котором он сгенерирован, во все N узлов системы, в которых находятся идентичные реплики этого массива. Идентичные запросы адресуются во все эти N узлов по кратчайшим путям от узла-источника запроса до каждого из N узлов с репликой. Все N запросов обрабатываются во всех этих N узлах с репликами в рамках одной распределенной транзакции [30–32]. Считается, что запрос на изменение данных в репликах в этих N узлах системы обработан успешно только, если получены положительные ответы об обновлении данных в репликах во всех N узлах системы. В этом случае время обработки такого запроса принимается равным максимальному времени модификации данных в N узлах с репликами.

22

3.1.Формальная модель распределенной системы, использующей репликацию массивов данных

Вданной модели предполагается, что РСОД функционирует на основе компьютерной сети, которая состоит из K узлов,

составляющих множество = {1, … … , }. Топология данной компьютерной сети представлена в виде взвешенного графа = ( , Г).

Распределенная система в своей работе использует данные из M различных массивов данных, представленных в виде множества A= {1, … , … , }). Каждый из данных массивов может иметь некоторое количество реплик, размещенных в узлах системы. При этом в одном узле системы может размещаться только оригинальный массив данных или только одна его реплика. С другой стороны, в одном узле сети может быть размещено несколько реплик или

оригиналов разных массивов данных.

 

 

 

 

Для

компьютерной

сети

задана матрица

смежности

( ) =

{ } взвешенного графа

.

Элемент

этой

матрицы имеет

значение среднего

времени

передачи

 

 

 

 

 

 

 

̅̅̅̅̅

единичного элемента данных

между парой

,

 

 

(, = 1, )

 

 

 

 

 

 

 

 

смежных узлов системы. Значение элемента это вес дуги графа

между парой ( , ) смежных узлов.

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

[33,34], строится матрица ̅̅̅̅̅̅ . Элементы

= { }, , = 1, по

кратчайшим путям между узлами распределенной системы.

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

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

23

элементов данной матрицы рассчитываются значения элементов матрицы SPC (Shortest Path Cost), элементы которой это стоимость передачи сообщений единичной длины между всеми узлами системы по кратчайшим путям между этими узлами.

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

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

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

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

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

Объем (размер) ( ) массива и его реплик определяются по формуле:

( ) = ( ) ( )

Длина записи ( ) массива m:

( ) = ∑

=1

Здесь – это количество атрибутов в записи массива , а

– это длина i-го атрибута записи массива. Тогда размер (объем) реплики и самого массива равен:

24

(

 

) = (

 

) ∑

 

(3.1)

 

 

 

 

=1

3.2. Параметры задачи оптимального размещения реплик

Запросы пользователей к данным реплик, размещенным в узлах системы, обрабатывается множеством = {1, … , } различных прикладных процессов. Данные процессы выполняются в узлах системы, которые содержат реплики данных, требуемые для работы процессов. В каждом узле системы может выполняться один или несколько различных процессов. Во время работы каждого процесса в единицу времени генерируется некоторое количество запросов к данным одной или нескольких реплик для выборки необходимых данных или для их изменения или удаления из реплики.

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

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

­ Матрица

̅̅̅̅̅

̅̅̅̅̅

определяет

= ‖ ‖ ( = 1, ; = 1, )

частоту выполнения каждого прикладного процесса в узлах системы. Каждый элемент данной матрицы определяет то, с какой частотой выполняется прикладной процесс p в k- м узле системы.

­ Матрица

= ‖ ‖

определяет

частоту

информационных запросов к массиву данных , генерируемых p-м прикладным процессом. Элемент это частота информационных запросов к массиву данных , генерируемых p-м процессом.

­Аналогично матрица = ‖ ‖ определяет частоту

запросов на модификацию данных в массиве данных , генерируемых p-м прикладным процессом. Элемент

25

данной матрицы это частота генерации p-м прикладным процессом запросов на изменение данных в массиве .

-Матрица NQE состоит из элементов ( , ), значение которых равно количеству всех информационных запросов к

массиву данных , генерируемых в единицу времени в узле k.

Значение элемента ( , ) рассчитывается как сумма произведений частот PF(k,p) выполнения в узле k прикладных процессов на количество PQE(p,m) генерируемых этими процессами информационных запросов к массиву данных .

P

NQE(k,m)= PF(k,p)*PQE(p,m) , k=1,…,K, m=1,…,M

p=1

Аналогично подсчитывается суммарное количество NQU(k,m) запросов на модификацию данных массива m, возникающих в узле k.

( , ) = ∑ ( , ) ( , ),

=1

= 1, … , , = 1, … ,

Кортеж NQ содержит K элементов NQ(k), значения которых равны общему количеству запросов всех типов (информационных и запросов на модификацию), генерируемых в каждом k-м узле сети в единицу времени. Значения этих элементов NQ(k) подсчитываются суммированием соответствующих элементов матриц NQE(k,m) и NQU(k,m).

( ) = ∑ ( ( , ) + ( , ))

=1

Сделаем следующие предположения:

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

26

предположениях распределенная система успешно обрабатывает все поступающие запросы успешно.

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

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

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

Поэтому будем считать, что в модели определены следующие характеристики распределенной системы:

­

кортеж

= ( , , , , , … , ),

содержащий

значения

 

 

1

 

 

 

 

 

средних времен обработки информационных запросов в

 

узлах системы,

 

 

 

 

­

кортеж

S = ( , , , , , … , ),

со значениями

средней

 

 

1

 

 

 

 

 

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

 

единицу времени обработки информационных запросов в

 

этих узлах,

 

 

 

 

­

кортеж

= ( , , , , , … , ),

содержащий

значения

 

 

1

 

 

 

 

 

средних времен обработки запросов на модификацию

 

данных реплик в узлах системы,

 

 

­

кортеж

S = ( , , , , , … , ),

определяющий

значение

 

 

1

 

 

 

 

средней стоимости использования ресурсов узлов системы за

27

единицу времени обработки запросов на модификацию данных,

­Evol – средний объем (размер) информационного запроса,

­Erepvol – средний объем ответа на информационный запрос,

­Uvol - средний объем запроса на модификацию данных,

­Urepvol – средний объем ответа на запрос на модификацию данных,

­кортеж = (1, … , , … , ) со стоимостью хранения единицы данных в узлах сети.

Размещение реплик массивов данных по узлам сети задается матрицей = { }, в которой:

1, если реплика массива данных= { размещена в узле ,

0, в противном случае.

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

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

3.2.1.Затраты на хранение реплик в узлах системы

Хранение реплик массивов данных в узлах сети требует определенных затрат.

Затраты ( , ) (Replica Storage Costs) на хранение одного массива или его реплики в узле определяются на основе данных кортежа DSC(k) (Data Storage Cost) и кортежа ( ) с размерами (объемами) реплик массивов, элементы которого определяются формулой (1).

Элементы кортежа DSC(k) для каждого узла сети определяют стоимость хранения единицы данных в памяти этого узла, а

28

Соседние файлы в папке книги2