TechReport.dot - Л.Б. Соколинский

advertisement
© ЮУрГУ, 2005. Кафедра системного программирования
Дата последнего изменения: 28 апреля 2016 г.
Стратегия размещения данных
в многопроцессорных системах
с симметричной иерархической архитектурой*
Технический отчет OMEGA13
А.В. Лепихов, Л.Б. Соколинский
В работе предлагается новый подход к размещению данных и балансировке загрузки в многопроцессорных системах реляционных баз данных с иерархической архитектурой. В основе описываемой стратегии лежит модель симметричной многопроцессорной иерархической системы. Стратегия предполагает использование горизонтальной фрагментации отношений и частичного зеркалирования дисков по узлам и
уровням многопроцессорной иерархии. При этом каждый фрагмент на логическом
уровне разбивается на равномощные сегменты, являющиеся наименьшей единицей
репликации данных и балансировки загрузки. Размер реплицируемой части фрагмента на каждом узле задается коэффициентом репликации. Предлагаемые методы
размещения данных ориентированы на использование в кластерах и Grid системах.
1. Ведение
В настоящее время все большее распространение получают иерархические архитектуры параллельных систем баз данных [1]. Это связано с тем, что современные многопроцессорные системы в большинстве случаев организуются по иерархическому принципу. Действительно, большая часть суперкомпьютеров сегодня имеют двухуровневую
кластерную архитектуру. В соответствии с данной архитектурой многопроцессорная
система строится как набор однородных вычислительных модулей, соединенных высокоскоростной сетью. При этом каждый вычислительный модуль является в свою очередь многопроцессорной системой с разделяемой памятью. Если в системе используются еще и многоядерные процессоры, то мы получаем третий уровень иерархии.
Другим источником многопроцессорных иерархий являются Grid-технологии [2], позволяющие объединять несколько различных суперкомпьютеров в единую
вычислительную систему. Подобная Grid-система будет иметь многоуровневую иерархическую структуру. На нижних уровнях иерархии располагаются процессоры отдельных кластерных систем, соединенные высокоскоростной внутренней сетью. На верхних
уровнях располагаются вычислительные системы, объединенные корпоративной сетью.
Высший уровень иерархии может представлять сеть Интернет.
Проблеме распределения данных и связанной с ней проблеме балансировки загрузки в параллельных системах баз данных без совместного использования ресурсов
посвящено большое количество работ (см., например, [3,4,5,6]), однако данная пробле-
Работа выполнена при финансовой поддержке Российского фонда фундаментальных исследований
(проект 06-07-89148).
*
2
матика в контексте иерархических многопроцессорных систем до настоящего времени
практически не исследовалась.
Отчет организован следующим образом. В разделе 2 вводится формальное определение симметричной многопроцессорной иерархии. Раздел 3 посвящен описанию
механизма фрагментации и балансировки загрузки, основанному на введении понятия
сегмента. В разделе 4 описывается механизм репликации данных на основе сегментов.
Вводится понятие коэффициента репликации. В пункте 4.2 описывается метод частичного зеркалирования, использующий функцию репликации, сопоставляющую каждому
уровню иерархии определенный коэффициент репликации. Доказываются теоремы,
дающие оценки для суммарного размера реплик. Пункт 4.3 посвящен проблеме выбора
функции репликации. Вводиться понятие регулярной иерархии. Доказываются теоремы, дающие оценки для трудоемкости формирования реплик при отсутствии помех. В
разделе 5 суммируются полученные результаты и обсуждаются направления дальнейших исследований.
2. Симметричные иерархии
Иерархические многопроцессорные конфигурации характеризуются большим многообразием архитектур [1]. Архитектура многопроцессорной системы зачастую является
определяющим фактором при разработке стратегии размещения данных. В этом разделе мы построим модель иерархической многопроцессорной системы баз данных, которую мы назвали симметричной. Симметричная модель описывает достаточно широкий
класс реальных систем и является математическим фундаментом для определения стратегии распределения данных, предлагаемой в настоящей работе.
В основе симметричной модели лежит понятие DM-дерева, введенное в работе [7]. DM-дерево является ориентированным деревом, представляющим собой абстракцию иерархической многопроцессорной системы баз данных.
Для произвольного DM–дерева Т мы будем обозначать множество всех его узлов
как M (T ) , множество всех дуг как E (T ) . Множество узлов (модулей) M (T ) любого
DM-дерева T делиться на три непересекающихся подмножества, называемые классами:
P (T ) - класс «процессорные модули»;
D (T ) - класс «дисковые модули»;
N (T ) - класс «модули сетевых концентраторов».
С каждым узлом v M (T ) в DM-дереве T связывается коэффициент трудоемкости  (v ) , являющийся вещественным числом, большим либо равным единицы. Коэффициент трудоемкости определяет время, необходимое узлу для обработки некото-
3
рой порции данных. В качестве такой порции данных может фигурировать, например,
кортеж.
Дадим определение изоморфизма двух DM-деревьев.
DM-деревья A и B называются изоморфными, если существуют взаимно однозначное отображение f множества M ( A) на множество M ( B ) и взаимно однозначное отображение g множества E ( A) на множество E ( B ) такие, что:
1. 1) узел v является конечным узлом дуги e в дереве A тогда и только тогда, когда
узел f(v ) является конечным узлом дуги g(e) в дереве B ;
2. 2) узел w является начальным узлом дуги e в дереве A тогда и только тогда, когда узел f( w) является начальным узлом дуги g(e) в дереве B ;
3. 3) p  P ( A)  f( p)  P ( B) ;
4. 4) d  D ( A)  f(d )  D ( B) ;
5. 5) n  N ( A)  f(n)  N ( B) ;
6. 6)  (f(v))  f( (v)) .
Упорядоченную пару отображений q  (f, g) будем называть изоморфизмом
DM-дерева A на DM-дерево B .
n1A
n2B
e1A
e2B
n2A
n1B
e2A
e1B
n3A
e3A
n3B
e4A
p1A
d1A
A
e3B
e4B
p1B
d1B
B
Рис. 1. Два DM-дерева, не являющиеся
изоморфными по условию 2.
Заметим, что условие 2 из определения изоморфизма не является избыточным.
Это подтверждается примером, изображенным на Рис. 1. Действительно, используя
нумерацию узлов и дуг, указанную на Рис. 1, определим отображения f и g следующим
образом:
4
f(niA )  niB , f( piA )  piB , f(diA )  diB ,
g(eiA )  eiB .
Очевидно, что отображения f и g удовлетворяют всем требованиям изоморфизма, кроме условия 2 (мы полагаем коэффициент трудоемкости для всех узлов равным 1). Однако мы не можем признать q  (f, g) изоморфизмом DM-дерева A на DM-дерево B ,
так как здесь нарушается отношение подчиненности узлов (узел w является подчиненным по отношению к узлу v, если существует дуга, направленная от w к v). Действительно, в DM-дереве A узел n2A подчинен узлу n1A , а в DM-дереве B узел f(n2A )  n2B
имеет в подчинении узел f(n1A )  n1B .
Определим уровень узла по отношению к дереву T рекурсивно следующим образом [8]. Уровень корня дерева T равен нулю, а уровень любого другого узла не единицу
больше, чем уровень корня минимального поддерева дерева T, содержащего данный
узел.
Под уровнем поддерева дерева T мы будем понимать уровень корня этого поддерева в дереве T.
Два поддерева одного уровня называются смежными, если их корни являются
братьями, то есть в дереве существует узел, являющийся общим родителем по отношению к корневым узлам данных поддеревьев.
Определим высоту ориентированного дерева T как максимальную длину пути в
этом дереве.
Мы будем называть DM-дерево T высоты H симметричным, если выполняются
следующие условия
7. 1) любые два смежных поддерева уровня l  H являются изоморфными;
8. 2) любое поддерево уровня H  1 содержит в точности один диск и один процессор.
Условие 2) в определении симметричности представляет собой абстрактную модель SMP-системы в том смысле, что в контексте многопроцессорных иерархий все
процессоры SMP-системы могут рассматриваться как один «мегапроцессор», а все диски - как один «мегадиск». Очевидно, что балансировка загрузки на уровне
SMP-системы
должна
решаться
принципиально
другими
методами,
так
как
SMP-система имеет общую память и все диски в равной мере доступны всем процессорам (см. по этому вопросу работы [9, 10]).
5
Определим степень узла как количество дуг, входящих в этот узел. В симметричном дереве все узлы одного уровня имеют одинаковую степень, называемую степенью данного уровня.
3. Фрагментация и сегментация данных
Каждое отношение разбивается на непересекающиеся горизонтальные фрагменты [6],
которые размещаются на различных дисковых модулях. При этом мы предполагаем,
что кортежи фрагмента некоторым образом упорядочены, что этот порядок фиксирован
для каждого запроса и определяет последовательность считывания кортежей в операции сканирования фрагмента. Мы будем называть этот порядок естественным. На
практике естественный порядок может определяться физическим порядком следования
кортежей или индексом.
Каждый фрагмент на логическом уровне разбивается на последовательность
сегментов фиксированной длины. Длина сегмента измеряется в кортежах и является
атрибутом фрагмента. Разбиение на сегменты выполняется в соответствии с естественным порядком и всегда начинается с первого кортежа. В соответствии с этим последний сегмент фрагмента может оказаться неполным.
Количество сегментов фрагмента F обозначается как S( F ) и может быть вычислено по формуле
 T( F ) 
