Научная статья на тему 'ОБОСНОВАНИЕ КВАЗИОПТИМАЛЬНОГО ПОРЯДКА РАСПРЕДЕЛЕНИЯ ЭЛЕМЕНТАРНЫХ ЗАПРОСОВ В МНОГОПРОЦЕССОРНОЙ БАЗЕ ДАННЫХ'

ОБОСНОВАНИЕ КВАЗИОПТИМАЛЬНОГО ПОРЯДКА РАСПРЕДЕЛЕНИЯ ЭЛЕМЕНТАРНЫХ ЗАПРОСОВ В МНОГОПРОЦЕССОРНОЙ БАЗЕ ДАННЫХ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
7
4
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
БАЗЫ ДАННЫХ / МНОГОПРОЦЕССОРНАЯ ВС / ЗАПРОСЫ / ЭЛЕМЕНТАРНЫЕ ЗАПРОСЫ / ОПТИМИЗАЦИЯ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Брехов Олег Михайлович, Тан Хлаинг Мьинт

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

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

Текст научной работы на тему «ОБОСНОВАНИЕ КВАЗИОПТИМАЛЬНОГО ПОРЯДКА РАСПРЕДЕЛЕНИЯ ЭЛЕМЕНТАРНЫХ ЗАПРОСОВ В МНОГОПРОЦЕССОРНОЙ БАЗЕ ДАННЫХ»

Электронный журнал «Труды МАИ». Выпуск №73

www.mai.ru/science/trudv/

УДК 004.657

Обоснование квазиоптимального порядка распределения элементарных запросов в многопроцессорной базе данных

Брехов О.М.1*, Тан Хлаинг Мьинт2**

1Московский авиационный институт (национальный исследовательский университет), МАИ, Волоколамское шоссе, 4, Москва, А-80, ГСП-3, 125993,

Россия

Академия обороны, Пьи У Лин, Республика Союза Мьянма *e-mail: obrekhov@mail.ru **e-mail: hlaing82@gmail.com

Аннотация

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

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

Ключевые слова: базы данных, многопроцессорная ВС, запросы, элементарные запросы, оптимизация.

1. Введение

В работе [3] предложены два плана оптимизации по времени выполнения запросов при обращении к многопроцессорной базе данных на

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

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

2. Распределение номеров элементарных запросов по процессорам

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

Можно воспользоваться естественным распределением элементарных запросов по процессорам в соответствии с правилом, показанным в таблице 1, где в /-ой строке таблицы указаны номера элементарных запросов выполняемых /-м процессором в порядке слева направо, при этом мы используем (для простоты изложения) в качестве значения числа элементарных запросов к целое четное число, и число процессоров г отвечает условию [к/г]г = к. В этом случае / -ый (/ =1,...,г) процессор

получает элементарные запросы с номерами /, г +/, 2 г + /, 3г +/, 4г + /, 5 г +/, 6г + /, ...

Таблица 1. Распределение номеров элементарных запросов по процессорам

Номера процессоров Номера элементарных запросов

1 1 г+1 2г+1 3г+1 к-г+1

2 2 г+2 2г+2 3г+2 к+1

3 3 г+3 2г+3 3г+3

/ / г+1 2г+ / 3г+ / к+ /

г г 2г 3г 4г к

В работе [3] предложен квазиоптимальный метод оптимизации, когда распределение элементарных запросов по процессорам осуществляется в соответствии с правилом, показанным в таблице 2, где в /-ой строке таблицы указаны номера элементарных запросов выполняемых /-м процессором в порядке слева направо, при этом мы используем (для простоты изложения) в качестве значения числа элементарных запросов к целое четное число, и число процессоров г отвечает условию [к/г]г = к. В этом случае / -ый (/ =1,...,г) процессор получает элементарные запросы с номерами /, 2г +1 - /, 2г + /, 4г +1 - /, 4г + /, 6г +1 - /, 6г + /, .

Таблица 2. Квазиоптимальное распределение элементарных запросов по процессорам

Номера процессоров Номера элементарных запросов

1 1 2г 2г+1 4г к

2 2 2г-1 2г+2 4г-1 к-1

3 3 2г-2 2г+3 4г-2 к-2

