Научная статья на тему 'Влияние ошибок на исполнение длинных транзакций'

Влияние ошибок на исполнение длинных транзакций Текст научной статьи по специальности «Математика»

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

Текст научной работы на тему «Влияние ошибок на исполнение длинных транзакций»

© Е.А. Морозов, Б.Г. Акбашев, 2002

УАК 681.3.06

Е.А. Морозов, Б.Г. Акбашев

ВЛИЯНИЕ ОШИБОК НА ИСПОЛНЕНИЕ АЛИННЫХ ТРАНЗАКЦИЙ

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

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

Транзакция обычно начинает выполнение с оператора Begin и заканчивается оператором Commit или Rollback. Commit представляет собой успешное завершение транзакции, при этом в базу данных вносятся соответствующие изменения. Rollback указывает на то, что в системе произошла какая-то ошибка, которая препятствует успешному завершению транзакции. В этом случае изменения, которые произвела над БД неуспешная транзакция, должны быть отменены.

Далее будем рассматривать только плоские транзакции, в которых любой из операторов Commit и Rollback будет применяться ко всей транзакции, как представляющей единое целое, а не к еП отдельным частям.

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

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

интервале времени A t произойдет ошибка, не зависит от каких бы то ни было ошибок в других интервалах и приближенно задается величиной pA tпри р(и) = Хехр(-Xu),U >0, (1)

где X называется интенсивностью потока ошибок. Связанная с ней случайная переменная, которая задает время возникновения ошибки, измеренное от начала транзакции, обозначается через U. После возникновения ошибки инициируется операция возврата, т.е. откат, который вызывается оператором Rollback, чтобы восстановить БД и отменить любое воздействие, которое частично выполненная транзакция могла оказать на записи БД. Время, необходимое на выполнение этого действия, измеряемое от точки возникновения ошибки, не зависит от U. Обозначим его через R На первый взгляд может показаться, что величина R должна быть пропорциональной к U; однако это неверно потому, что:

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

2. В переменную R входит возможная издержка от работы СУБД, которая является независимой по отношению к транзакции, о которой идет речь.

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

Функцию распределения величины U обозначим Р(и), а величины R - Q(r); соответствующие им функции распределения плотности вероятности обозначим p(u) и q(r) . После восстановления

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

имеет распределение ошибок p( u). Когда период возникновения ошибки U превышает w, транзакция будет выполняться до завершения.

Рассматриваемая модель ошибок концентрируется на событиях внутренних по отношению к СУБД, которые не зависят от внешнего окружения; иначе следует применять более сложную вероятностную модель, включающую множественные распределения ошибок. Примем, что первое успешное завершение транзакции достигнуто в k-ом выполнении, т.е. k>1, тогда время отклика транзакции Tk равняется

Tk = w + (U\ + ■■■ + Uk-i) + (Ri + ••• + Rk-i), где Rj - распределена в соответствии с Q(r), и каждая величина Uj меньше чем w и распределена в со-

ответствии С Р(м), Т.е. и] имеет плотность

/ (и) =

Р (и)

Р (м)

(2) т-7-

Если обозначить преобразование Лапласа функции р(и) для среднего значения аргумента б, т.е.

то преобразование Лапласа плотности вероятности Тк задается через

ак (5) = ехр(-5м)[/(5МД)]к- (3)

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

П = Р (м)к-1[1 - Р (V)]

(4)

Таким образом, усреднение времени первого успешного завершения дает преобразование Лапласа плотности вероятности полного времени отклика транзакции Т:

а( Д) = [1 - Р (м)]ехр(-ш) + ^ак (5 )жк

к =2

После упрощения получаем

а(5) = [1 -Р(х )]ехр( -ум) +

Р ( м)[1 - Р (м )]/ ( 5 Ж 5 )ехр(-ДМ ) 1 - Р (м )/ ( у М у )

(5)

Следовательно, среднее время отклика транзакции Т задается первой производной - а'(0) , которая равна

Р (м)Я +| ир( и )ёи

Т (м) = ■

1 - Р (м)

(6)

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

Р (м)Я +1 ир( и )ёи

Vо =-

(7)

1 - Р (м)

которою будем называть дополнительной задержкой.

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

принятия Я =0в выражении (7), что дает

V* =-

(8)

1 - Р (м)

Поэтому связанное с ним время восстановительного отката равняется /V0 . Следовательно, усредненное полное время отклика транзакции равно

(1 + /)| ир( и)ёи

0