S( F )  
.
 L( F ) 
(1)
Здесь T( F ) обозначает количество кортежей во фрагменте F, L( F ) - длину сегмента
для фрагмента F.
4. Репликация данных
4.1. Алгоритм построения реплики
Пусть фрагмент F0 располагается на дисковом модуле d0  D (T ) многопроцессорной иерархической системы Т. Мы полагаем, что на каждом дисковом модуле
di  D (T ) (i  0) располагается частичная реплика Fi , включающая в себя некоторое
подмножество (возможно пустое) кортежей фрагмента F.
Наименьшей единицей репликации данных является сегмент. Длина сегмента
реплики всегда совпадает с длиной сегмента реплицируемого фрагмента:
L( Fi )  L( F0 ), di D (T ) .
Размер реплики Fi задается коэффициентом репликации
6
 ( Fi )  , 0   ( Fi )  1 ,
являющимся атрибутом реплики Fi , и вычисляется по следующей формуле
T( Fi )  T( F0 )  1   ( Fi )   S( F0 )   L( F0 ) .
(2)
Естественный порядок кортежей реплики Fi определяется естественным порядком кортежей фрагмента F0 . При этом номер первого кортежа реплики Fi вычисляется по формуле
N( Fi )  T( F )  T( Fi )  1 .
Для пустой реплики Fi будем иметь N( Fi )  T( F0 )  1 , что соответствует признаку «конец файла».
Описанный механизм репликации данных позволяет использовать в многопроцессорных иерархиях простой и эффективный метод балансировки загрузки. Описание
этого метода выходит за рамки настоящего отчета, однако некоторую его упрощенную
версию можно найти в работе [11].
4.2. Метод частичного зеркалирования
Пусть задано симметричное DM-дерево T высоты H  h(T )  1 . Пусть задана функция
репликации r (l ) , сопоставляющую каждому уровню l  H дерева T коэффициент репликации l  r (l ) .
Мы полагаем, что r ( H  1)  1. Это мотивируется тем, что уровень иерархии
H  1 включает в себя поддеревья высоты 1, которым соответствуют SMP-системы. В
SMP-системе все диски в равной мере доступны любому процессору, поэтому нет
необходимости в физической репликации данных. На логическом уровне балансировка
загрузки осуществляется путем сегментирования исходного фрагмента, то есть сам
фрагмент играет роль своей реплики.
Определим функцию репликации r (l ) для значений l  H  2
Пусть фрагмент F0 располагается на диске d0  D (T ) . Мы будем использовать
следующий метод для построения реплики Fi на диске di  D (T ) (i  0) , называемый
методом частичного зеркалирования. Построим последовательность поддеревьев дерева T
{M 0 , M1 ,
обладающую следующими свойствами:
, M H 2 } ,
(3)
7
l ( M j )  j

