WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

загрузка...
   Добро пожаловать!

Pages:     | 1 || 3 | 4 |

Существенным аспектом при проектировании СУБД является то, каким образом происходит взаимодействие клиентов и серверов СУБД. Рассматривается базовая классификация клиент-серверного взаимодействия, а также расширения этой классификации применительно к объектным СУБД.

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

Среди методов моделирования производительности ИС в целом и серверов СУБД в частности, можно выделить:

1. Модели, основанные на коммуникации клиентов и серверов данных. Чаще всего строятся и анализируются средствами СМО. Данный класс моделей позволяет оценить производительность ИС в предположении, что поток запросов клиентов однороден, кроме того возможна оценка времени их выполнения в среднем. Модели позволяют оценить использование различных каналов связи, методов кэширования данных, однако столь высокий уровень абстракции не позволяет получить оценку влияния внутренних особенностей обработки запросов сервером СУБД.

2. Модели хранения данных на ВЗУ, что позволяет оценить минимальное время доступа к данным и производительность ИС в целом. В зависимости от назначения модели, могут учитываться как физические характеристики накопителей данных, такие как время позиционирования головок НЖМД, скорость считывания и схема разметки дисков или только методы размещения данных на них. В настоящее время, модели с использованием внутренних характеристик НЖМД мало применимы, поскольку большинство таких характеристик накопителей от разных производителей не является адекватно сравнимыми.

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

4. Методы, на основе моделей запросов к СУБД применимы в том случае, если проводится анализ характеристик ИС в целом, а не отдельного сервера БД или тракта клиент-сервер. Выделяются методы, основанные на аналитическом описании процесса обработки запросов эмпирическими формулами, исходя из априорного предположения об однотипности функционирования коммерческих СУБД и, как следствие, на однотипности выполняемого набора операций проекции, слияния и выборки данных. К этому же классу методов относятся работы, в где проводится анализ исходных запросов в алгебраической форме, анализ способов их преобразования в физический план конкретной СУБД и выполнение, при помощи модели, имитирующей внутреннюю обработку запросов конкретной СУБД. Эти модели могут быть реализованы как традиционными средствами СМО, так и в форме алгебр процессов.

5. Условно в отдельную группу можно выделить модели, в которых проводится анализ производительности сервера СУБД на основе имеющихся сведений о порядке обработки данных в транзакции применительно к конкретной ИС. В печатных источниках выявлены модели, в которых анализ производительности проводится в зависимости от количества элементов данных внутри транзакции, так и модели блокировки данных применительно к транзакциям OLTP систем.

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

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

Полная модель ИС на основе СУБД, таким образом, включает в себя следующие частные модели:

- Модель взаимодействия клиента и сервера СУБД, включая многозвенные клиент-серверные архитектуры;

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

- Модель оптимизатора логического плана;

- Модель планировщика физического плана выполнения;

- Модели функциональных обработчиков запросов.

В качестве математического метода моделирования целесообразно использовать алгебраические методы. В данной работе основным методом выбрана алгебра процессов “PEPA” (Performance Evaluation Process Algebra), позволяющая выполнять моделирование параллельных систем, имеющих определенные точки синхронизации, использующая формальный метод описания модели.

Алгебра процессов “PEPA” является удобным средством моделирования взаимодействующих процессов. Тем не менее, она имеет ряд ограничений, затрудняющих ее использование. В числе таких ограничений можно назвать отсутствие возможности анализа каждого процесса алгебры в отдельности, что не позволяет строго определить время выполнения того или иного процесса, производительность того или иного процесса в случае, если несколько разных процессов содержат в себе одинаковые типы действий. Следует также отметить то, что, предоставляя структурное описание процессов, алгебра “PEPA” потенциально может быть использована для введения в модель дополнительных данных.

В главе рассмотрен объект исследования работы – объектная СУБД ODBJupiter и информационно-поисковая система (ИПС) «Обзор СМИ», применительно к которой рассматриваются схема данных и схема обработки запросов, набор выполняемых операций, метод формирования индексных данных. ОСУБД ODBJupiter является специализированной документально-ориентированной объектной СУБД для работы в составе ИПС. В дальнейшем, с использованием ИПС, на основе данной СУБД, проводится анализ и моделирование характеристик ИПС и СУБД, а также реорганизация СУБД для улучшения характеристик производительности.

В главе «Разработка метода моделирования производительности ИС, использующей СУБД» на основе ранее выбранной алгебры процессов “PEPA” реализован метод моделирования производительности ИС.

Формальный синтаксис алгебры “PEPA” с квазиоперацией VM() и расширенным комбинатором кооперации может быть представлен в форме БэкусаНаура следующим образом:

Pdynamic ::= (,r).P | P + Q Cstatic ::= VMk1(P)>

L Основные языковые конструкции:

Префикс: компонент (,r).P выполняет действие с типом и интенсивностью r. Компонент (,r).P впоследствии становится компонентом P. Действие определяется как a = (,r).

Выбор: компонент P+Q представляет систему, которая может вести себя как компонент P или компонент Q. Компонент P+Q разрешает все текущие действия P и Q, т.е. Act(P + Q) = Act(P) U Act(Q).

Кооперация: VM (P)>

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

В отличие от базовой интерпретации уравнения системы, в которой процессы неразличимы, в данной работе уравнение системы Sys есть функция кооперации по множеству динамических компонентов P, каждый из которых представляет собой процесс: Sys ::= f><({P1, P2 KPn}).

Процесс есть последовательность компонентов Pk = {C1k KCik}, где Cik - элементарный компонент процесса i, определяющий действия для перехода к следующему компоненту, причем Cik ds(Pk ), где ds(C) есть порождающее множество компонента C.

