Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Моделирование приоритетного обслуживания транзакций в РБД





 

1. Цель работы: Ознакомиться с организацией и особенностями моделирования приоритетного обслуживания распределенных транзакций в РБД.

 

Базовые сведения

 

При обслуживании потока транзакций SQL – сервер может не справляться с текущей большой нагрузкой, в результате чего транзакции образуют очередь в буфере сервера. Выбор дисциплины обслуживания очереди может в значительной степени влиять на эффективность функционирования РБД. Простейшая дисциплина обслуживания «в порядке поступления» (FIFO) не всегда согласуется с эффективностью обслуживания общего потока транзакций в РБД.

Пусть некоторый SQL – сервер обслуживает очередь, в которой находятся как транзакции, локальные для этого сервера, так и транзакции (субтранзакции), являющиеся частями распределенных транзакций, выполняемые по заданиям серверов – координаторов распределенных транзакций. В этой ситуации следует учесть, что согласно протоколу выполнения распределенной транзакции сервер – координатор транзакции рассылает частные задания серверам – исполнителям и в течение заданного времени ТС ждет от них сообщений о готовности выполнить задание. Такое сообщение сервер – исполнитель посылает только после того как будет выполнена соответствующая субтранзакция без фиксации ее результатов в табличных данных. Если в течение времени ТС координатор не получил сообщения о выполнении всех субтранзакций, он рассылает исполнителям команду на откат распределенной транзакции. Из сказанного следует, что ожидание субтранзакций в очереди на обслуживание сервером увеличивает вероятность срыва выполнения соответствующих распределенных транзакций, т.е. субтранзакции выступают в роли нетерпеливых клиентов, которые либо должны быть обслужены достаточно быстро, либо вообще отказываются от обслуживания.

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

Для моделирующей программы должны быть определены следующие входные данные.

КолИсп – число серверов – исполнителей распределенной транзакции;

FQR(x) –ИФРВ для случайного времени между запросами на выполнение распределенной транзакции;

VQLi(x) (i = 1: КолИсп) –ИФРВ для случайного времени между запросами на выполнение локальной транзакции i-м сервером;

FTRi(x) (i = 1: КолИсп) –ИФРВ для случайной величины времени выполнения субтранзакции i-м сервером;

VTLi(x) (i = 1: КолИсп) –ИФРВ для случайной величины времени выполнения локальной транзакции i-м сервером;

ТС – допустимое время ожидания координатором сообщений от исполнителей.

 

 

В процессе моделирования формируются оценки для следующих величин:

Тi(x) (i=1: КолИсп) - среднее время выполнения локальной транзакции i-м исполнителем,

ТРТ – среднее время выполнения распределенной транзакции.

ДРТ – доля распределенных транзакций, выполнивших откат.

 

 

Порядок выполнения работы

3.1. Для выбранного варианта задания составить и отладить программу моделирования процесса выполнения распределенной транзакции во времени.

3.2. Протестировать разработанную программу на примерах, выполненных вручную.

3.3. Оценить величины Тi(x) (i=1: КолИсп), ТРТ и ДРТ для дисциплины обслуживания общей очереди транзакций «в порядке поступления».

3.4. Оценить величины Тi(x) (i=1: КолИсп), ТРТ и ДРТ для дисциплины приоритетного обслуживания очереди субтранзакций.

3.5. Сравнить результаты моделирования в пп. 3.3, 3.4.

 

 

Содержание отчета

 

4.1 Титульный лист

4.2 Цель работы

4.3 Вариант задания

4.4 Текст разработанной программы

4.5 Результаты тестирования программы

4.6 Оценки величин Тi(x) (i=1: КолИсп), ТРТ и ДРТ для дисциплины обслуживания общей очереди транзакций «в порядке поступления».

4.7 Оценки величин Тi(x) (i=1: КолИсп), ТРТ и ДРТ для дисциплины приоритетного обслуживания очереди субтранзакций.

4.8 Выводы.

4.9 Список использованной литературы

 

 

Вопросы для самопроверки

5.1. В чем заключается дисциплина обслуживания очереди FIFO?

5.2. Почему в очереди на обслуживание распределенные транзакции должны иметь более высокий приоритет, чем локальные транзакции?

5.3. Как при вводе приоритетов изменится время выполнения локальных транзакций?

5.4. При каких условиях введение приоритетов существенно уменьшит среднее время выполнения распределенных транзакций и незначительно увеличит среднее время выполнения локальных транзакций?

 

 

Литература

 