d 0  D ( M j )
для всех 0  j  H  2 . Здесь l ( M j ) обозначает уровень поддерева M j . Очевидно, что
для любого симметричного дерева T существует только одна такая последовательность.
Найдем наибольший индекс j  1 такой, что
{d 0 , di }  D ( M j ) .
Мы полагаем
 ( Fi )  r ( j ) .
(4)
Для формирования реплики Fi на диске d i мы используем алгоритм, описанный
в пункте 4.1 с коэффициентом репликации, определяемым по формуле (4).
Следующая теорема дает оценку для размера реплики.
Теорема 1. Пусть T - симметричное DM-дерево высоты H  h(T )  0 . Пусть
фрагмент F0 располагается на диске d0  D (T ) . Пусть M поддерево дерева T такое, что
1  l ( M )  H  1 и d0 D ( M ) . Пусть M  - произвольное смежное с M поддерево дерева
T. Тогда для любого di  D ( M ) справедлива следующая оценка для размера реплики
Fi фрагмента F0 , размещенной на диске d i :
T( Fi )  r  l (M ) 1 T( F0 )    L( F0 )  ,
где L( F0 ) - длина сегмента для фрагмента F0
Д о к а з а т е л ь с т в о . В соответствии с формулой (2) имеем
T( Fi )  T( F0 )  1   ( Fi )   S( F0 )   L( F0 )
Отсюда получаем
T( Fi )  T( F0 )  1   ( Fi )   S( F0 )  L( F0 )    L( F0 )  .
(5)
Так как d0 D ( M ) , di  D ( M ) и поддеревья M и M  являются смежными, то
минимальное поддерево M̂ , содержащее диски d 0 и d i будет иметь уровень
l ( Mˆ )  l ( M )  1 . Тогда в соответствии с (4) получаем  ( Fi )  r (l ( M )  1) . Подставив это
значение в (5), будем иметь
T( Fi )  T( F0 )  1  r  l (M ) 1   S( F0 )  L( F0 )    L( F0 )  .
Подставив вместо S( F0 ) значение из (1), получим
8
 T( F0 ) 