Т (м) = м +—

1 - Р(м )

Представляется естественным вопрос о самой возможности доведения длинных транзакций до конца. Из вышеуказанного расчета можно видеть, что числитель во втором слагаемом ограничен величиной (1 +/)и , которая является константой, так

что Т будет всегда конечной, когда Р(ш) < 1. Дополнительная задержка в этом случае будет приблизительно обратно пропорциональной к [1 - Р (м)].

Тем не менее, если Р(ш) = 1, это указывает, что транзакция не может поддерживаться в текущей среде, и время работы ш необходимо разбить на меньшие отрезки, чтобы задача, реализуемая транзакцией, была выполнена.

Иногда невозможно точно определить величину ш, без учета каких-либо других случайных воздействий, которые оказывают влияние на длительность транзакции. Если ш должна рассматриваться, как случайная величина, тогда формулы (6) и (7) могут быть заменены соответствующими средними значениями, используя плотность вероятности ш. Предположим, что ш распределена в соответствии плотностью g(м) , тогда усредненное время отклика транзакции, равно:

Т = ^Т (м )g(w)dw

В важном частном случае пуассоновской ошибки (1) среднее время отклика становится равным:

Т = (Я + -)[ехр(Хм) -1]

X

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

ными а"(0) - а'(0) , которая в данном случае равна:

—2 — 1 2

[ехр(Хм) - 1]{Я + уаг( Я) + ехр(Хм) + 1](Я +—) } -

X

- 2(Я + — ){Я [ехр(Хм) -1] + м ехр(Хм)},

X

где уаг(К - дисперсия переменной К Если примем, что ш - случайная величина имеющая плотность распределения д(ш), то среднее время отклика будет

— “ — 1

Т =1 (Я +Х*|ехр(Хм)-%(м)йМ’ ,

0

что дает:

Т = (Я +Х-Ш у )| у=-х-1] , (9)

X

где д(в) - преобразование Лапласа от д(ш). Практическое применение этих формул проиллюстрировано на следующем примере.

Пример. Рассмотрим транзакцию, которая при отсутствии ошибок требует в среднем 120 мин для выполнения, с отклонением ±15 мин. Среднее время отката составляет 10 минут. Требуется определить вероятность отката и вычислить средние значения времени отклика транзакции при следующих интенсивностях пуассоновских потоков ошибок

10-3,10-2, 2 -10-2 (1/мин).

Из (1) вероятность инициализации отката определяется, как 1 - ехр(-120Х) , и составляет соответственно 0.09, 0.69 и 0.87.

Среднее время отклика транзакции может быть получено из (9). Допустим, что длительность транзакции равномерно распределена на интервале [105, 135]. Тогда

g(м>) = —, 105 < м < 135 ,

30

и д(ш) равняется нулю вне этого интервала. Преобразование Лапласа величины д(ш) имеет вид

КОРОТКО ОБ АВТОРАХ ---------------------------------

( ) = ехр(-105у) - ехр(-135у)

5) = 30У

Следовательно, среднее время отклика транзакции с интенсивностью потока ошибок X согласно (9) составляет

Т = [10 + У^135^ - ^рС105^ -1}

[ X 30X }

При интенсивности потока ошибок 10 , которая

соответствует ситуации, когда появление ошибки

сравнительно редко, получаем Т =125.6 мин. Дополнительная задержка (из-за возможных ошибок) сравнительно невелика и составляет около 6 мин.

При интенсивности потока ошибок 10-2 имеем Т = =234.6 минуты. Дополнительная задержка - 134.6 минуты. Для еще более высокой интенсивности равной 2-10-2 имеем Т = 598.2 минуты. Это соответствует дополнительной задержке, более чем в 4 раза превышающей длительность транзакции. Из данного примера видно, что производительность длинных транзакций из-за ошибок и повторной обработки может очень быстро убывать.

Морозов Е.А. - кандидат технических наук, Московский государственный горный университет. Акбашев Б.Г. - кандидат физико-математических наук, АСУ НИИ приборостроения г. Пенза.

© А.А. Филиппова, В.М. Шек, 2002

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

УЛК 65.011.56

А.А. Филиппова, В.М. Шек

АВТОМАТИЗИРОВАННАЯ СИСТЕМА ЭКОЛОГИЧЕСКОГО МОНИТОРИНГА УГОЛЬНОЙ ШАХТЫ НА БАЗЕ ГИС ТЕХНОЛОГИИ

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

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

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

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

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

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