Голицына О. Л.
Базы данных: учебное пособие для спо/ О. Л. Голицына, Н. В. Максимов, И. И. Попов. - 2-е изд., испр. и доп.. - М.: ФОРУМ: Инфра-М, 2009. - 400 с.

Петров В. Н. Информационные системы: [Учебник]/. - СПб.: ПИТЕР, 2002. - 687 с.

 

Приложение

Перечень заданий для выполнения лабораторных работ по дисциплине «Распределенные информационные системы»

 

 

Варианты таблиц в информационной системе (ИС)

 

Во всех вариантах задаются 3 таблицы, между которыми имеются связи (набор полей указан в скобках).

1. Склад

Поставщики (Номер, Название, Адрес, Товар);

Покупатели (Номер, Название, Адрес, Товар);

Продажи (Номер, Дата, Сумма, Товар, Номер поставщика, НомерПокупателя).

2. Нотариальная контора

Клиенты (Номер, ФИО, Адрес, Телефон);

Сотрудники (Номер, ФИО, Должность);

Сделки (Номер, Дата, Сумма, Номер клиента, Номер сотрудника).

3. Ремонтная мастерская

Детали (Номер, Код детали, Цена);

Изделия (Номер, Код изделия);

Состав Изделий (Код изделия, Код детали, Кол. Деталей, Сумма).

4. Поликлиника

Пациенты (Код, Фамилия, Дата рождения)

Врачи (Код, Фамилия, специализация)

Рецепты (Номер рецепта, Код пациента, Код врача, Диагноз, Лекарство)

5. Ателье

Ткани (Код, Тип ткани, Цвет)

Изделия (Код, Вид изделия, Размер)

Заказы (Код заказа, Код изделия, Код ткани, Цена)

6. Концертный зал

Исполнители (Код исполнителя, Название исполнителя)

Залы (Код зала, Название заведения, Вместимость)

Билеты (Код билета, Код исполнителя, Код зала, Цена)

 

7. Учебное учреждение

Преподаватели (Код, Фамилия, N кафедры)

Дисциплины (Код дисциплины, Название дисциплины)

Группы (Код группы, Номер группы, Количество человек, Код дисциплины, Код преподавателя)

8. Парикмахерская

Парикмахеры (Код, Фамилия, Стаж, Часы работы)

Стрижки (Код, Название, Цена)

Заявки(Код, Клиент, Код стрижки, Код парикмахера, Дата)

9. Книжная база

Магазины (Код, Название, Адрес)

Книги (Код, Автор, Название, Жанр)

Товары (Код, Код книги, Код магазина, Цена)

10. Турфирма

Отели (Код, Название, Страна, Звездность)

Клиенты (Код, Фамилия, N паспорта)

Путевка (Код, Код клиента, Код отеля, Срок пребывания)

11. Аптечная консультация

Травы (Код, Название, Сезон сбора)

Болезни (Код, Название, Орган)

Отвары (Код, Код болезни, Код травы, Срок лечения)

12. Группы в бассейне

Клиент (Код, Фамилия, Возраст, Умение плавать)

Группы (Код, Инструктор, Уровень)

Абонемент (Код, Код клиента, Код группы, День недели, Время)

13. Магазин

Клиент (Код, ФИО, Дата рождения, Сумма покупок)

Правила премирования (Код, Статус, Сумма покупок, Подарок)

Подарки (Код, Код клиента, Код подарка, Дата вручения)

 

 

14 Детский сад

Дети (Id ребенка, Имя, Фамилия, Отчество, Дата рождения, ФИО родителя, Адрес, Телефон, Id группы)

Воспитатели (Id воспитателя, Фамилия, Имя, Отчество, Специализация, Квалификация)

Характеристики полей таблицы Группы (Id группы, Id воспитателя, Номер группы)

 

15 Ветеринарная клиника

Животное (Id животного, Кличка, Окрас, Вид животного, Дата рождения, ФИО владельца, Адрес, Телефон)

Специалисты (Id врача, Фамилия, Имя, Отчество, Специализация, Квалификация)

Посещение врача (Дата посещения, Id животного, Прививка, Диагноз, Назначение, Id врача)

 

16 Сеть аптек

Филиал (Id филиала, Адрес, Телефон)

Сотрудники (Id сотрудника, Фамилия, Имя, Отчество, Должность, Id филиала)

Товар (Id товара, Id аптеки, Название, Форма выпуска, Количество, Стоимость)

 

17 Трамвайный парк

