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

УДК 004.65

ОБ ОЦЕНКЕ КОММУНИКАЦИОННЫХ ЗАТРАТ ПРИ ОБРАБОТКЕ ФРАГМЕНТИРОВАННОГО ОТНОШЕНИЯ ДЛЯ РАВНОМЕРНОГО РАСПРЕДЕЛЕНИЯ

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

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

Фрагментный параллелизм (data parallelism) [1] продолжает оставаться основной формой параллелизма в системах баз данных для многопроцессорных платформ с распределенной памятью. Фрагментный параллелизм предполагает разделение каждого отношения на части, называемые фрагментами, каждая из которых располагается на отдельном узле параллельной системы баз данных с архитектурой без совместного использования ресурсов [2]. Для разделения отношения на фрагменты используется функция фрагментации [3], отображающая множество кортежей отношения на множество узлов. Известно, что при использовании фрагментного параллелизма при обработке запросов в общем случае не удается избежать пересылок. При обработке фрагментированного отношения для организации пересылок кортежей используется функция пересылки (распределения) [3], которая для каждого кортежа вычисляет номер узла, на котором он должен быть обработан. Если этот номер не совпадает с номером хранения кортежа, кортеж пересылается.

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

Рассмотрим фрагментированное отношение R. Пусть |R| = m - количество кортежей в R. Пусть отношение R разбито на k фрагментов с помощью функции фрагментации p : R ^ {0,1, 2,...,k — 1}. Тогда фрагмент отношения R, хранящийся на j -том узле

может быть определен следующим образом:

Лемма 1. Пусть на отношении Я задана функция фрагментации р : К ^ {0,1, 2,..., к — 1}. Допустим, что существует взаимно-однозначное отображение 7 : К ^ {0,1, 2,...,т — 1} такое, что

М.В. Губин, Л.Б. Соколинский

Rj = { r | r £ R, p (r) = j}.

Y (r) mod k = p (r), Vr £ R .

Тогда размеры фрагментов R0,..., Rk будут между собой примерно равны, то есть:

I R, I

lim = 1, Vi, j £ {0,1, 2,... ,k—1}.

Доказательство. Определим