T( Fi )  T( F0 )  1  r  l ( M )  1   
  L( F0 )    L( F0 ) 
 L( F0 ) 
T( F0 )
 T( F0 )  1  r  l ( M )  1  
 L( F0 )    L( F0 ) 
L( F0 )
 T( F0 )  1  r  l ( M )  1  T( F0 )    L( F0 ) 
 r  l ( M )  1 T( F0 )    L( F0 ) 
Теорема доказана.
Оценка суммарного размера всех реплик фрагмента может быть получена с помощью следующей теоремы.
Теорема 2. Пусть T - симметричное DM-дерево высоты H  2 . Пусть фрагмент
F0 располагается на диске d0  D (T ) . Обозначим степень уровня l дерева T как  l .
D (T )
Обозначим R( F0 ) 
 T( F ) - суммарное количество кортежей во всех репликах фрагi 1
i
мента F0 . Тогда
H 2
H 2
j 0
k  j 1
R( F0 )  T( F0 )  r ( j )( j  1)   k    L( F0 )  .
(6)
Д о к а з а т е л ь с т в о . Доказательство проведем индукцией по высоте H дерева T.
Пусть H  2 . Тогда число дисков в дереве T равно  0 . В соответствии с теоремой 1 каждая реплика будет иметь размер T0 ( F0 )  r (0) T( F0 )    L( F0 )  . Следовательно, суммарное количество кортежей во всех репликах фрагмента F0 имеет следующую
оценку
R( F0 )   T  F0  r  0     L( F0 )     0  1
 T  F0  r  0  0  1    L  F0  
,
(7)
что согласуется с формулой (6) при H  2 .
Пусть H  2 . Тогда дерево T содержит  0 поддеревьев высоты H  1 :
M 0 , M1 ,
, M  0 1 .
Обозначим через R j ( F0 ) суммарное количество кортежей во всех репликах
фрагмента F0 , расположенных на всех дисках поддерева M j . Мы имеем
9
 0 1