Водитель (Id водителя, Фамилия, Имя, Отчество, Квалификация)

Трамваи (Id трамвая, Id водителя, Тип, Номер, Год выпуска, Завод изготовитель)

Маршруты (Id маршрута, Id трамвая, Номер маршрута)

 

18 Риэлтерская компания по продаже квартир

Сотридники (Id сотрудника, Фамилия, Имя, Отчество, Должность)

Продажи (Id сделки, Id квартиры, Id сотрудника, Стоимость, Дата сделки)

Квартиры (Id квартиры, Количество комнат, Адрес, Площадь, Этаж, Тип дома)

 

19 Библиотека (читальные залы)

Сотрудники (Id сотрудника, Фамилия, Имя,Отчество, Id отдела, Должность)

Книги (Id книги, Id отдел, Название, Количество страниц, Автор)

Отделы (Id отдела, Название)

 

20 Вечерние курсы иностранных языков

Преподаватели (Id преподавателя, Фамилия, Имя, Отчество, Специализация)

Группы (Id группы, Id преподавателя, Количество учеников, Название, Время начала занятий)

Ученики (Id ученика, Фамилия, Имя, Отчество, Id группы)

 

21 Продуктовый магазин

Поставщики (Id поставщики, Название, Контактное лицо, Телефон)

Характеристики полей таблицы Ассортимент (Id товара, Id поставщики, Id отдела, Название, Срок годности)

Отделы (Id отдела, Название, Количество персонала, Количество стеллажей)

 

22 Кондитерское производство

Продукты (Id продукта, Название, Вес, Упаковка, Срок годности)

Ингредиенты (Id ингредиента, Название, Id поставщика, Id Продукта)

Поставщики (Id поставщики, Название, Контактное лицо, Телефон)

 

23 Приемная комиссия

Абитуриенты (Id абитуриента, Фамилия, Имя, Отчество, Id специальности)

Специальности (Id специальности, Название, Форма обучения, Номер кафедры)

Экзамены (Id экзамена, Название, Id специальности)

 

 

Задания к ЛР1 (Размещение таблиц базы данных на серверах)

 

Для каждого варианта требуется разместить 3 таблицы (Т1, Т2, Т3) на 3-х серверах. На каждый сервер поступают запросы к Т1, Т2 и к Т3. Средние объемы ответов на эти запросы равны соответственно Д1, Д2 и Д3. В таблице 1а приведены 5 вариантов значений этих величин. В таблице 1б приведены 5 вариантов значений интенсивностей поступления разных запросов на серверы. В частности, на сервер 1 запрос к Т1 поступает с интенсивностью И11, запрос к Т2 поступает с интенсивностью И12, запрос к Т3 поступает с интенсивностью И13.

Таблица 1а

 

           
Д1          
Д2          
Д3          

 

Таблица 1б

 

           
И11          
И12          
И13          
И21          
И22          
И23          
И31          
И32          
И33          

 

Задания к ЛР2 (Выбор координатора распределенного запроса в РБД)

Предполагается, что на серверах С1, С2, С3 размещены соответственно таблицы Т1, Т2, Т3 базы данных. Распределенный запрос требует извлечения данных объема Д1, Д2, Д3 из таблиц соответственно Т1, Т2, Т3. Объем ответа на распределенный запрос равен Д. На основе этих данных, требуется выбрать сервер – координатор запроса. Варианты исходных данных представлены в таблице 2.

Таблица 2

 

  Д1 Д2 Д3 Д
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         

 

Задания к ЛР3 (Выбор координатора распределенной транзакции в РБД)

 

Предполагается, что на серверах С1, С2, C3 размещены соответственно таблицы Т1, Т2, T3 базы данных. Распределенная транзакция содержит следующие запросы:

- запрос к Т1, требующий извлечения данных объема Д1;

- запрос к Т2, требующий извлечения данных объема Д2;

- запрос к Т3, требующий извлечения данных объема Д3;

- распределенный запрос, требующий извлечения из Т1 данных объема Д31, извлечения из Т2 данных объема Д32 и извлечения из Т3 данных объема Д33, после чего формируется ответ, содержащий данные объема ДТ.

На основе этих данных требуется выбрать сервер – координатор транзакции. Варианты исходных данных представлены в таблице 3.

Таблица 3

 

  Д1 Д2 Д3 Д31 Д32 Д33 ДТ
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               

 

Задания к ЛР4 (Алгоритм разблокировки транзакций в РБД)

1. Граф блокировок транзакций:

Вариант.1

Вариант.2

Вариант.3

