ПРОБЛЕМЫ ПРИМЕНЕНИЯ ПАРАЛЛЕЛИЗМА В ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМАХ
© Уласень А.Ф.*, Клюев А.В.*, Антоновский Ю.А.*
Военная академия войсковой противовоздушной обороны Вооруженных Сил Российской Федерации имени Маршала Советского Союза А.М. Василевского Министерства обороны Российской Федерации, г. Смоленск
В статье обосновывается насколько эффективно могут быть организованы параллельные вычисления в вычислительных системах реального времени при увеличении сложности решаемых технических задач. Ключевые слова вычислительная система, алгоритм, программа.
С появлением параллельных систем возникли новые проблемы, связанные с тем, как обеспечить эффективное решение задач на той или иной параллельной системе, поэтому оценка эффективности применения параллелизма является актуальной научной задачей.
Формирование подобных оценок ускорения работы вычислительной системы может осуществляться применительно к выбранному вычислительному алгоритму, т.е. оценка эффективности распараллеливания конкретного алгоритма. Другой важный подход может состоять в построении оценок максимально возможного ускорения процесса решения задачи конкретного типа, т.е. оценка эффективности параллельного способа решения задачи [1].
Ускорение, получаемое при использовании параллельного алгоритма для р процессоров, по сравнению с последовательным вариантом выполнения вычислений определяется величиной:
* Начальник 11 кафедры Радиоэлектронного вооружения (войсковой ПВО), кандидат технических наук, доцент.
* Доцент 11 кафедры Радиоэлектронного вооружения (войсковой ПВО), кандидат технических наук, доцент.
" Курсант.
Бр(п) = Т1(п) / Тр(п),
т.е. как отношение времени решения задач на скалярной ЭВМ к времени выполнения параллельного алгоритма (величина п используется для параметризации вычислительной сложности решаемой задачи и может пониматься, например, как количество входных данных задачи), где Т1 определяет время выполнения алгоритма при использовании одного процессора.
В свою очередь эффективность использования параллельным алгоритмом процессоров при решении задачи определяется соотношением
Ер(п) = Т1(п) / (рТр(п)) = Бр(п) / р.
Величина эффективности определяет среднюю долю времени выполнения алгоритма, в течение которой процессоры реально используются для решения задачи.
Из приведенных соотношений можно показать, что в наилучшем случае Бр(п) = р и Ер(п) = 1.
Наряду с этим попытки повышения качества параллельных вычислений по одному из показателей (ускорению или эффективности) может привести к ухудшению ситуации по другому показателю, ибо показатели качества параллельных вычислений являются противоречивыми. Так, например, повышение ускорения обычно может быть обеспечено за счет увеличения числа процессоров, что приводит, как правило, к падению эффективности. И, обратно, повышение эффективности достигается во многих случаях при уменьшении числа процессоров [2, 3].
Вместе с тем оценка качества параллельных вычислений предполагает знание наилучших (максимально достижимых) значений показателей ускорения и эффективности, однако, получение идеальных величин 8р = р для ускорения и Ер = 1 для эффективности может быть обеспечено не для всех вычислительно трудоемких задач.
Достижению максимального ускорения может препятствовать существование в выполняемых вычислениях последовательных расчетов, которые не могут быть распараллелены. Пусть / есть доля последовательных вычис-
лений в применяемом алгоритме обработки данных, тогда в соответствии с законом Амдала (Amdahl) ускорение процесса вычислений при использовании p процессоров ограничивается величиной:
s's ТЛЕЛs s ■=f
p
Так, например, при наличии всего 10 % последовательных команд в выполняемых вычислениях, эффект использования параллелизма не может превышать 10-кратного ускорения обработки данных. Отсюда можно сделать вывод, что не любая программа может быть эффективно распараллелена. Для того чтобы это было возможно, необходимо, чтобы доля информационно независимых операций была очень большой.
Максимально достижимое ускорение, исходя из имеющейся доли последовательных расчетов в выполняемых параллельных вычислениях оценивается как:
т( п)
g:
т(п) + ж(п) / p
где т(п) и п(п) есть времена последовательной и параллельной частей выполняемых вычислений соответственно, т.е.
Т1 = т(п) + п(п), Тр = т(п) + п(п) / р.
С учетом введенной величины g можно получить
т(п) = g(т(п) + п(п) / р), п(п) = (1 - g)p(т(п) + п(п) / р),
что позволяет построить оценку для ускорения:
£ Ф) _(т(п) + ж(п) 1р)g +(1-g)р
p
Тр т(п } + ж(п) / p т(п) + ж(п) / p
которая после упрощения приводится к виду закона Густавсона-Барсиса:
8р = g + (1 - Е)р = р + (1 - р)&
При рассмотрении данного закона следует учитывать, что при увеличении числа используемых процессоров темп уменьшения времени параллельного решения задач может падать после превышения определенного порога. Однако при этом за счет уменьшения времени вычислений сложность решаемых задач может быть увеличена.
Таким образом, достижение максимальной эффективности работы параллельной вычислительной системы или СуперЭВМ возможно только при условии тщательного согласования структуры программ и алгоритмов с особенностями архитектуры параллельной вычислительной системы [3]. Оценка получаемого при этом ускорения определяет насколько эффективно могут быть организованы параллельные вычисления при увеличении сложности решаемых технических задач. Такая аналитическая оценка тем более полезна, поскольку решение более сложных технических задач на одном процессоре может оказаться достаточно трудоемким и даже невозможным.
Список литературы:
1. Волосенков В.О., Морозов А.В. Способ построения средств комплексной отладки программного обеспечения специализированных ЭВМ функционирующих в режиме реального времени // Вестник Оренбургского Государственного университета. - Оренбург, 2006. - № 2, Т. 2. - С. 136-140.
2. Высокопроизводительные вычисления / В.Л. Баденко. - СПб.: Изд-во Политехи. ун-та, 2010. - 180 с.
3. Теоретические основы обеспечения надёжности СуперЭВМ перспективных образцов вооружения войск ПВО СВ: монография / А.Ф. Уласень, А.В. Морозов. - Смоленск: ВА ВПВО ВС РФ, 2013. - 197 с.