R( F0 )   R j ( F0 ) .
(8)
j 0
Без ограничения общности мы можем считать, что d0  D ( M 0 ) . Тогда в силу
симметричности дерева T из (8) получаем
R( F0 )  R 0 ( F0 )  ( 0  1) R1 ( F0 ) .
(9)
В соответствии с теоремой 1 любая реплика Fi , располагающаяся в поддереве
M 1 имеет следующий размер
T( Fi )  r  0 T  F0     L( F0 )  .
(10)
В силу симметричности дерева T, суммарное количество дисков в поддереве M 1
H 2
равно

k 1
k
. Учитывая этот факт, из (10) получаем
H 2
R1 ( F0 )  r  0  T  F0    k    L( F0 )  .
(11)
k 1
С другой стороны, по предположению индукции имеем
H 2
H 2
j 1
k  j 1
R 0 ( F0 )  T( F0 )  r ( j )( j  1)   k    L( F0 )  .
(12)
Подставляя в (9) значения правых частей из (11) и (12), имеем
H 2
H 2
j 1
k  j 1
H 2
R( F0 )  T( F0 )  r ( j )   k  ( 0  1)r  0  T  F0    k    L( F0 ) 
k 1
H 2
H 2
j 0
k  j 1
 T( F0 )  r ( j )( j  1)   k    L( F0 ) 
Теорема доказана.
4.3. Выбор функции репликации
При выборе функции репликации r (l ) целесообразно учитывать коэффициенты трудоемкости узлов DM-дерева. Очевидно, что в симметричном DM-дереве все вершины
уровня l имеют одинаковую трудоемкость  (l ) , которую мы будем называть трудоемкостью уровня l.
Назовем симметричное DM-дерево T регулярным, если для любых двух уровней
l и l  дерева T справедливо
l  l
  (l )   (l ) ,
то есть, чем выше уровень в иерархии, тем больше его трудоемкость.
(13)
10
Следующая теорема позволяет получить оценку трудоемкости покортежного
формирования реплики в регулярном DM-дереве.
Теорема 3. Пусть T - регулярное DM-дерево высоты H  0 . Пусть фрагмент F0
располагается на диске
d0  D (T ) . Пусть M поддерево дерева T такое, что
1  l ( M )  H  2 и d0 D ( M ) . Пусть M  - произвольное смежное с M поддерево дере-
ва T; Fi - реплика фрагмента F0 , размещенная на диске di  D ( M ) . Обозначим  ( Fi ) трудоемкость покортежного формирования реплики Fi при отсутствии помех. Тогда
 ( Fi )    l (M ) 1  r  l (M ) 1 T  F0    0  ,
где 0   (0) - коэффициент трудоемкости корня дерева T.
Д о к а з а т е л ь с т в о . Организуем конвейерную передачу кортежей с диска
d0 D ( M ) на диск di  D ( M ) в соответствии с моделью операционной среды из [7].
Скорость работы конвейера определяется самым медленным узлом. Так как M и M 
являются смежными поддеревьями, их корневые узлы имеют общего родителя уровня
l ( M )  1 , который в соответствии с (13) и будет самым медленным звеном конвейера.
Следовательно, трудоемкость передачи одного кортежа при полностью запущенном
конвейере равна   l (M )  1 . Отсюда
 ( Fi )    l (M ) 1 T( Fi )     l (M ) 1  .
(14)
Здесь    l (M ) 1  обозначает верхнюю границу для времени, необходимого для
полного «разгона» конвейера в предположении, что высота дерева T является константой.
Так как T регулярно, то   l (M )  1  0 . На основании этого из (14) получаем
 ( Fi )    l (M ) 1 T( Fi )   0  .
(15)
По теореме 1 из формулы (15) получаем
 ( Fi )    l (M ) 1  r l (M ) 1 T  F0    0    L( F0 )    0  .
(16)
Мы вправе считать, что длина сегмента не меняется в процессе формирования
реплики, то есть L( F0 ) является константой. Тогда из (16) получаем
 ( Fi )    l ( M )  1  r  l ( M )  1 T  F0    0    0 
   l ( M )  1  r  l ( M )  1 T  F0    0 
Теорема доказана.
11
Оценка трудоемкости покортежного формирования всех реплик фрагмента без
учета помех может быть получена с помощью следующей теоремы.
Теорема 4. Пусть T - регулярное DM-дерево высоты H  2 . Пусть фрагмент F0
располагается на диске d0  D (T ) . Обозначим степень уровня l дерева T как  l . Обозначим  ( F0 ) 
D (T )
 t( F )