Вариант.4

 

 

 

 

Вариант.5

 

2. Варианты весов транзакций

В таблице 4 представлены данные для вариантов задания весов транзакций. В верхней строке указаны номера транзакций. В первом столбце указаны номера вариантов.

Таблица 4

                 
                 
                 
                 
                 
                 

 

3. Исходные данные для индивидуального задания

Студенту выдается номер задания N от 1 до 25. По этому номеру студент вычисляет 2 числа:

N1 = 1 + (N по модулю 5), N2 = 1 + (N – N1) / 5.

После этого студент выбирает вариант графа с номером N1 и вариант из таблицы 4 с номером N2.

 

Задания к ЛР5 (Протокол двухфазной фиксации транзакций в РБД)

Распределенную транзакцию выполняют 5 серверов. Для каждого из них задано распределение вероятностей случайной величины – времени выполнения локальной транзакции. Предлагается использовать два распределения: экспоненциальное с параметром x (Exp (x)) и эрланговское с параметрами k, x (Erl (k,x)). В таблице 5 значения параметров x и ТС (максимального времени ожидания ответов от серверов-исполнителей) даны в относительных единицах.

 

Таблица 5

  С1 С2 С3 С4 С5 ТС
  Exp(1) Exp(2) Exp(1) Exp(2) Erl(2,1)  
  Erl(2,1) Exp(1) Exp(2) Exp(1) Erl(2,1)  
  Exp(1) Erl(2,1) Exp(1) Exp(1) Erl(2,1)  
  Erl(2,1) Erl(2,1) Exp(1) Exp(2) Erl(2,1)  
  Exp(1) Exp(2) Erl(2,1) Exp(1) Erl(2,1)  
  Erl(2,1) Exp(1) Erl(2,1) Exp(1) Erl(2,1)  
  Exp(1) Erl(2,1) Erl(2,1) Exp(2) Erl(2,1)  
  Erl(2,1) Erl(2,1) Erl(2,1) Exp(1) Erl(2,1)  
  Exp(1) Exp(2) Exp(1) Exp(1) Erl(2,1)  
  Erl(2,1) Exp(1) Exp(1) Exp(2) Erl(2,1)  
  Exp(1) Erl(2,1) Exp(1) Exp(1) Erl(2,1)  
  Erl(2,1) Erl(2,1) Exp(1) Exp(1) Erl(2,1)  
  Exp(1) Exp(2) Erl(2,1) Exp(2) Erl(2,1)  
  Erl(2,1) Exp(1) Erl(2,1) Exp(1) Erl(2,1)  
  Exp(1) Erl(2,1) Erl(2,1) Exp(1) Erl(2,1)  
  Erl(2,1) Erl(2,1) Erl(2,1) Exp(2) Erl(2,1)  
  Exp(1) Exp(2) Exp(1) Exp(1) Erl(2,1)  
  Erl(2,1) Exp(1) Exp(1) Exp(1) Erl(2,1)  
  Exp(1) Erl(2,1) Exp(1) Exp(2) Erl(2,1)  
  Erl(2,1) Erl(2,1) Exp(1) Exp(1) Erl(2,1)  
  Exp(1) Exp(2) Erl(2,1) Exp(1) Erl(2,1)  
  Erl(2,1) Exp(1) Erl(2,1) Exp(2) Erl(2,1)  
  Exp(1) Erl(2,1) Erl(2,1) Exp(1) Erl(2,1)  
  Erl(2,1) Erl(2,1) Erl(2,1) Exp(1) Erl(2,1)  
  Exp(1) Exp(1) Erl(2,1) Exp(1) Erl(2,1)  

 

Задания к ЛР6 (Моделирование распределенной транзакции в РБД)

Распределенную транзакцию выполняют 5 серверов. Распределения вероятностей F1, F2, F3, F4=F1, характеризующие взаимодействие серверов с координатором транзакции, заданы одинаковыми для всех серверов. Предлагается использовать два распределения: экспоненциальное с параметром x (Exp (x)) и эрланговское с параметрами k, x (Erl (k,x)). В таблице 6 значения параметров x и ТС (максимального времени ожидания ответов от серверов-исполнителей) даны в относительных единицах.

 