Алгебра процессов “PEPA” не имеет непосредственного метода решения.

Процесс решения разбивается на два этапа – генерация замкнутой марковской цепи с постоянными параметрами и её решение традиционными для марковских цепей методами. Главным определяемым параметром “PEPA” является вероятность состояний марковской цепи (эквивалентных компонентам “PEPA”) в установившемся режиме. Остальные параметры модели определяются с помощью полученной марковской цепи с использованием т.н. метода стоимостных структур и соответствующей интерпретацией полученных значений.

В работе предлагается сохранять на момент генерации замкнутой марковской цепи информацию о позиции процесса в уравнении системы, в рамках которого выполняется действие, вызывающее переход к другому состоянию, что не делается в базовом варианте “PEPA”. Таким образом, интенсивность перехода q(Ci,Cj) между компонентами алгебраической модели Ci и Cj (эквивалентными со k стояниями марковской цепи) определяется как q(Ci,Cj ) =, где Cik и Cjk r k k aAct(Cik |C ) j есть компоненты, соответствующие k-му процессу. Форма q(Ci,Cj) соответствует принятой в “PEPA” форме, в то время как q(Cik,Cjk) является её расширением.

Элементы q(Ci,Cj) представляют собой недиагональные элементы инфинитезимальной образующей матрицы Q марковского процесса. Диагональные элементы вычисляются как сумма недиагональных элементов каждой строки, взятая с обратным знаком. Решением является решение матричного уравнения П.Q=0, где П – матрица стационарных вероятностей состояний. Дополнительным нормирующим условием является П(Ci)=1.

Базовый метод анализа производительности в алгебре процессов “PEPA” основан на методе стоимостных структур (reward structures). Однако данный метод не обладает достаточной семантикой, поскольку стоимость назначается для определенных состояний, определяемыми неформализованными критериями. В методе стоимостных структур каждому переходу между состояниями назначают определенный вес. Каждый переход ассоциирован с конкретным действием из исходной модели. Суммарная стоимость Ri = (Ci ), где i есть стоимость, соi i ответствующая компоненту Ci, а (Ci ) есть стационарная вероятность нахождения системы в состоянии, соответствующего компоненту Ci. Следует заметить, r что вектор в общем случае может содержать произвольные числа, в соответствие с семантикой оцениваемой марковской цепи. Расширение информации исходной модели в промежуточной марковской цепи позволило определить следующие характеристики производительности, использование которых в “PEPA” затруднено из-за невозможности разделения характеристик различных процессов:

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

k Thrk = piij, где k – индекс процесса. Очевидно, общая производительность i k (форма “PEPA”) по типу есть Thr =.

Thr k Время отклика. Актуально для определения в рамках одного процесса 1 уравнения системы. Определяется как Rk = -, где Thrk - производи Thrk y ra (*Cy ) тельность по характеризующей деятельности k-го процесса, время вне обработки заявки Z =,*Cy {*Cclient}, где компонент *Cy обозначает динамический ra (*Cy ) y компонент конкретного процесса клиента.

Абсолютная утилизация ресурса. Физический смысл данной величины – процент времени выполнения системой данного множества типов действий. В процессе оптимизации системы позволяет явно обнаруживать узкие места. Допустим, существует множество компонентов Compa, которые имеют возможные переходы с действиями ai Act(Ci ),Ci Compa. Тогда абсолютной утилизацией ресурса, соответствующего типу действия ai является U = ),Ci Compa.

(Ci i Относительная утилизация ресурса. Под относительной утилизацией ресурса подразумевается эффективность использования конкретного типа действий в системе со статически комбинируемыми процессами, в частности, параллельной кооперации действий. Т.е. данная величина представляет собой меру эффективности параллельного использования типов действий (дисбаланс параллелизма). Для определения относительной утилизации определим понятие преk дельной производительности циклического процесса как Thrproc =, где i есть i интенсивности переходов между состояниями процесса с индексом k в уравнении системы при рассмотрении этого процесса как самостоятельную марковскую цепь.

При этом пассивные действия игнорируются.

Относительная утилизация по типу действия определяется как ~ N k U = Thrproc, где N - число параллельных процессов в уравнении системы, Thr выполняющих данный тип действия, а Thr - общая производительность по типу действия.

Традиционный способ наложения ограничений в моделях “PEPA” заключается во введении в модель дополнительных контролирующих процессов, объединяемых посредством комбинатора кооперации по некоторому общему ограничивающему набору типов действий. При этом уже на этапе генерации марковской цепи отбрасываются состояния, в которые система не может перейти после наложения ограничения. Однако данный метод требует изменение модели каждый раз, когда возникает необходимость изменения наложенных ограничений, что требует выполнения длительной операции генерации новой марковской цепи. Кроме того, введение дополнительных процессов имеет существенный недостаток – усложнение модели, а также возможное увеличение количества состояний в виду возможного введения фиктивных промежуточных действий для кооперации с контролирующим процессом. В ряде источников зафиксировано расширение алгебр процессов посредством добавления в дескриптор действия дополнительных параметров. Однако, такой подход усложняет восприятие модели и управление параметрами. Поэтому, в данной работе расширение производится не для конкретных действий, а для типа действия в целом.

Естественным следствием анализа модели “PEPA” по каждому процессу является ассоциация каждого перехода марковской модели с набором действий, которые становятся активными в этот момент. Поскольку в рамках марковской цепи, генерируемой по модели “PEPA”, один переход между соседними состояниями может быть ассоциирован лишь с одним действием, другие процессы, комбинируемые в данном состоянии кооперацией, также имеют возможные переходы, ассоциированные со своими действиями.

Pages:     | 1 || 3 | 4 |






© 2011 www.dissers.ru - «Бесплатная электронная библиотека»