ИСПОЛЬЗОВАНИЕ ЧИСЛЕННЫХ МЕТОДОВ ОПТИМИЗАЦИИ ДЛЯ ОЦЕНКИ РИСКА ПОТЕРИ ЗАЯВОК В РАСПРЕДЕЛЕННЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМАХ
В.Я. Пророк, доктор технических наук, доцент. Санкт-Петербургский университет ГПС МЧС России. А.А. Корытко.
Военно-космическая академия им. А.Ф. Можайского
Рассматривается задача выбора оптимального значения производительности базового вычислительного элемента распределенной вычислительной системы автоматизированной информационно-управляющей системы Единой государственной системы предупреждения и ликвидации чрезвычайных ситуаций в условиях среды целенаправленного возмущения. Поиск оптимального значения осуществляется на основе использования метода штрафных функций, для нахождения значений которых используется алгоритм нечеткой классификации штрафов.
Ключевые слова: метод штрафных функций, распределенная вычислительная система, алгоритм нечеткой классификации штрафов
USAGE OF THE NUMERICAL METHOD OPTIMISATION FOR RATING OF RISKS OF LOSSES OF REQUESTS IN DISTRIBUTED COMPUTATION SYSTEMS
V.Y. Prorok. Saint-Petersburg university of State fire service of EMERCOM of Russia. A.A. Korytko. Military space academy named after A.F. Mozhayskogo
Consideres the problem of choosing the optimal value of the performance of basic computing element of the distributed system of the automated information control system of uniform state system of prevention and liquidation of emergency situations in environment deliberate disturbance. The search of the optimal value is performed by using the method of penalty functions for finding the values which uses an algorithm fuzzy classification fines.
Keywords: method of penalty functions, a distributed computation system, algorithm fuzzy classification penalties
Современные действия МЧС России характеризуются решительностью целей, высокой динамичностью и маневренностью сил, широким применением новых технических средств. В этих условиях резко увеличивается количество информации, которую должны перерабатывать органы управления для обеспечения обоснованности принимаемых решений. Целями развития автоматизированной информационно-управляющей системы (АИУС) являются повышение оперативности, надежности, обоснованности и качества принятия управленческих решений по предупреждению и ликвидации чрезвычайных ситуаций в России на основе развития информатизации и интеграции информационных ресурсов, широкой и всесторонней автоматизации процессов управления силами и средствами Единой государственной системы предупреждения и ликвидации чрезвычайных ситуаций (РСЧС).
Согласно закону Мура производительность процессоров удваивается каждые 18 месяцев. Рост уровня производительности современных вычислительных систем (ВС) осуществляется за счет совершенствования элементной базы, архитектуры построения
60
процессоров, интегрирования в кристалл процессора все большего количества вычислительных ядер и устройств. Увеличение числа вычислительных устройств, функционирующих в едином информационном пространстве, сопровождается увеличением потерь их суммарной производительности на организацию асинхронного выполнения вычислительных процессов, повышенным тепловыделением, а также быстрорастущей сложностью построения и дальнейшего программного и технического сопровождения системы. С целью минимизации перечисленных эффектов, возникающих при создании распределенных многопроцессорных ВС, в зависимости от спектра решаемых задач и требований, предъявляемых к оперативности их решения, осуществляется выбор типа многопроцессорной ВС (SMP, NUMA и др.), а также оптимального значения производительности одной вычислительной единицы системы для заданной архитектуры процессора и топологии вычислительной сети.
В данной статье предлагается методика расчета оптимального значения производительности одного вычислительного ядра многопроцессорной ВС АИУС, обслуживающей множественный поток заявок.
В терминах теории систем массового обслуживания основные показатели эффективности функционирования ВС делятся на две группы - счетные и временные [1]. К счетным показателям относятся функции распределения интенсивности поступления заявок на вход ВС, вероятность отказа в приеме на обслуживание заявки, вероятность нулевого ожидания заявкой обслуживания в ВС, среднее число заявок в системе, среднее число свободных каналов в системе, среднее число занятых каналов. К наиболее существенным временным показателям относятся функция распределения времени пребывания заявки в системе, а также функция распределения времени ожидания заявок в ВС. Перечисленные показатели определяются интенсивностью потока заявок рабочей нагрузки, интенсивностью обслуживания заявок одним обслуживающим каналом, а также их количеством.
Современные специализированные распределенные ВС создаются на базе многоядерных процессоров специального и универсального назначения, таким образом, целесообразно рассматривать в качестве базового вычислительного элемента вычислительное ядро (ВЯ) процессора. Значение производительности одного ВЯ будем считать оптимальным, если его использование соответствует минимальному значению функционала вида:
СД/ EÎM) = р0• Кр(ц) + ]Гр<(Ь12lm)•P(ш, >ш*|ц,), (1)
где юг, ю* - время нахождения заявки г -го типа и ее максимально допустимое время обслуживания соответственно в вычислительном комплексе, в котором интенсивность обслуживания заявок одним ВЯ равна ц; в, в - штрафы за простой вычислительного комплекса и за превышение допустимой длительности обслуживания заявки г -го типа в условиях Ь; К - коэффициент простоя вычислительного комплекса с интенсивностью
обслуживания заявок одним ВЯ - ц; Р ^щ > ю* | ц^ - вероятность превышения допустимого
времени ожидания обслуживания заявкой г -го типа в вычислительном комплексе с интенсивностью обслуживания заявок одним ВЯ - ц; М - количество типов потоков,
циркулирующих в вычислительной системе; /г е Ь , здесь Ь - множество текущих задач, для
выполнения которых необходима своевременная обработка заявки г -го типа.
Расчет оптимального значения производительности одного вычислительного ядра на основе алгоритма нечеткой классификации штрафов
Для определения требуемого значения производительности одного ВЯ распределенной ВС, обеспечивающего минимизацию функционала (1), воспользуемся методом штрафных функций, основанным на применении алгоритма нечеткой
классификации штрафов. Вероятности Р(щ > ш* ц) выражения (1) вычисляются либо
аналитически (методами теории систем массового обслуживания), либо с помощью процедуры имитационного моделирования. Согласно работе [2] в случаях, когда получить распределение времени ожидания заявок в явном виде аналитическими методами невозможно, его можно с удовлетворительной точностью аппроксимировать выражением вида:
Р ( ш < т) = 1 - р • ехр (-р Vю),
где р - коэффициент загрузки ВС; ш - среднее время ожидания заявки.
Штраф, назначаемый за превышение допустимого времени нахождения заявки в ВС, является динамическим, то есть принимает различные значения в зависимости от сложившейся ситуации - текущего приоритета решаемых задач и потребности для их решения в результатах обработки заявки. Формализовать функции штрафов на основе статистической информации, как правило, не удается, так как статистическая выборка ограничена значениями, которые были достигнуты в процессе функционирования ВС, и не содержит информации о качестве функционирования ВС во всевозможных условиях. Для нахождения значений штрафов используются методы нечеткого кластерного анализа. Применительно к рассматриваемой задаче используется алгоритм нечеткой классификации штрафов, суть которого заключается в разбиении объектов обучающей выборки (ОВ) по классам путем кластеризации на основе алгоритма c-means, использующего нечеткую логику.
В качестве исходных данных алгоритм нечеткой классификации штрафов использует:
- ОВ с известными параметрами первоначальной классификации штрафов:
^ I = 1М; п = },
где М - число объектов выборки для заявок ] -го типа; и - размерность вектора показателя X^ = |х1, Х2,..., Ху |, характеризующего степень выраженности совокупности
задач, решаемых ВС;
- функции принадлежности штрафов:
{цк : I = 1,М; I = 1, К},
где К - количество центров классов установленных штрафов за превышение допустимого времени нахождения заявки в системе;
- универсальные множества Е = {вп, еп, ^з}, элементы которых характеризуют
возможные решения классификатора о величине штрафа за задержку обработки заявки типа ], элементы множества ву1, в .2, в .3 соответствуют низкому, среднему и высокому штрафу
соответственно.
Значения указанных параметров определяются на основе мнения экспертов, исходя из их опыта и интуиции. Возможные значения терма, характеризующего величины векторов
X ., принадлежат интервалу 1,10. Дополнительно к векторам X . вводится вектор весовых коэффициентов Л = {Л1,Л2,...,Л1/}, где значение - нормированный коэффициент важности
задачи 1 -го типа, рассчитываемый методом последовательных вариаций. Благодаря введению данного вектора весовых коэффициентов появляется возможность увеличения степени влияния на результаты работы алгоритма нечеткой кластеризации штрафов задач, потребность выполнения которых возникает сравнительно редко, но вместе с тем требующих наибольшей оперативности. Далее для каждого объекта ОВ осуществляется свертка векторов X . в скалярную форму с помощью выражения: х = Xj -Лт. На основе сформированной нечеткой базы знаний нечеткий классификатор штрафов реализует отображение видах ^ У е Е суть которого заключается в следующем.
Мера принадлежности [3] штрафа к одному из элементов множества Е. для заданного
уровня четкости - а согласно работе [4] вычисляется на основе итерационной процедуры, включающей два основных этапа.
Первый этап заключается в расчете центров классов классификации объектов множества ОВ Уш:
Е (А (х))2 • х
^ = ^ , „ Л2 , если Е А (х))2 - 0,
Е А (X)) ^(а)
xEXj (а)
где ^ - номер итерации алгоритма.
Второй этап заключается в расчете значений функции принадлежности потенциального штрафа в условиях обстановки х для заданного уровня нечеткости:
1/|| -V. ||2
А (X) = к , , а ,,, если IX - У,Л2 > 0;
Е х - Уа || )
1 =1 4 '
, , Г1,1 = а — ,, ||2
А (х) = 1Л • , где 1 = 1 К,если Х - У а =
1 [0,1 - а
Оба этапа выполняются итерационно до тех пор, пока разница полученных значений центров классов для заданной ОВ не будет удовлетворять условию:
У - у*-1|2 <£
У их 1а |
где а - минимально допустимое различие значений центров классов, полученных на двух последовательных итерациях.
Результатами работы описанного алгоритма являются вектор, содержащий центры кластеров для каждого класса, а также соответствующие им значения функции принадлежности объектов ОВ к классам классификатора. Поскольку значения принадлежности штрафа к одному из классов характеризуются нормированной величиной, четкое значение штрафа в ситуации, характеризуемой 1 объектом ОВ, получим, воспользовавшись выражением:
к
в 1 =Ее • V (4 V*у ), (2)
1=1
где e. - элемент множества E..
i J
Выражение (2) осуществляет приведение к четкости величины и (x), в соответствии
с дискретным вариантом центроидного метода подобный прием является классическим и используется во многих алгоритмах нечеткого логического вывода [5].
Аргументом функции, характеризующей значения величины штрафа за простой вычислительных устройств, является число вычислительных ядер, используемых в ВС. При этом данная функция должна достаточно быстро возрастать при приближении значения ее аргумента к величине, задаваемой числом вычислительных ядер на одном типовом процессоре, и продолжать увеличиваться с дальнейшим ростом значений аргумента. Указанному свойству удовлетворяет логарифмическая зависимость, следовательно, штраф за простой ВС можно представить математическим выражением следующего вида:
Р0 (п) = log, (п),
где к - число ядер в базовом процессоре; п - общее число ядер в вычислительной системе.
Классическим способом определения оптимального значения производительности в постановке данной задачи (1) является решение дифференциального уравнения:
К (и ) м P(Ю > ю*| и )
во•^р1+ZРг{k, 12m). ( i i|Ui)=0. (3)
Ащ г=1 A(j,j
Но в случае многопроцессорных ВС вид функций P(юг > ю*|и), Кпр (и)
не позволяет решить дифференциальное уравнение (3) аналитическими методами. В связи с чем для нахождения производительности вычислительного ядра, обеспечивающей минимум функционала (1 ), применяются численные методы оптимизации нулевого порядка. При фиксированных значениях штрафов, входящих в функционал (1 ), рассматриваемая задача сводится к задаче одномерной минимизации.
Существует два основных класса функций - унимодальные функции, то есть функции, имеющие единственный экстремум, а также многоэкстремальные функции. Так как универсальных методов, пригодных для минимизации произвольных функций одной переменной не существует, необходимо определить, к какому из перечисленных классов принадлежит функционал (1). Для решения данной задачи используются методы выпуклого анализа [6].
В случае показательного распределения времени обслуживания заявок ВС слагаемые функционала (1), представляющие вклад заявок i -го потока в его итоговое значение, являются строго выпуклыми функциями, компонент, характеризующий простой ВС, является выпуклой функцией. В соответствии с теоремой 3.2 работы [6], гласящей, что если fx,...,fm - выпуклые функции на выпуклом множестве X, ах,...,ат - неотрицательные
числа, тогда функция f (x) = ^г_1 ai f (x) выпукла на X, функционал (1) - выпуклый. Вид
функционала (1) и его компонент для 32-х ядерной ВС с дисциплиной обслуживания FIFO, созданной на базе двухъядерных процессоров, обслуживающей заявки двух типов, представлен на рис. 1. Штраф за простой ВС - Р0 равен 5, за превышение допустимого времени обслуживания заявки первого типа - в равен 6,95, заявки второго типа - Р2 равен 1,97. Заявки первого типа поступают на обслуживание группами по 400 штук в условиях отсутствия в очереди необработанных заявок второго типа, при этом их суммарное количество ограничено 4 500 единицами. Интенсивность поступления заявок второго типа принимается равной 0,97 заявок в секунду. Среднее время обслуживания заявки первого
типа в 4 раза продолжительнее, чем для заявки второго типа. Предельно допустимое время нахождения в системе заявки первого типа полагается равным 12 000 с, заявки второго типа 2 000 с. Поступление заявки второго типа в процессе обработки заявки первого типа не прерывает выполнения последней до тех пор, пока не будет обработана вся группа.
Рис. 1. Значения оптимальной интенсивности обслуживания заявок одним ядром для 32-х ядерной вычислительной системы
Расчет субоптимального значения производительности вычислительного ядра осуществляется путем полного перебора всевозможных комбинаций штрафов за простой, полученных квантованием интервала (у; У ) по Дх; и последующего нахождения значения
интенсивности обслуживания заявки, при котором функционал (1) достигает минимального значения. Поиск соответствующего значения аргумента осуществляется с помощью какого-либо алгоритма минимизации значений функции, например метода Фибоначчи. Оценка требуемого значения производительности вычислительного ядра, близкого к оптимальному значению, осуществляется методами математической статистики и теории вероятностей на основе частот проявления уникальных значений производительности.
Описание процедуры расчета оптимального значения производительности одного
вычислительного ядра
В качестве примера произведем расчет требуемого значения производительности ВС, используемой для построения графика функционала (1), изображенного на рис. 1. Считается, что критическое множество задач, решаемых рассматриваемой ВС, состоит из пяти элементов - задач х , х , х , х , х соответственно. Обучающие выборки первоначальной классификации штрафов представлены в табл. 1 для потока заявок первого типа и табл. 2 для потока заявок второго типа.
Таблица 1. Вектор X1 и соответствующая ему классификация штрафов
№ У, У 2 Уз У 4 У 5 V 2 V 3
1 2 4 5 1 1 0,7 0,3 0
2 2 4 5 1 2 0,65 0,35 0
3 3 6 7 1 3 0,5 0,4 0,1
4 4 8 8 2 4 0,2 0,6 0,2
№ У1 У У3 У 4 У 5 Ц1 Ц 2 Ц 3
5 5 10 9 2 5 0 0,7 0,3
6 6 10 10 1 6 0 0,55 0,45
7 7 10 10 3 8 0 0,4 0,6
8 8 10 10 3 9 0 0,2 0,8
9 10 10 10 4 8 0 0,15 0,85
10 10 10 10 4 9 0 0,1 0,9
Таблица 2. Вектор Х2 и соответствующая ему классификация штрафов
№ х^ Х2 Хт Х4 Х^ Ц1 Ц 2 Ц 3
1 2 1 2 2 1 0,9 0,1 0
2 3 2 3 2 2 0,8 0,2 0
3 3 2 4 2 1 0,7 0,3 0
4 4 3 5 3 3 0,4 0,5 0,1
5 5 5 7 4 5 0,2 0,7 0,1
6 6 5 8 5 6 0 0,65 0,35
7 7 6 8 6 8 0 0,5 0,5
8 8 6 9 7 9 0 0,3 0,7
9 9 8 10 8 8 0 0,15 0,85
10 10 10 10 9 9 0 0,05 0,95
Универсальное множество Е состоит из элементов вп = 3,84, в12 = 7,68, в13 = 11,52, множество Е - из элементов в21 = 1, в22 = 2, в23 = 3 . Начальное значение векторов весовых коэффициентов Л1 и Л2 одинаково и представляется в виде Л = {0,2; 0,2; 0,2; 0,2; 0,2}, в результате применения метода последовательных вариаций данные вектора преобразуются к виду Л ={0,23; 0,29; 0,13; 0,25; 0,1}, Л2 ={0,26; 0,25; о,1; 0,22; 0,17} . График функций
принадлежности объектов ОВ, а также функции штрафа, полученные в результате применения описанного выше алгоритма для исходных данных, используемых при построении графика функции, изображенного на рис. 1, приведены на рис. 2. Значения соответствующих центров классов представлены в табл. 3.
Таблица 3. Значения центров классов элементов множеств Х1 и Х2
К> К 2 Къ
Х> 2,98 5,99 7,97
X 2 2,31 5,67 8,56
Интервал возможного значения штрафа за превышение допустимого времени обработки заявки I -го типа в зависимости от условий функционирования ВС рассчитывается на множестве возможных значений аргумента х , принадлежащего интервалу (К, К ) . Для
полученных таким образом значений штрафов рассчитывается интервал локализации минимума функционала (1) с помощью метода Фибоначчи. При этом число итераций метода Фибоначчи полагается равным 12, что при интервале возможных значений длительности обработки заявки базового типа от 0,1 с до 8 с допускает максимальную длину локализации
66
минимума (1), равную 0,017 с. Здесь предполагается, что для заданной архитектуры базового процессора ВС отношение времени обслуживания заявки первого типа к заявке второго типа является константой. В проводимом вычислительном эксперименте отношение времени выполнения заявки первого типа к заявке второго типа считается равным 4.
Рис. 2. Результаты работы алгоритма нечеткой классификации штрафов
Значения производительности одного ВЯ, полученные в результате применения описанной методики, а также частота их проявления представлены на рис. 3.
Полученные частоты требуемых значений производительности одного ВЯ позволяют получить распределение соответствующей дискретной случайной величины. Таким образом, для ВС, функционирующих в условиях целенаправленного возмущения, оказывающего влияние на эффективность процесса функционирования системы, становится возможным использование принципа гарантированного результата [7]. Данный принцип гарантирует, что в любых возможных условиях среды функционирования ВС вероятность превышения времени нахождения заявки не превысит предельно допустимого значения.
Гистограмма частот требуемой проиеводнтв.пьности одного вычислительного ядра
I I I М[т.]=9,89 (с) - II! атическое ожидание
- -
1 1
01_I_I__I_I_I_I_I_I_Н_I_I_I_ЬП_I_Ш_Н__I_
В 8.1 8.2 8.3 В.4 8.5 8.8 8.7 8.8 8.9 9 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 16 16.1 16.2 18.3 18.4 10.5
Среднее время обраВо.ти одной заявки (с)
Рис. 3. Результаты применения описанной методики
Использование алгоритма нечеткой классификации штрафов позволяет рассчитывать оптимальные значения требуемой производительности вычислительных единиц распределенных ВС для режимов функционирования системы, в которых отсутствует
статистическая информация о ее поведении. Использование описанной методики на этапе составления тактико-технических заданий позволяет обоснованно формулировать требования к производительности базовых вычислительных устройств, используемых для построения ВС. Описанная методика позволяет рассчитывать так называемую относительную производительность, не учитывающую потери производительности на организацию асинхронного выполнения программ в системе. Решение данной задачи осуществляется индивидуально для конкретной ВС, а ее результаты используются в качестве соответствующих поправок для результатов, полученных с помощью применения описанной методики.
Литература
1. Рыжиков Ю.И. Теория очередей и управление запасами. СПб.: Питер, 2001. 384 с.
2. Основы теории вычислительных систем / С.А. Майоров [и др.]. М.: Высш. шк., 1978. 408 с.
3. Кофман А. Введение в теорию нечетких множеств. М.: Радио и связь, 1982. 432 с.
4. Wu K.L., Yang M.S. A clustering validity index for fuzzy clustering. Pattern Recognition Letters. Vol. 26. Issue 9. 2005. 1 July P. 1275-1291.
5. Круглов В.В., Борисов В.В. Искусственные нейронные сети. Теория и практика. М.: Горячая линия «Телеком», 2002. 382 с.
6. Сухарев А.Г., Тихомиров В.В., Федоров В.В. Курс методов оптимизации. М.: Физматлит, 2008. 368 с.
7. Калинин В.Н. Теоретические основы системных исследований: краткий авторский курс лекций для адъюнктов академии. СПб.: Воен. косм. акад. им. А.Ф. Можайского, 2011. 278 с.