i i 2г- 7+1 2г+ 1 4г- 7+1 к- 7+1

г -1 г-1 г+2 3г-1 3г+2 к-г+2

г г г+1 3г 3г+1 к-г+1

3. Обоснование квазиоптимального порядка распределения

Для оценки влияния изменения числа процессоров на изменение времени выполнения запроса рассмотрим два закона задания функций изменения параметров времени (геометрической прогрессии и

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

Пусть запрос образуют конъюнкции к элементарных запросов:

1. С изменением параметра времени по закону геометрической прогрессии т^ = а1-1, и с постоянным значением параметра вероятности = р, I Е 1, к..

2. С изменением параметра времени по закону арифметической прогрессии т1 = 1+(/-1)Д, и с постоянным значением параметра вероятности р1 = р, £ £ 1 ,к.

Для простоты формирования подмножеств элементарных запросов для г процессоров положим, что число процессоров г отвечает условию [к/г]г = к.

3.1. Естественный порядок распределения. Арифметическая

прогрессия

Пусть число процессоров вычислительной системы равно г, время выполнения элементарного запроса подчиняется закону арифметической

прогрессии

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

равно:

1=1 ,т.

В самом деле, в соответствии с теоремой 1 [1] имеем:

=(

=1 (1+а-1)л)^+трА

Другой вид представления выражения для

=((1+(1-

1)

или

ТгЛлв= ((1+(1-1)

к

Д) + (1 + (г+ 1- 1)Д)р) * (1 + р1 + р4 + - +РГ 2 + 2гр2А(1 + р)(1 +

к

2р2 + Зр4 + 4р6 + ■■■ + 1)рг~4

или

1 г,1,а,в

=((1+(1-

к рг

1)Д+ (1 + (г + £ - 1)Л)р)—+ 2тАр2 (1 + р)

„ к —— 2 /7г 1— рг +г

2 Г

(г,-о

рг

1-р'

(1-р2)2

3.2. Квазиоптимальный порядок распределения. Арифметическая

прогрессия

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

Время выполнения на ¡-м процессоре к/т элементарных запросов из общего числа к элементарных запросов при квазиоптимальном порядке их распределения по процессорам, когда данные в столбцах неупорядочены, равно (для простоты записей будем считать, что к/т есть целое четное число):

1 = 1,г.

В самом деле, в соответствии с теоремой 1 [1] имеем:

или

=

+ 1} Д)^1 + р + р2 + -■ + 2гкр2 + 2р2 4- Зр4 + 4рб +

■■■ + рг~4) + р( 1 + (2г - ОА) +р + р2 + -■■ + + 2гДр3 (1 + 2р2 + Зр4 + 4р6 + ■■■+(-- 1)рг~4))п

или

г, 1,а,о

,

3.2.2. Соотношения времени выполнения на 1-м и / -м

процессорах

Для естественного порядка распределения элементарных запросов непосредственно из первого выражения для ТгЛ в имеем неравенства:

Для квазиоптимального порядка распределения элементарных

запросов так же выполняются аналогичные неравенства:

В самом деле, непосредственно из выражения для ТгЛл0 и Тт }а й имеем

или р < 1,

что справедливо всегда при любых /</.

Максимальный разброс времени выполнения обработки запросов на г

процессорах составляет:

при естественном порядке

при квазиоптимальном порядке

(г-1)Д(1-р)^ т. 1 —

Имея в виду, что

так как выполняется неравенство

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

и так же

так как выполняется неравенство

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

Абсолютное уменьшение границ времени выполнения запросов при использовании оптимального распределения вместо естественного

распределения равно:

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

что при р > 0,25 составляет больше или равно 40 % и при р > 0,5 составляет > 67%.

3.2.3. Эффективность квазиоптимального распределения

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

Время выполнения на 1-м процессоре к/г элементарных запросов из общего числа к элементарных запросов при квазиоптимальном порядке их распределения по процессорам, когда данные в столбцах неупорядочены, равно (здесь, как и ранее, к/г есть целое четное число)

Максимальное время завершения обработки к/г элементарных запросов на всех процессорах в частных случаях равно:

Полученные результаты характеризуют эффективность

- для г = 1

для т = -

4

для т = -2

для т = к

Приведем ряд численных результатов для этих формул, см. таблицу 3:

Таблица 3 Численные результаты

№ Процессора К= =8

4-0.4 Л-0.5

Р=0.5 Р=0.6 Р=0.7 Р=0.5 Р=0.65 Р=0.7

г=1 2.7641 ?! 3.7984 ?! 5.4580 ?! 2.9570 ?! 4.9705 ?! 6.0372 ?!

г =2 3.4750 ?! 4.2944 ?! 5.2962 ?! 3.8750 ?! 5.3773 ?! 5.9870 ?!

г =4 3.5000 ?! 3.7600 ?! 4.0200 ?! 4 ?! 4.4500 ?! 4.6000 ?!

г =8 3.8000 ?! 4.5000 ?!

3.3. Естественный порядок распределения. Геометрическая прогрессия

Пусть время выполнения элементарного запроса подчиняется закону геометрической прогрессии

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

В самом деле, в соответствии с теоремой 1[1] имеем: ТтЛд={а^ +раг+*-1+р2а2г+*-1 + р3а2г+1~1+ р4а4г+1-1+р5а5г+1~1 + ... +

р*-2ак-2т+1-1 + п = = 1

Можно представить ТгЛ дув в другом виде

Г^ На" +

так как

раГ^'1 (1 + р2 а2г + р4а4г+...+ак~2г))п.

Г+1-1

или

= 1. !".

Очевидно, что эти два выражения для ТгЛ д в идентичны, так как а1'1 + раг+'-1=(а1~1){1 + раг).

Однако, последнее выражение для ТгЛ д^ дает возможность показать, что

квазиоптимальный алгоритм обеспечивает меньшее время вычисления запроса г процессорами.

3.4. Квазиоптимальный порядок распределения. Геометрическая прогрессия

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

Время выполнения на /-м процессоре к/г элементарных запросов из общего числа к элементарных запросов при квазиоптимальном порядке их распределения по процессорам, когда данные в столбцах неупорядочены, равно (для простоты записей будем считать, что к/г есть целое четное число):

В самом деле, в соответствии с теоремой 1 имеем:

ТтЛдо = (а6-1 + ра2т~' + р2а2г+1~1 + р*а4г+'~1 + р5а€г~' +

к к \ + р--2ак-2т+1-1 +р~-1ак-1 ) п

или

или или

3.4.2. Соотношения времени выполнения на 1-м и / -м процессорах

Для естественного порядка распределения элементарных запросов непосредственно из выражения для ТтЛд^,Ь = 1,г, г >1, имеем неравенства:

Для квазиоптимального порядка распределения элементарных

запросов на основании выражений для ТтЛдо ,1 = 1,г, г >1,

при ра2 > 1 имеем неравенства:

Т ">Т ч ... чт > т

1г,1,д,о 1г,2,д,о 1г,г—1,д,о 17

■9

Э>о г,г,д,о

В самом деле, неравенство Гг г_1„0 > Ггг_0выполняется тогда и

только тогда, когда

аг~2 + раг+1 > аг~1 + ра7

или когда

или когда

ра2 > 1.

Неравенство Тг г_ 2до > Тг Г_1 _ 0 выполняется, когда

или когда

ра4 > 1,

что выполняется при ра2 > 1

и так далее.

Наконец, неравенство Тг 1д а > Тг2до выполняется, когда

или когда

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

ра2 > 1.

Обобщая, находим, что все исходные неравенства выполняются при ра2 > 1,что и т.д.

Максимальный разброс времени выполнения запросов здесь

составляет:

п.

При ра2 < 1, но при ра4 > выполняется следующая цепочка

неравенств:

Т ">Т -> ... ->т <- т

■9

д,о жг,г,д,ог

при этом неравенство Тт 1д о > Гг г „ 0 выполняется, если

1 + ра2г 1 > аг 1 + ра

или если рат > 1 ( г> 4).

Напротив, неравенство

Ттл,а,о <: Тт,т,в,о выполняется, если рат < 1, ( г< 3).

Аналогично, приря4 < 1 , раь > 1 имеем неравенства:

Т "> Т ■> ... чт <г т т

т ,\,д,о т,2,д,о г,т—2,д,о т,г— 1

>8

г,г— 2 ,д,о

.,д,о 1г,г,д,о

и вообще, при ра2г < 1, >1, £ = 1,г — 2, имеем:

Наконец, при ря2^ ^ < 1 имеем:

Т с Т с ■■■ с Т с Т с ■■■ с Т

т ,\,д,о т,2,д,о т х—2,д,о г ,т—\,д,о т

>9

г ,т—2,д,о

.д.

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

1г,г,д,о ■

Максимальный разброс времени выполнения обработки запросов

при ра2{г-^ < 1

составляет:

п.

Минимальная и максимальная границы времени выполнения

Имея в виду, что выполняется Тт1да < Ттл

так как (\+раг)<(\+ра2г 1)или 1 < аг х,при г > 1 и а > 1,

г- 1

и также выполняется Тгтдо < Тг гд^,

так как аг 1 4- рат < аг(1 4- раг} или ра{аг — 1) 4 (а — 1) > О

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

максимальной границы при естественном распределении.

Максимальный разброс времени выполнения обработки запросов на г

процессорах составляет:

- при естественном порядке

- при квазиоптимальном порядке

Абсолютное уменьшение границ времени выполнения запросов при использовании оптимального распределения вместо естественного

распределения равно:

п

к

С^-^да п.

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

3.4.3. Эффективность квазиоптимального распределения Время выполнения на 1-м процессоре к/г элементарных запросов из общего числа к элементарных запросов при квазиоптимальном порядке их распределения по процессорам, когда данные в столбцах неупорядочены, равно (здесь, как и ранее, к/г есть целое четное число)

Максимальное время завершения обработки к/г элементарных запросов на всех процессорах в частных случаях равно:

(5

- для г = 1

к

- ДЛЯ г =

при ра2 > 1

Гг=!д,ял = ((1 + ра1г/2_1)(1 + (ра',/4)3)

при ра2г 2 < 1

Т ы

Г О

ДЛЯТ*

при ра2 > 1

Т к = (1 + рак1)п

при ра

2г-2 < 2

Т кк ." — ">

11°

л

аз (1 -+

для г = к

1г=к,к,д,в

=п (ак 1)

Приведем ряд численных результатов для этих формул при k=8; a=1.15,

1.2,1.25,1.3; ^0.6,0.7, см. таблицу 4:

Таблица 4 Численные результаты

N-Процессора k=8

£ =1.15 £ =1.2

P=0.6 P=0.7 P=0.6 P=0.7

r=1 3.0601 4.2239 3.3135 4.7008 ?;

r =2 3.1167 ü 3.8340 3.5573 ?! 4.4547 ??

r =4 2.5960 2.8620 3.1499 ?; 3.5082 ?;

r =k 2.6600 3.5832 ??

N-Процессора k=8

£ =1.25 £ =1.3

P=0.6 P=0.7 P=0.6 P=0.7

r=1 3.5995 5.2511?; 3.9227 У:. 5.8861 ?;

r =2 4.0807 5.1990 4.7018 ?? 6.0897 ?;

r =4 3.8610 4.3379 4.7649 ?; 5.3924 ?;

r =k 4.7684 6.2749 ?;

4. Замечание

Эффективность квазиоптимального распределения на основании Теорем 1и 2[1,2] имеет место, как для неупорядоченных, так и для упорядоченных таблиц.

5. Выводы

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

5.2. Определены минимальная и максимальная границы времени выполнения групп элементарных запросов в отдельных процессорах для естественного и квазиоптимального порядка распределения элементарных запросов.

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

Список литературы:

1. Amol Deshpande, Zacchary Ives, Vijayshankar Raman - Adaptive Query Processing // Foundations and Trends in Databases. -2007. -Vol.1, No.1, p.1-140.

2. Брехов О.М. Аналитическая оценка оптимальной обработки запросов // Успехи современной радиоэлектроники. 2012. Т.12. №7. С. 37-45.

3. Брехов О.М., Мьо Тант. Оптимизация обработки запросов в многопроцессорной базе данных // Вестник Московского авиационного института. 2012. Т.19. № 5. С.138-146.

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