Mj = { l | Y-1

тогда

Определим

p

Mj- = { l | p'

Покажем, что

Mj = Mj, Vj = 0,1,..., k—1.

Пусть сначала

l £ Mj.

Тогда из (4) следует y-1 (l) £ Rj. Отсюда, в силу (1) получаем

P(Y-1 (l)) = j.

Используя (2), отсюда, в свою очередь, получаем

y(y-1(1)) mod k = j,

что эквивалентно

Сопоставляя это с (6), находим Учитывая (7), отсюда получаем откуда в силу (8) следует Пусть теперь Учитывая (7), отсюда получаем Сопоставляя это с (6), находим

l mod k = j.

у (l) =j-

l Є Mj,

Mj с Mj.

l Є Mj-.

У (l) = j-l mod k = j,

что эквивалентно

Y (y 1 (l)) mod k = j.

Используя (2), отсюда, в свою очередь, получаем

Р (7-1 (1)) = .?• В силу (1), из последнего равенства следует

7-1 (1) е К3 •

Тогда из (4) следует

Учитывая (10), отсюда получаем откуда в силу (9) следует В сочетании с (5) это дает

l Є Mj.

Mj С Mj,

Mj = Mj.

Rj

, Vj Є {0,1,2,... ,k-1}

Таким образом, утверждение (3) равносильно утверждению

lim

Ш^<Х>

M

M

= 1, Vi, j Є {0,1,2,... ,k-1}.

Докажем это утверждение. В силу (6) и (7) имеем

Mj' = { l | l mod k = j, 0 < l<m} , j = 0, 1, . . . , k—1. Отсюда непосредственно следует1

г m 1

Vj £ {0,1,2,... ,k—1}.

m < Mj < m

Л. j J

Тогда

Имеем

Hi Ш

<

M

M

w

< [mj, Vi,j Є{0,1,2^

,k-1}.

I m І Г ml

lim -M-i = lim -M-J = 1.

гт^1 и

Вместе с (13) это доказывает справедливость утверждения (12), а вместе с ним и утверждения (3).

1 Здесь без ограничения общности мы можем полагать, что ш > к.

Определение 1. Пусть задана функция фрагментации

р : Я(АЬ..Ап) ^ {0,1, 2,... ,к—1}.

Будем говорить, что р функционально зависит от атрибута А^(0 < і < п), если для любых г, Г Є Я таких, что пд (г) = пд (г), имеем р (г) = р (г).

Определение 2. Пусть имеется отношение Я(..., А,...). Пусть Од - множество всех значений атрибута А, присутствующих в Я. Обозначим через Т(Я, А, а) количество кортежей в отношении Я, у которых атрибут А принимает значение а. Будем говорить, что значения атрибута А 'равномерно распределены в Я, если для любых а, а Є Од имеем

Т

Лемма 2. Пусть значения атрибута А равномерно распределены в Я(..., А,...), т = |Я| кратно V(Я, А)2, а V(Я, А) кратно к > 0. Тогда существует функционально зависящая от А функция фрагментации р, которая обеспечивает равномерное распределение кортежей по фрагментам:

ііш 1^4 = 1, ^і,І Є {0,1, 2,... ,к—1}.

Доказательство. Выполним сортировку кортежей Я в порядке возрастания значений атрибута А:

Я = {Г0,Гі,...,Гт-і},

где пд(гі) < пд(гі+1) для всех і = 0,..., т—2.

Здесь пд(г) обозначает значение атрибута А в кортеже г. Обозначим через п(г) порядковый номер кортежа г в последовательности (16). По определению 2, для любых С, С Є Од имеем:

Т

Положим,

с = т.

Так как по условию леммы т кратно к, то с Є N. Определим на множестве целых неотрицательных чисел функцию

7 (і) =

Положим,

+

7

Покажем, что 7 является взаимно-однозначным отображением множества кортежей отношения Я в множество {0, • • • ,т—1}. Так как п является взаимно-однозначным отображением множества кортежей отношения Я в множество {0, • • • ,т—1}, нам достаточно показать, что

2Под V (К, А) понимается количество различных значений в пределах столбца-атрибута А отношения К. 36 Вестник ЮУрГУ. Серия «Вычислительная математика и информатика»

ограничение 7 на множество {0, • • • ,т—1} является взаимно-однозначным отображением множества {0, • • • ,т—1} в себя. Сначала покажем, что

0 < y (i) < m — 1, Vi Є {0,... ,m-1} .

Из (19) непосредственно следует Далее имеем

min y (i) = 0.

0<i<m

max (y(i)) = max li/cl +max((n (r)mod c) k) 0<i<m reR reR

- max n

c reR

+ k max

reR

-

k

— (m — 1) m

m

+ k(* — 1

+ k (c — 1) =

+ m — k = k — 1 + m — k = m — 1

k — — m

Таким образом, (21) имеет место.

Теперь для доказательства биективности отображения Y достаточно доказать, что существует обратная функция Y-1, определенная на множестве неотрицательных чисел такая, что

Y-1

Положим, Y-1 (j) = k + (j mod k) c. Тогда

Y

Y 1 (Y (i)) =

В силу (19) отсюда получаем

l_cH + (i mod c) k

+ (y (i) mod k) c.

Y 1 (Y (i)) = Перегруппировав, получим

Y-1 (Y(i)) =

Из (18) следует

k

+(

+ (i mod c) k) mod k c.

ш

+

( i

+ —

V c

mod k c

i ik

c m

Поскольку 0 < i < m, отсюда получаем

< k,

откуда, в свою очередь, следует

1-І

0 < -^ < 1. k

k

В силу этого (23) равносильно

Y-1 (Y (i)) = (i m°d c) + По определению операции mod

x mod y = x —

mod k c.

Используя эту формулу, мы можем преобразовать (25) к виду

Y 1 (Y (i)) = i —

i ( i ш k

c c+ c

k c.

В силу (24) имеем

ш

k

Учитывая этот факт, (26) эквивалентно

Y-1 (Y (i)) = i —

i i

i— — c+ —

c c

то есть

Y 1 (Y(i)) = i.

Следовательно, обратная функция для Y существует, то есть Y биективно. С учетом (21) отсюда получаем, что ограничение Y на множество {0,... ,m—1} является взаимнооднозначным отображением множества {0,... ,m—1} в себя. А это означает, что y является взаимно-однозначным отображением множества кортежей отношения R в множество {0,... ,m—1}.

Определим

Р

Покажем, что р функционально зависит от A, то есть, если па (r) = па (г), то

р (r) = р (Г) Vr, г G R. Пусть

па

По условию леммы V(R, A) кратно к, то есть существует v G N такой, что

v = V (R, A) /k.

Сначала разобьем последовательность (16) на подпоследовательности

Go = |гсъ ..., r^ m ) 1 j , ..., GV(R,A)-1

обладающие свойствами:

Г

1) па (r) = па (Г) Vr, г Є

2) па (r) = па (г) Vr Є Gb Г Є Gz;

3) |G = V(m,A);

У

0

для любого и целого I е [0, V(Я, А) —1].

Затем разобьем последовательность (16) на следующие подпоследовательности:

^0 = |Го, • • обладающие свойствами:

Г (V (Д,Л)-1)"и-т . V (Я,Л) '

I гт— 1

1) V е [0, V(Я, А)—1] 3 и е [0, к—1] : ф С

Отметим, что свойство (33) обеспечивается условием (29). Подставляя вместо V правую часть равенства (29) преобразуем (32) к виду:

' '

^0 = |^ • • • , г(т)-:1} , • • • , Фк-1 = |г(V(д,л)-1)-т , • • • , Гт-1