Таблица 6

  F1 F2 F3 ТС
  Exp(1) Exp(2) Exp(1)  
  Erl(2,1) Exp(1) Exp(2)  
  Exp(1) Erl(2,1) Exp(1)  
  Erl(2,1) Erl(2,1) Exp(1)  
  Exp(1) Exp(2) Erl(2,1)  
  Erl(2,1) Exp(1) Erl(2,1)  
  Exp(1) Erl(2,1) Erl(2,1)  
  Erl(2,1) Erl(2,1) Erl(2,1)  
  Exp(1) Exp(2) Exp(1)  
  Erl(2,1) Exp(1) Exp(1)  
  Exp(1) Erl(2,1) Exp(1)  
  Erl(2,1) Erl(2,1) Exp(1)  
  Exp(1) Exp(2) Erl(2,1)  
  Erl(2,1) Exp(1) Erl(2,1)  
  Exp(1) Erl(2,1) Erl(2,1)  
  Erl(2,1) Erl(2,1) Erl(2,1)  
  Exp(1) Exp(2) Exp(1)  
  Erl(2,1) Exp(1) Exp(1)  
  Exp(1) Erl(2,1) Exp(1)  
  Erl(2,1) Erl(2,1) Exp(1)  
  Exp(1) Exp(2) Erl(2,1)  
  Erl(2,1) Exp(1) Erl(2,1)  
  Exp(1) Erl(2,1) Erl(2,1)  
  Erl(2,1) Erl(2,1) Erl(2,1)  
  Exp(1) Exp(1) Erl(2,1)  

 

Задания к ЛР7 (Моделирование приоритетного обслуживания транзакций в РБД)

В задании фиксируются следующие параметры:

КолИсп =3 – число серверов;

FQR – ИФРВ для случайного времени между запросами на выполнение распределенной транзакции;

VQL – ИФРВ для случайного времени между запросами на выполнение локальной транзакции;

FTR – ИФРВ для случайной величины времени выполнения субтранзакции;

VTL=FTR – ИФРВ для случайной величины времени выполнения локальной транзакции;

ТС – допустимое время ожидания координатором сообщений от исполнителей.

Распределения вероятностей заданы одинаковыми для всех серверов. Предлагается использовать два распределения: экспоненциальное с параметром x (Exp (x)) и эрланговское с параметрами k, x (Erl (k,x)). В таблице 7 значения параметров x и ТС (максимального времени ожидания ответов от серверов-исполнителей) даны в относительных единицах.

 

 

Таблица 7

  FQR VQL FTR ТС
  Exp(1) Exp(1) Exp(1)  
  Erl(2,1) Exp(1) Exp(1)  
  Exp(1) Erl(2,1) Exp(1)  
  Erl(2,1) Erl(2,1) Exp(1)  
  Exp(1) Exp(1) Erl(2,1)  
  Erl(2,1) Exp(1) Erl(2,1)  
  Exp(1) Erl(2,1) Erl(2,1)  
  Erl(2,1) Erl(2,1) Erl(2,1)  
  Exp(2) Exp(2) Exp(2)  
  Erl(2,1) Exp(2) Exp(2)  
  Exp(2) Erl(2,1) Exp(2)  
  Erl(2,1) Erl(2,1) Exp(2)  
  Exp(2) Exp(2) Erl(2,1)  
  Erl(2,1) Exp(2) Erl(2,1)  
  Exp(2) Erl(2,1) Erl(2,1)  
  Erl(2,1) Erl(2,1) Erl(2,1)  
  Exp(3) Exp(3) Exp(3)  
  Erl(2,1) Exp(3) Exp(3)  
  Exp(3) Erl(2,1) Exp(3)  
  Erl(2,1) Erl(2,1) Exp(3)  
  Exp(3) Exp(3) Erl(2,1)  
  Erl(2,1) Exp(3) Erl(2,1)  
  Exp(3) Erl(2,1) Erl(2,1)  
  Erl(2,1) Erl(2,1) Erl(2,1)  
  Exp(1) Exp(3) Erl(2,1)  

 







Что делает отдел по эксплуатации и сопровождению ИС? Отвечает за сохранность данных (расписания копирования, копирование и пр.)...

ЧТО И КАК ПИСАЛИ О МОДЕ В ЖУРНАЛАХ НАЧАЛА XX ВЕКА Первый номер журнала «Аполлон» за 1909 г. начинался, по сути, с программного заявления редакции журнала...

Живите по правилу: МАЛО ЛИ ЧТО НА СВЕТЕ СУЩЕСТВУЕТ? Я неслучайно подчеркиваю, что место в голове ограничено, а информации вокруг много, и что ваше право...

Система охраняемых территорий в США Изучение особо охраняемых природных территорий(ООПТ) США представляет особый интерес по многим причинам...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.