i 1
i
- суммарная трудоемкость покортежного формирования всех
реплик фрагмента F0 без учета помех. Тогда
H 2
H 2
j 0
k  j 1
 ( F0 )  T  F0     j  r  j   j  1   k   0  .
(17)
Д о к а з а т е л ь с т в о . Доказательство проведем индукцией по высоте H дерева T.
Пусть H  2 . Тогда число дисков в дереве T равно  0 . В соответствии с теоремой 3 трудоемкость покортежного формирования любой реплики фрагмента F0 в этом
случае имеет следующую оценку:
 ( Fi )    0  r  0 T  F0    0  .
Следовательно, суммарная трудоемкость покортежного формирования всех реплик
фрагмента F0 без учета помех может быть оценена следующим образом:
 ( Fi )    0 r  0 T  F0  0 1   0  ,
что согласуется с формулой (17) при H  2 .
Пусть H  2 . Тогда дерево T содержит  0 поддеревьев высоты H  1 :
M 0 , M1 ,
, M  0 1 .
Обозначим через  j ( F0 ) суммарную трудоемкость формирования без учета помех всех реплик фрагмента F0 , расположенных на всех дисках поддерева M j . Мы имеем
 0 1
 ( F0 )    j ( F0 ) .
(18)
j 0
Без ограничения общности мы можем считать, что d0  D ( M 0 ) . Тогда в силу
симметричности дерева T из (18) получаем
 ( F0 )   0 ( F0 )  ( 0  1)1 ( F0 ) .
(19)
12
В соответствии с теоремой 3 для любой реплики Fi , располагающаяся в поддереве M 1 , имеем
 ( Fi )   (0)r  0 T  F0    0  .
(20)
В силу симметричности дерева T, суммарное количество дисков в поддереве M 1
H 2

равно
k 1
k
. Учитывая этот факт, из (20) получаем
H 2
 1 ( F0 )   (0)r  0  T  F0    k   0  .
(21)
k 1
С другой стороны, по предположению индукции имеем
H 2
H 2
j 1
k  j 1
 0 ( F0 )  T  F0     j  r  j   j  1   k   0  .
(22)
Подставляя в (19) значения правых частей из (21) и (22), имеем
H 2
H 2
H 2
k 1
 ( F0 )  T  F0     j  r  j   j  1   k  ( 0  1) (0)r  0  T  F0    k   0 
j 1
k  j 1
H 2
H 2
j 0
k  j 1
 T  F0     j  r  j   j  1   k   0 
Теорема доказана.
Определим рекурсивно нормальную функцию репликации r (l ) следующим образом:
9. 1) для l  H  2 : r ( H  2) 
10. 2) для 0  l  H  2 : r (l ) 
1
  H  2  H 2  1
r  l  1  l  1 l 1  1
  l  l  1  l 1
Справедлива следующая теорема.
Теорема 5. Пусть T - регулярное DM-дерево высоты H  2 . Пусть F - множество фрагментов, составляющих базу данных. Пусть R - множество всех реплик всех
фрагментов из множества F , построенных с использованием нормальной функции репликации. Пусть T(F) - размер базы данных в кортежах (здесь мы предполагаем, что
все кортежи имеют одинаковую длину в байтах).  (R_) - суммарная трудоемкость покортежного формирования всех реплик без учета помех. Тогда
 (R_)  k T(F) ,
