WWW.DISSERS.RU

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

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

Pages:     | 1 | 2 || 4 |

Множество возможных комбинаций активных действий в любом состоянии системы Sys{C,Ci2 KCij } есть декартово произведение условных множеств активных i1 j1 jдействий по компонентам всех процессов системы:

CAct({Ci j1,Ci j2 KCij}) = Act(Ci k1 | f><({Ci j1,Ci j2 KCij})...

1 2 1 1 Act(Ci k 2 | f><({Ci j1,Ci j2 KCij}) K Act(Cij | f><({Ci j1,Ci j2 KCij}) 1 2 1 В общем случае CAct({Ci j1,Ci j2 KCij}) = {RAct1, RAct2 KRActn}, где RAct есть 1 элементарное множество действий по различным процессам уравнения системы.

Кроме того, система описывается конечной матрицей доступных ресурсов и матрицами реакции на превышение ресурсов, соответственно i i i RS1,1 RS2,1... RSm, k1,1 k2,1... km,ki k2,2... km,RS RS2,2... RSm,i i 1,i 1, SYSRS =, где n – количество тии SYSex =............

............

RS RS2,n... RSm,n i i i 1,n k k2,n... km,n 1,n пов ресурсов, m – количество виртуальных вычислительных систем, на которых происходит выполнение процессов, i = {1,2,3}.

Каждый столбец матриц определяет предельный условный объем некоторых ресурсов виртуальной вычислительной системы VMk, на которой выполняется конечное множество процессов {Prock1, Prock2…Prock1}.

Действие характеризуется определенным типом и является неделимым, переводящим систему в другое состояние. Различают активные и пассивные действия. Каждый тип действия i характеризуется параметром вектором потреблеrsi,1 ti, rs ti,i, ния ресурсов act =, где rsi,j есть величина потребления j-го ресурса, ti,j......

rs ti, i, j j есть среднее время, за которое происходит потребление ресурса j. Нулевое значение ti,j является признаком статического потребления ресурса, независимо от ).

i, j j j t > 0,(rsi, ti, Активные дейk времени, т.е. функция потребления Use(act ) = ti, j = 0,(rs ) i, j ствия характеризуются коэффициентом активности ra. Пассивное действие может быть реализовано только в рамках кооперации с компонентом, описывающим активное поведение системы. Пассивное действие не потребляет ресурсы.

Таким образом, для любого перехода, переводящего систему Sys{C,Ci2 KCij } в i1 j1 jсоседнее состояние через действие a, множество потреблений ресурсов определяется как матричная сумма:

k k Rsm = ),actw RAct, RAct CAct({Ci j1,Ci j2 KCij}), Pk VM, где k- Use(actw m 1 v k w индекс процесса в уравнении системы, v - индекс множества Rs в множестве комбинаций переходов для состояния Sys{C,Ci2 KCij }, w-индекс действия во множестве i1 j1 jактивных действий, m-индекс виртуальной машины.

Критерий не превышения ресурса j: Rsm SYSm v.

j j 1) Интенсивность активных действий в состоянии, вызвавшем максимальное преRsm j вышение ресурса j есть функция, () = f (), где =.

RSi, j ki3, j ki3, j RSi, j Для функции f () вида f () = f1() f2(). Приняты f2() = =, Rsm j ki, j ki, j ki2 Rsm где ki3 = 1 и f1()=1- FWeibull(, )( -1) = exp-(ki2 ( -1)) = exp- j -, j, j, j RSi, j Итоговая функция коррекции интенсивности имеет следующий вид:

ki, j ki3, j j j exp Rsm RSi, =, j - ki2 RSi, - Rsm j j В главе рассмотрено применение конструкций алгебры “PEPA” для моделирования ИС. Рассмотрены особенности применения “PEPA” как для элементарных структур типа очередей обработки, так и более сложные подсистемы, включая иерархический внутренний параллелизм, обеспечиваемый в реальных ИС разработанным в данной работе параллелизатором.

Применительно к объекту исследования ОСУБД и ИПС на её основе, разработаны модели различного уровня детализации и отдельных подсистем.

В главе «Характеристики производительности СУБД с использованием адаптивного планировщика параллельных запросов» проводится разработка метода и его реализация в виде программного модуля, обеспечивающего асинхронное параллельное выполнение операций. В отличие от других работ по организации параллельной обработки данных (Volcano – G. Graefe; DBS3 - Mikal Ziane и др.; Gamma - D. DeWitt; Омега – Соколинский Л.Б., Цимблер М.Л.), разработанный метод позволяет его использовать не только в рамках монопольного использования ресурсов ВС для решения задач СУБД, но и в составе комплекса программ, функционирующего на тех же ВС с учетом текущих ресурсов ВС. Отличием разработанного метода организации параллелизма от традиционных подходов типа MPI, OpenMP, mpC является наличие централизованного управления степенью параллелизма и возможность реакции на динамическое состояние ВС, посредством обратной связи через корректор параллелизатора.

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

Заявки и результаты обработки Модуль управления обработчиками Планировщик Корректор Очереди заявок по типам Диспетчер Измеритель обработчиков Таймер обращений веса операции Cop, HndThread Селекторы +wop Разрешение HndThread сообщений Анализатор обработки Анализатор состояния Анализатор Обработчики типа "m" рекурсивного ВС состояния вызова Обработчики типа "1" Wcurrent H11 H1l Весовой Модуль Wsystem...

корректор задержки Очереди результатов по Формирователи -wop типам результатов обработчиков Анализатор % загрузки, длина входной очереди загрузки hnd обработчиков Функциональная схема асинхронного адаптивного параллелизатора Программный модуль «параллелизатор» обеспечивает максимально возможное параллельное выполнение всех поступивших операций не конвейерного типа. Решение о постановке операции (соответствующей ей заявки) принимается планировщиком. Корректор обеспечивает контроль состояния ВС и внесения поправок в планировщик. Выполнение обеспечивается обработчиками.

Формально определим параллелизатор.

Параллелизатор: Par = , где WSYS, Wcur – векторы доступных ресурсов и текущего состояния системы.

Множество обработчиков: Hnd={hnd}, где hndj=<{op}, stj>, где opA, A – множество типов операций (число каналов обработки для различных операций различно).

Текущее состояние j-го обработчика sti = < nc, Nc, lin, lout, Lin, Lout >, где nc, Nc- число активных и доступных каналов обработки, lin, Lin - текущая и допустимая длины входной очереди, lout, Lout текущая и допустимая длины выходной очереди.

Операция opi=< {tin}, { tout}, Wop,i >, где tin, toutT - типы входных и выходных параметров, T – множество типов данных.

Заявка q=<№, pr, params:opi, Wq>, где № - последовательный номер операции в системе, pr – приоритет заявки, params:opi =< {paramin:tin}, { paramout:tout} > – множества значений входных и выходных параметров соответствующих типов.

rs1 w1 RS rs w2 RS Wcur =, Wop,i =, WSYS =, где Wcur - вектор текущего состояния,.........

rsN wN RSN Wop,i - вес операции, WSYS - вектор доступных ресурсов, rsj - величина потребления jго ресурса, N – число типов ресурсов, wj – величина потребления j-го ресурса, по лученная на основе априорных данных или в результате накопленных статистических данных во время работы системы, i – тип операции, RSj – Допустимая величина потребления j-го ресурса, полученная на основе априорных данных или выполненного тестирования. Частным случаем условия постановки заявки операции j j j на выполнение является неравенство WSYS W +Wop,i для всех ресурсов. Расcur смотрены и другие варианты планирования, однако до стадии реализации доведена именно эта схема.

В работе проводится анализ доступных для измерения ресурсов ОС MS Windows счетчиков производительности, необходимых для работы корректора.

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

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

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

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

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

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

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

Для учета взаимного влияния процессоров через подсистему памяти, на модель подсистемы полнотекстового поиска наложено параметрическое ограничение. Характер взаимного влияния общего ресурса в системе известен и может быть аппроксимирован обратной степенной функцией, входящей в состав ранее указанной формулой коррекции интенсивностей марковской цепи. Коэффициент log[1+ %MEM (1/ kОЗУ (n) -1)], где время выполнения кода програмвычислен как k3 = i log(n) мы распределяется между временем обмена с ОЗУ и временем работы ЦП. Причем, доли выполнения связаны соотношением %CPU = 1- %MEM, при условии пренебрежения потерей времени на остальных аппаратных подсистемах. Учитывая, что коэффициент k3 в начальный момент может быть подобран эмпирически, это i позволяет оценить распределение долей времени работы ЦП и обмены ОЗУ на конкретной ВС. Из приведенного выражения можно определить, что i nk -%MEM =. Пересчет долей времени выполнения выполняем по формуле 1/ kОЗУ (n) -ThrMEM %MEM ThrMEM _ новая %MEM _ новая =, где ThrMEM и ThrMEM _ новая пропускные ThrMEM ThrCPU %MEM + %CPU ThrMEM _ новая ThrCPU _ новая способности подсистем памяти существующей и новой системы, а ThrCPU и ThrCPU _ новая индексы производительности процессоров в соизмеримых величинах существующей и новой системы (Для процессоров одной серии для пересчета производительности применимы значения тактовых частот).

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

Pages:     | 1 | 2 || 4 |






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