
книги2 / монография 31
.pdfэлементы кортежа AV содержат размеры (объемы) реплик массивов данных, используемых в системе.
Тогда величина затрат на хранение реплики массива данных в узле за заданный интервал времени будет равна:
( , |
|
) = ( |
|
) ( ), |
(3.2) |
|
|
|
|
̅̅̅̅̅̅̅̅̅̅̅
= 1, , = 1,
3.2.2.Затраты на функционирование распределенной системы
Величина стоимостных затрат, необходимых для поддержки функционирования распределенной системы, которая использует репликацию данных, состоит из следующих компонент:
стоимостные затраты на хранение оригиналов и реплик массивов данных в узлах сети,
стоимостные затраты на использование каналов связи сети на передачу запросов к данным из узлов – источников запросов в узлы с необходимыми репликами данных и обратной передачи ответов на запросы,
затраты на использование вычислительных ресурсов узлов сети на обработку поступивших запросов к данным, хранящимся в этих узлах сети.
Получим аналитические выражения для расчета величин перечисленных выше затрат на функционирование системы.
Затраты TRSC на хранение всех реплик массивов данных
Затраты на хранение массивов данных и их реплик TRSC (Total Replicas storing Cost) определяются на основе данных матрицы X распределения реплик по узлам сети и на основе данных матрицы стоимости хранения реплик в узлах сети ( , ) (формула (3.2 4.9):
= ∑ ∑ × ( , )
=1 =1
29
В этой формуле ( , ) это затраты на хранение одной реплики массива или самого массива при условии, что реплика размещена в узле .
Затраты CRRT на использование каналов связи
Определенные затраты требуются на использование каналов связи системы для передачи запросов в узлы с репликами массивов данных и для обратной передачи результатов обработки этих запросов в узел – источник запроса.
Ранее мы предположили, что система работает в установившемся режиме и очереди на обслуживание бесконечны, поэтому все сгенерированные запросы обрабатываются, и для каждого обработанного запроса формируется соответствующий ответ, который пересылается обратно в узел-источник запроса.
Запрос из узла – источника запроса адресуется по кратчайшему маршруту в узел сети с репликой необходимого массива данных. Ответ на запрос пересылается в узел-источник по этому же кратчайшему маршруту.
Если необходимая для обработки запроса реплика массива размещена в самом узле-источнике запроса, то каналы связи системы не используются.
Величина CRRT (Cost of Requests and Responses Transmission)
затрат на использование каналов связи системы для передачи запросов и ответов на запросы, генерируемые во всех узлах сети за единицу времени, при известном распределении реплик массивов X рассчитывается на основе данных матрицы SPC и средних размеров (объемов) запросов и ответов на эти запросы.
Матрица SPC содержит элементы SPC(i,j), значения которых равны величине затрат на передачу единицы данных по кратчайшему пути из узла i в узел j.
Кроме того, для расчета суммы затрат CRRT необходимы данные матрицы NQ с частотами генерации прикладными процессами системы всех запросов во всех узлах сети.
Величина затрат на передачу одного запроса, возникшего в некотором узле к реплике , размещенной в узле , и ответа на этот запрос равна значению элемента SPC(k,j), умноженного на размер запроса и ответа на него.
30
Затраты на использование каналов связи для передачи всех запросов и ответов на эти запросы, генерируемые во всех узлах системы за единицу времени, будут равны:
= +
Здесь:
– затраты на передачу информационных запросов (и ответов на них), сгенерированных во всех узлах сети всеми прикладными процессами к репликам всех массивов данных за единицу времени.
- затраты на передачу запросов (и ответов на них) на модификацию массивов данных, сгенерированных во всех узлах всеми прикладными процессами сети ко всем репликам всех массивов данных за единицу времени.
Значения этих двух слагаемых формулы рассчитываются в соответствии со следующими двумя формулами:
|
|
|
= ∑ ∑ ( , ) ∑ [ ( , ) ( , )
=1 =1 |
=1 |
( + )]
Вэтой формуле ( , ) – стоимость передачи сообщения
единичной длины из узла , источника информационного запроса, по кратчайшему пути в узел , в котором размещена реплика массива данных m, необходимая для обработки запроса. Т.е.:
( , ) = |
|
( , ) , |
≠ 0 |
|
=1,…, |
|
|
|
|
|
Величина Evol это средний размер информационного запроса, а Erepvol –средний размер ответа на информационный запрос.
|
|
|
= ∑ ∑ ( , ) ∑ ( , )
=1 =1 |
=1 |
|
|
∑ ( , ) ( + )
=1
31
Вэтой формуле для подсчета затрат на использование каналов связи для передачи запросов (и ответов на них) на модификацию данных всех реплик всех массивов данных учитывается тот факт, что запросы адресуются по кратчайшим путям во все узлы с репликами массивов данных. Величина Uvol это средний размер запроса на модификацию реплики массива данных, а Urepvol – средняя величина ответа на этот запрос.
Витоге получаем, что затраты CRRT на использование каналов связи вычисляются по формуле:
= |
+ = |
∑ ∑ ( , ) × |
|
|
|
|
|
=1 =1 |
[ ( , ) ( , ) ( + )] +
× ∑ {+ ( , ) ∑ ( , ) ( + ) }
=1
=1
Затраты RPC на обработку запросов за единицу времени
Величина RPC (Request Processing Cost) затрат системы на обработку всех запросов в узлах сети, генерируемых во всех узлах за единицу времени, зависит от следующих параметров работы распределенной системы:
частота информационных запросов к репликам массивов данных, генерируемых в единицу времени;
частота запросов на модификацию данных реплик, генерируемых в единицу времени;
текущее размещение массивов данных и их реплик по узлам системы;
стоимостные затраты на обработку запросов в узлах системы.
В рассматриваемой модели распределенной системы используется информационная избыточность. Это означает, что необходимые для обработки запроса данные, могут находиться как в одном узле системы, имеющем один экземпляр необходимой
32
реплики, так и в нескольких узлах с несколькими репликами массива данных. В такой ситуации возможны два варианта. В первом варианте информационный запрос будет направлен по кратчайшему пути для обработки в ближайший узел с репликой. Во втором варианте запрос будет обработан в самом узле-источнике запроса, если необходимая реплика размещена в этом же узле.
Запросы на модификацию данных некоторого массива будут маршрутизированы по кратчайшим путям из узла-источника запроса во все узлы с репликами данного массива.
В рассматриваемой модели для информационных запросов и запросов на модификацию данных заданы разные значения стоимости обработки в разных узлах сети. Параметры стоимости обработки запросов заданы в кортеже S и S для информационных запросов и для запросов на модификацию данных, соответственно.
С учетом всех сделанных предположений затраты RPC системы на обработку всех запросов, сгенерированных во всех узлах за единицу времени, рассчитывается по формуле:
= +
В данной формуле:
– затраты на обработку всех информационных запросов к репликам всех массивов данных, созданных прикладными процессами во всех узлах системы за единицу времени.
- затраты на обработку всех запросов на модификацию массивов данных в репликах всех массивов данных, сгенерированных во всех узлах системы всеми прикладными процессами.
Значения этих двух компонент затрат на обработку запросов в системе рассчитываются следующим образом:
|
|
|
|
= ∑ ∑ ( , ) ∑ ( , ) ∑ ( , )
=1 =1 |
=1 |
=1 |
В данном выражении w это узел сети с репликой массива , а путь от узла до этого узла является кратчайшим, т.е.:
33
( , ) = |
|
( , ) , |
≠ 0 |
|
|
|
=1,…, |
|
|
|
|
|
|
|
|
|
|
|
|
= ∑ ∑ ( , ) ∑ ( , ) ∑ ( , )
=1 =1 |
=1 |
=1 |
Величина затрат на обработку запросов определяется в соответствии со следующим алгоритмом. На основе матрицы PF для каждого узла определяется частота всех выполняемых в этом узле
прикладных процессов ( , = 1, … , ). Для каждого очередного процесса из матриц PQE и PQU последовательно определяется количество генерируемых процессом информационных запросов и запросов на модификацию данных реплики очередного массива m.
Для информационных запросов определяется узел системы такой, в котором хранится реплика массива m, и который находится на кратчайшем расстоянии от узла – источника запросов.
Для запросов на модификацию подсчитывается стоимость обработки во всех узлах системы, в которых размещена реплика массива m.
Стоимость обработки в узле каждого запроса к реплике массива m определяется на основе данных из кортежа или для информационных запросов и запросов на модификацию данных, соответственно.
Затраты RMC на миграцию (перераспределение) реплик массивов данных между узлами сети
После того, как было получено новое распределение X реплик массивов данных в узлах системы, при необходимости выполняется перемещение (миграция) реплик в другие узлы системы.
В процессе миграции реплик используются данные из двух матриц: = ‖ ‖ – новое распределение реплик и 1 = ‖1 ‖ – предыдущее распределение реплик.
Стоимость миграции одной реплики из узла n в узел k зависит от объема реплики и значения элемента SPC(n,k) матрицы SPC, равного
34
стоимости передачи единицы данных по кратчайшему пути из узла n в узел k.
Тогда затраты RMC (Replica Migration Cost) на миграцию реплик вычисляются следующим образом:
= ∑ ∑ [ ( , ) ( )]
=1 =1
В данной формуле n это номер узла системы с размещенной в
нем репликой массива m ( 1 = 1). При этом узел n находится на
кратчайшем пути от узла k.
Вузел k реплика массива передается по кратчайшему пути из
узла n.
Величина RMC затрат на миграцию реплик подсчитывается следующим образом.
Вцикле для каждого массива данных (m=1,…,M) среди всех узлов сети (k=1,…,K) находятся такие узлы сети, в которых в соответствии с новым распределением должна быть размещена
реплика массива m, т.е. те узлы, для которых ( = 1). Далее определяется тот узел n сети (n=1,…,K), в котором согласно
предыдущему распределению хранится реплика массива m ( 1 |
= |
|
|
1). Таких узлов может быть несколько, так как согласно используемой модели в узлах сети может быть размещено несколько реплик одного массива. Из этих нескольких узлов выбирается такой узел n, который находится на кратчайшем расстоянии от узла k. Из узла n и происходит копирование или миграция реплики массива m в узел k. Соответственно затраты на миграцию реплики массива m в узел k подсчитываются как произведение объема реплики ( ) на стоимость передачи единицы данных по кратчайшему пути из узла n в узел k.
Общие затраты SOPC на функционирование распределенной системы с репликами
Общие затраты SOPC (System Operation Costs) на функционирование системы складываются из следующих компонент:
35
= + + +
В данной формуле используются следующие компоненты:
– затраты на хранение всех реплик всех массивов данных, распределенных по узлам системы в соответствии с матрицей X.
– затраты на передачу по каналам связи системы запросов и ответов на эти запросы, генерируемых во всех узлах системы за единицу времени при текущем размещения реплик X.
RPC – затраты на обработку всех запросов, генерируемых в узлах сети за единицу времени.
RMC - затраты на миграцию реплик
3.2.3.Среднее время обработки запросов в системе
Для рассматриваемой модели было сделано предположение о том, что система работает в установившемся режиме, очереди запросов на обслуживание бесконечны. Тогда справедливо, что все запросы, сгенерированные в системе, обрабатываются. В этом случае величина среднего времени AvRPT (Average Request Processing Time)
обработки запроса в системе рассчитывается в соответствии со следующим алгоритмом.
На первом шаге подсчитывается общее количество всех запросов, генерируемых во всех узлах системы за единичный интервал времени. Затем подсчитывается суммарное время обработки в системе данного количества запросов.
На последнем шаге вычисляется среднее время обработки одного запроса (как среднее арифметическое).
Общее количество всех запросов ToNR (Total Number of Requests), генерируемых в узлах системы за единичный интервал времени подсчитывается по формуле:
|
|
|
|
|
|
= ∑ ∑ ( , ) × ∑ [ ( , ) + ( , )] |
|||||
=1 =1 |
=1 |
|
|
|
|
При этом |
для |
каждого узла |
|
из |
матрицы ( , ) |
|
|
|
|
|
|
определяется частота |
выполняемых |
в |
этом |
узле прикладных |
|
|
|
36 |
|
|
|
процессов. Затем для каждого такого процесса определяется сумма генерируемых этим процессом информационных запросов (из матрицы PQE) и запросов на модификацию данных (из матрицы PQU) к массивам данных, используемых в системе.
Однако, в силу того, что в предложенной модели используется избыточная репликация, то в узлах сети может храниться несколько экземпляров реплик одного массива данных. Поэтому один запрос на модификацию данных массива, сгенерированный в узле-источнике запроса, маршрутизируется параллельно во все узлы сети, в которых хранятся реплики этого массива.
Тогда для подсчета количества всех сгенерированных прикладной процедурой p запросов на модификацию данных массива m необходимо количество ( , ) умножить на количество всех реплик массива m, размещенных в узлах сети.
Количество реплик массива данных m, размещенных в узлах сети, вместе с самим оригиналом массива, равно:
( ) = ∑
=1
В итоге суммарное количество всех запросов , генерируемых в узлах системы за единичный интервал времени будет подсчитываться следующим образом:
= ∑ ∑ ( , ) ×
=1 =1
× ∑ [ ( , ) + ( , ) ( )]
=1
Общее время обработки всех запросов к массивам данных ToRPT (Total Request Processing Time), сгенерированных в системе за единицу времени, определяется по формуле:
= ∑ ∑ ( , ) ×
=1 =1
37
×( ∑ ( , ) ∑ ( , )+
=1 =1
+∑ ( , ) ∑ ( , ))
=1 =1
В этой формуле j это узел сети, в котором размещена реплика массива , и путь до этого узла от узла , источника запроса, является кратчайшим, т.е.:
( , ) = |
|
( , ) , |
≠ 0 |
|
=1,…, |
|
|
|
|
|
Вычисление значения ToRPT выполняется примерно так же, как и подсчет общего количества запросов. Отличие заключается в том, что для каждого запроса используется среднее время его обработки на основе данных из кортежа или для информационных запросов и запросов на модификацию данных, соответственно.
Тогда среднее время обработки одного запроса в системе равно:
= ⁄
3.2.4.Приоритет узлов сети, генерирующих запросы к массивам данных и их репликам
В предлагаемой модели используется |
параметр |
|
|
= |
||||||
|
|
|
|
|
|
|
|
|
|
|
( , |
|
) - «приоритет» узла сети , в котором генерируются |
||||||||
|
|
|
|
|
|
|
|
|
|
|
запросы к массиву данных . |
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
Значение приоритета |
( , |
|
) |
равно |
количеству |
всех |
||||
|
|
|
|
|
|
|
|
|
|
|
запросов, |
генерируемых в |
узле |
к |
данным массива |
|
|
за |
|||
|
|
|
|
|
|
|
|
|
|
единичный интервал времени. При этом не важно, где, в каком узле сети размещен массив данных или его реплика.
= ∑ ( , ) [( ( , ) + ( , )]
=1
38