где k - некоторая константа, не зависящая от F .
13
Д о к а з а т е л ь с т в о теоремы непосредственно следует из теоремы 4 и определения нормальной функции репликации.
Данная теорема показывает, что при использовании нормальной функции репликации трудоемкость обновления реплик в регулярной многопроцессорной иерархической системе пропорциональна размеру обновляемой части базы данных при условии, что соединительная сеть обладает достаточной пропускной способностью.
5. Заключение
В отчете введена модель симметричной многопроцессорной иерархической системы.
Эта модель описывает достаточно широкий класс реальных систем и является математическим фундаментом для определения стратегии распределения данных в многопроцессорных иерархиях. Для симметричной иерархии предложен алгоритм формирования
реплик, базирующийся на логическом разбиении фрагмента отношения на сегменты
равной длины. На основе этого алгоритма разработан метод частичного зеркалирования, предполагающий задание функции репликации. Функция репликации отображает
уровень иерархии в коэффициент репликации, который определяет размер реплики по
отношению к реплицируемому фрагменту. Доказаны теоремы, позволяющие получить
оценки для размеров реплик и трудоемкости их формирования без учета помех. Предложен вариант функции репликации, при котором трудоемкость обновления реплик в
многопроцессорной иерархической системе пропорциональна размеру обновляемой
части базы данных при условии, что соединительная сеть обладает достаточной пропускной способностью.
В качестве основных направлений дальнейших исследований можно выделить
следующие. Во-первых, это - аналитическое получение оценок трудоемкости обновления реплик с учетом помех. Во-вторых, мы планируем на баз DM-модели разработать
программу, моделирующую работу иерархической многопроцессорной системы баз
данных, и провести с ее помощью эксперименты по исследованию проблем распределения данных и балансировки загрузки. В-третьих, мы предполагаем реализовать описанные методы и алгоритмы в прототипе параллельной СУБД Омега [12] для кластеров
и Grid-систем.
Литература
1. Соколинский Л.Б. Обзор архитектур параллельных систем баз данных // Программирование. -2004.
-№ 6. С. 49-63.
2. Foster I.T., Grossman R.L. Blueprint for the future of high-performance networking: Data integration in a
bandwidth-rich world // Communications of the ACM. -2003. -Vol. 46, No. 11. -P. 50-57.
14
3. Bitton D., Gray J. Disk Shadowing // Fourteenth International Conference on Very Large Data Bases, August
29 - September 1, 1988, Los Angeles, California, USA, Proceedings. Morgan Kaufmann. -1988. -P. 331-338.
4. Chen S., Towsley D.F. Performance of a Mirrored Disk in a Real-Time Transaction System // 1991 ACM
SIGMETRICS Conference on Measurement and Modeling of Computer Systems, San Diego, California,
USA, May 21-24, 1991, Proceedings. Performance Evaluation Review. -May 1991. -Vol. 19, No. 1. -P. 198207.
5. Mehta M., DeWitt D.J. Data Placement in Shared-Nothing Parallel Database Systems // The VLDB Journal.
-January 1997. -Vol. 6, No. 1. -P. 53-72.
6. Williams M.H., Zhou S. Data Placement in Parallel Database Systems // Parallel database techniques / IEEE
Computer society. -1998. -P. 203-218.
7. Костенецкий П.С., Соколинский Л.Б. Моделирование иерархических архитектур параллельных систем баз данных // Научный сервис в сети Интернет: технологии распределенных вычислений: Труды
Всероссийск. науч. конф. (19-24 сентября 2005 г., г. Новороссийск). -М.: Изд-во МГУ. -2005. -C. 2124.
8. Кнут Д.Э. Искусство программирования, т. 1. Основные алгоритмы, 3-е изд. -М.: Издательский дом
"Вильямс", 2000. -720 с.
9. Lu H., Tan K.-L. Dynamic and Load-balanced Task-Oriented Database Query Processing in Parallel Systems
// Advances in Database Technology - EDBT'92, 3rd Int. Conf. on Extending Database Technology, Vienna,
Austria, March 23-27, 1992, Proceedings. Lect. Not. in Comp. Sc., Vol. 580. Springer. -1992. -P. 357-372.
10. Omiecinski E. Performance Analysis of a Load Balancing Hash-Join Algorithm for a Shared Memory Multiprocessor // 17th International Conference on Very Large Data Bases, September 3-6, 1991, Barcelona, Catalonia, Spain, Proceedings. Morgan Kaufmann. -1991. -P. 375-385.
11. Соколинский Л.Б. Организация параллельного выполнения запросов в многопроцессорной машине
баз данных с иерархической архитектурой // Программирование. -2001. -№6. -C. 13-29.
12. Прототип параллельной СУБД Омега [http://omega.susu.ru/prototype/].
Download