Более кратко это можно записать следующим образом:

= |гтм • • • , гт(ад+1)-^ , и е [0, к —1]

Выберем г, Г е Я такие, что па (г) = па (Г). Тогда, в силу (31) имеем г, г е для некоторого I е [0, V(Я, А) — 1]. По свойству (33), отсюда следует, что г, Г е для некоторого и е [0, к—1]. Положим

г = п

тогда в силу (35) имеем

г, j е

т т , и¥; ¥(и+1)—1

Отсюда следует

j

т/к’ т/к

е

и; и + 1 —

1

т/к

, 0 < и < к

, 0 < и < к

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

1

г j е

т/к , т/к

и; и + 1 —

т/к

0 < и < к

Поскольку 0 < т/к < 1, то отсюда, в свою очередь, получаем

е [и; и], 0 < и < к,

г .7

т/к , т/к

а это означает, что

г j

т/к т/к

= и, 0 < и < к

В силу (27) имеем Учитывая (20), это эквивалентно

Р (г) = 7 (г) тоё к Р (г) = 7 (п(г)) тоё к

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

Р (r) = Y (i) m°d k. Учитывая (19) и (18), отсюда получаем

Р (r) =

m/k

+ ^i mod mm) k^ mod k.

Второе слагаемое кратно к и по модулю к, поэтому оно будет равно нулю. Следовательно

Р (r) =

m/k

mod k.

Аналогичным образом получаем

m/k

mod k.

С учетом (38), из (39) и (40) следует р (г) = р (г), то есть р функционально зависит от А.

Остается заметить, что функции р и 7 удовлетворяют условиям леммы 1, из которой следует, что

iim --------

m^x R

= 1, Vi, j є {0,1,2,... ,k—1}.

Определение 3. Пусть имеется отношение Я(А, В,...). Пусть О а = (ао, ..., ау(д,А)-1| - множество всех значений атрибута А, присутствующих в Я. Обозначим Я^ = ста=«„(Я), и € (0, ..., V(Я, А)-1}. Пусть Од = (Ь0, • • •, Ьу(д,в)-1| - множество всех значений атрибута В, присутствующих в Я. Будем говорить, что значения атрибута В распределены равномерно относительно атрибута А, если для любого Ь € Од имеем

Т

Теорема. Пусть имеется отношение Я(А, В,...), в котором значения атрибута А распределены равномерно, а значения атрибута В, в свою очередь, распределены равномерно относительно атрибута А. Положим т = |Я|. Пусть т кратно V(Я, А), а V(Я, А) кратно к, где к - количество фрагментов, на которое необходимо разбить Я (к > 0). Тогда существует функция фрагментации р, функционально зависящая от атрибута А, такая, что для любой функции пересылки 0, функционально зависящей от атрибута В, количество пересылаемых кортежей равно (1 — 1/к)т.

Доказательство. Выберем в качестве функции фрагментации р такую функцию, функционально зависящую от атрибута А, которая обеспечивает равномерное распределение кортежей по фрагментам. Такая функция существует в силу леммы 2. Обозначим через Я, ']-тый фрагмент отношения Я:

Я, = (г | г € Я, р (г) = ] } .

Пусть О а = (ао, ..., ау(я,а)_ 1} - множество всех значений атрибута А, присутствующих в Я. Обозначим Я^ = ^а=«„(Я), и = 0, ..., V(Я, А) — 1. Так как по условию теоремы значения атрибута А распределены равномерно в Я, имеем

Поскольку функция фрагментации р функционально зависит от А, то

Уи € (0, ..., V (Я, А) —1} 3; € (0, ..., к—1} : ЯА С Я,.

В силу того, что р обеспечивает равномерное распределение кортежей по фрагментам, отсюда следует, что мы можем перенумеровать элементы множества {Я^ | и = 0, ..., V(Я, А) — 1} таким образом, что

та (,.+1)_1

Я, = и ЯА

и= та,

Причем

V и = V : Я^ П Я^ = 0,

V ; €

Так как по условию теоремы значения атрибута В распределены равномерно относительно атрибута А, то из (41) непосредственно следует, что

|^в=ь (ЯА)| = |стБ=ь (Я^)| = ... = стБ=ь (яА(Д)А)_^ (УЬ € Од).

Отсюда и из (43)-(45) получаем

кв=Ь

Пусть Од = (Ьо, ..., Ьу(в,в)—1} - множество всех значений атрибута В, присутствующих в Я. Так как по условию теоремы функция пересылки 0 функционально зависит от атрибута В, то существует функция 0 : Од ^ (0,..., к — 1} такая, что

Уг € Я : 0

Обозначим Яд = стд=Ьи (Я), V = 0, ..., V(Я, В) — 1. Имеем

Я = и Яд,

0<^<У

причем

Vv = V: Яд П Яд = 0.

Имеем

Уг € Яд: 0 (г) = 0 (Ь^).

Это означает, что кортежи множества стд=ь„ ^Я^(ь ^ пересылаться не будут. Учитывая (46), заключаем, что из множества Яд пересылке не подвергнутся в точности |стд=ь„ (Яо)| кортежей. Используя (48) и (49), отсюда получаем, что количество кортежей из Я, которые не подвергнутся пересылке, равно

у (Я.д)—1

^=о

В силу того, что р обеспечивает равномерное распределение кортежей по фрагментам, имеем |Яо| = тт. Отсюда следует, что количество пересылаемых кортежей равно

Работа выполнена при поддержке гранта РФФИ №12-07-00443-а.

Литература

1. Rahm, E. Parallel Query Processing in Shared Disk Database Systems / Rahm E. // ACM SIG-MOD Record. - 1993. - Vol. 22, No. 4. - P. 32-37.

2. Соколинский, Л.Б. Обзор архитектур параллельных систем баз данных / Соколин-ский Л.Б. // Программирование. - 2004. - No. 6. - С. 49-63.

3. Лепихов, А.В. Обработка запросов в СУБД для кластерных систем / Лепихов А.В., Соколинский Л.Б. // Программирование. - 2010. - No 4. - С. 25-39.

4. Hasan, W. Coloring Away Communication in Parallel Query Optimization / Hasan W., Motwani R. // VLDB’95, Proceedings of 21st International Conference on Very Large Data Bases, September 11-15, 1995, Zurich, Switzerland. - Morgan Kaufmann, 1995. - P. 239-250.

Максим Владимирович Губин, кафедра технологии машиностроения, станков и инструментов, Южно-Уральский государственный университет (г. Златоуст, Российская Федерация), paragun@yandex.ru.

Леонид Борисович Соколинский, доктор физико-математических наук, профессор, кафедра системного программирования, Южно-Уральский государственный университет (г. Челябинск, Российская Федерация), sokolinsky@acm.org.

ABOUT COMMUNICATION COST ESTIMATION FOR PROCESSING OF PARTITIONED RELATION WITH UNIFORM DISTRIBUTION

M.V. Gubin, South Ural State University (Zlatoust, Russian Federation),

L.B. Sokolinky, South Ural State University

Query processing in the shared-nothing parallel database systems demands a data exchange between processor nodes. In the paper, we present a theorem, which gives estimation for the amount of tuples which have to be transferred during processing partitioned relation. We consider the case when the transfer function is functionally dependent on an attribute, which is uniformly distributed relative to the partitioning attribute.

Keywords: parallel database system, shared-nothing architecture, partitioning parallelism, communication overhead.

References

1. Rahm E. Parallel Query Processing in Shared Disk Database Systems. ACM SIG-MOD Record. 1993. Vol. 22, No. 4. P. 32-37.

2. Sokolinky L.B. Survey of Architectures of Parallel Database Systems. Programming and Computer Software. 2004. Vol. 30, No. 6. P. 337-346.

3. Lepikhov A.V., Sokolinky L.B. Query Processing in a DBMS for Cluster Systems. Programming and Computer Software. 2010. Vol. 36, No. 4. P. 205-215.

4. Hasan W., Motwani R. Coloring Away Communication in Parallel Query Optimization. VLDB’95, Proceedings of 21st International Conference on Very Large Data Bases, September 11-15, 1995, Zurich, Switzerland. Morgan Kaufmann. 1995. P. 239-250.

Поступила в редакцию 18 июля 2012 г.