УДК 519.872
С. Н. Ефимов, И. А. Панфилов
РАЗРАБОТКА МЕТОДА ВЫБОРА СТРУКТУРЫ МНОГОПРОЦЕССОРНЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ
Приводится формальная оптимизационная постановка задачи выбора эффективного варианта многопроцессорных вычислительных систем (МВС) и обсуждаются ее свойства. Показаны результаты сравнительного анализа методов получения значений целевой функции в задаче оптимизации. Предлагаются к рассмотрению различные поисковые алгоритмы, формирующие структуру МВС.
Средства вычислительной техники становятся все более незаменимым инструментом для комплексной автоматизации процессов сбора и переработки информации, принятия решений и управления в самых разных областях человеческой деятельности. За последнее десятилетие рост производительности компьютеров, объема их оперативной и внешней памяти, пропускной способности внешних устройств и каналов связи качественно изменил ситуацию в вычислительной технике и сферах ее применения. Но, несмотря на это, существует немало задач, решение которых невозможно получить на стандартном компьютере за приемлемое время, а также задач по обеспечению управления объектом в режиме реального времени. А в случае когда речь идет об объектах, связанных с жизнью людей, вопрос о производительности компьютера приобретает особую остроту.
Повышение эффективности работы компьютера может достигаться двумя путями: либо за счет изменения аппаратной составляющей системы, либо за счет изменения ее программной составляющей посредством разработки новых алгоритмов, распараллеливания вычислений, правильной организации вычислительных процессов.
Известны два пути увеличения скорости работы вычислительных систем: повышение тактовой частоты элементной базы вычислительных устройств и параллельное выполнение вычислений за счет перехода от однопроцессорных к многопроцессорным вычислительным системам.
Первый путь имеет ограниченные возможности. В настоящее время тактовая частота элементов ЭВМ достигает нескольких гигагерц, при этом даже использование наиболее перспективных разработок сможет обеспечить увеличение тактовой частоты не более чем на порядок. Следовательно, данная возможность увеличения скорости работы ЭВМ имеет предел, который уже достигнут. Однако достижение этого предела не сможет внести принципиальных изменений в скоростные и точностные характеристики вычислительных систем.
Второй путь повышения скорости работы вычислительных систем состоит в переходе от однопроцессорных к многопроцессорным вычислительным системам и распараллеливании процессов вычислений и обработки информации как на уровне процессоров многопроцессорных систем, так и на уровне выполнения элементарных операций внутри процессоров. Этот путь является наиболее перспективным и не содержит принципиальных ограничений в повышении скорости и точности работы вычислительных устройств. Однако и на этом пути имеются достаточно серьезные трудности, для преодоле-
ния которых требуется значительная исследовательская работа и новые идеи в области архитектуры многопроцессорных систем, структуры процессоров, организации памяти и каналов обмена информацией.
Улучшения ситуации можно добиться, если максимально переложить на оборудование заботы по обеспечению жизнедеятельности вычислительной системы и создать удобные и эффективные аппаратные средства, которые обеспечивали бы потребности развития математического обеспечения в наращивании квалификации вычислительной системы.
В вычислительных системах разделяются функции управления вычислительным процессом и осуществления самих вычислений, связанного с обработкой поступающей информации. Эти две функции могут выполнятся различными процессорами. Часть процессоров, предназначенных для выполнения основного объема вычислительных операций, целесообразно сориентировать на аппаратную реализацию наиболее часто встречающихся и занимающих значительное время операций с целью повышения общей производительности вычислительной системы, так как аппаратная реализация вычисления длинных функций осуществляется в десятки раз быстрее, чем их программная реализация. В связи с этим возникает необходимость в разработке метода выбора множества макроопераций, которые лучше реализовать аппаратными средствами. Необходимо также разработать алгоритм оценки эффективного быстродействия специальных процессоров в связи с тем, что при фиксированном количестве шин, объединяющих процессоры с оперативной памятью, производительность многопроцессорной вычислительной системы (МВС) в целом, при увеличении быстродействия специальных процессоров, будет уменьшаться за счет возросшего числа конфликтов, возникающих при одновременном обращении процессоров к оперативной памяти.
Все предлагаемые выше пути повышения эффективности могут быть оценены только при наличии математической модели функционирования вычислительной системы.
В [1] были построены аналитические и имитационные модели, позволяющие осуществлять оценку производительности, которая является основным показателем эффективности функционирования многопроцессорных вычислительных систем.
Для получения оценок производительности процесс функционирования МВС представлен в данной статье замкнутой системой массового обслуживания (СМО) с ожиданием и случайным распределением запросов всех
типов по всем шинам без взаимодействия между собой. При этом предполагается, что суммарный поток запросов от процессоров каждого типа является простейшим с параметром V. (, = 1, N, где N - количество типов процессоров), а время обслуживания подчиняется экспоненциальному закону распределения с параметром ц.. Каждый процессор в некоторые случайные моменты времени нуждается в обслуживании. Обслуживание осуществляется в памяти посредством п шин. Вновь поступивший на обслуживание запрос направляется с равной вероятностью в любую из свободных шин и принимается на обслуживание. Если все шины заняты, то поступивший на обслуживание запрос становится в очередь и ждет своего обслуживания. Дисциплина обслуживания - случайный равновероятный выбор из очереди.
Система массового обслуживания может находиться в следующих состояниях:
- яо’о о - в системе запросов на обслуживание нет,
шины свободны;
1,0
- а1’0 0 - в системе находится один запрос от процессора первого типа, в одной шине обслуживается один
запрос, очереди нет;
1,0
- а00 1 - в системе находится один запрос от процессора ^го типа, в одной шине обслуживается один запрос, очереди нет;
- а*^ ;2 ^ - в системе находится j. запросов от процессоров г-го типа, где i = 1, 2, .., N к шин занято обслуживанием, I запросов находятся в очередях на обслуживание, где к = 0,к; / = 0, (М-к);
к,М-к
- ащ,т,...,т - в системе находится т.запросов от процессоров каждого типа, h шин занято обслуживанием, (М - К) запросов находятся в очередях на обслуживание,
N
где М - суммарное число процессоров, М = ^ш1; [ п при М > п, '=1
|М при М < п.
Система уравнений для стационарного режима имеет следующий вид:
N
к=
-I
+ ц Р •
.,0 “ М'Г 1,0,...,0
+ Ц РЦ.
+ ц Р1’0 = 0
•тгг 0,0,...,1 ^
[-1 (да,-- ], К+^ ц,. ]р
,=1
п - к +1
к ,/
Jl, Л,'
+(т - Л + 1)V1 - к+1
-р.
к-1,1 А -1,с/2,...^с/^
. + ( - К1^ + 1)У
п
+ {тМ - ]N + 1)иN ~РЛ1,
-Рк
-1 +(т1 - К 1 + 1)У1 ~Р
,к ,/ -1 Л -1^2,--
1-
1-
к-1
п
dN ЦNP/
Jl,J2,...,JN +1
к-1
к
к
к+1
к
к+1
dN Ц NP1
Jl,J2,..,JN +1
<к\цр1
= 0,
-1 ЦР
к, М - к >т ,т2 ,...,;
+ V1P,
1 т
гт -1,т2,
+ V рк,М к 1 +
.,тц 2 т!,т2-1, т!
+ -и рк,М-к-1
N ту ,т-2
ты-1
= 0,
где =
Л пРи Л < к, к при Jj > к.
Решение полученной системы уравнений с учетом
условия нормировки
к М - к к+1 к+1“Л
р000..,0+и II... I р
к =1 1=0 _/1 =0 _/2 =0 ./N-1 =0
позволяет определить вероятности р системы в состояниях а
,к ,1 Л ,Л,'
к,/
:
л, л,..., ^
,к,/
Л,Л
Л-1,(к+/-Я) 1
нахождения
V
к + /-1 /
1
,(к+1)
(к + / )!.П
. !
(т - к)!
к М-к ' к+/-1 /
II
к=1
V
1 (к + /)!
(к+1)
П jы ,=1 . .
(т -л)!
При оценке производительности МВС определяющим оказывается общее количество запросов, находящихся на обслуживании и в очередях, независимо от их типа. Общее количество запросов, находящихся в очередях, можно определить, используя совокупность стационарных вероятностей Рк,, среднюю длину очереди I и коэффициенты 0. относительных потерь производительности для
процессоров каждого типа:
к+/ к+/ - л к+/-К
Рк,/ = 1 I
Л =0 J2 =0 к М-к
I р*
^ ,/1
jN-1 = 0
/р=Цр* ,/ /, 0,=1+
к=1 /=1
Тогда относительную производительность МВС можно найти, используя выражение
ЛГ| т.
п„ “I
0.
Подробное описание задачи выбора эффективного варианта МВС распределенных систем управления, где производительность, наряду со стоимостью системы, выступает как главный критерий оценки качества работы МВС, представлено в [2]. Там же дается оценка мощности пространства оптимизации и показано, что даже при небольшом количестве компонентов МВС количество возможных комбинаций системы будет огромным. Для нахождения хоть сколько-нибудь приемлемого решения придется просмотреть большое количество точек поискового пространства. Поэтому вопрос о способе вычисления целевой функции задачи оптимизации приобретает большое значение.
Помимо описанного выше алгоритма прямого вычисления производительности МВС (прямого вычисления), вероятности нахождения системы во всех ее состояниях могут быть получены в результате решения системы уравнений для стационарного режима системы массового обслуживания. При этом используются известные методы решения систем линейных алгебраических уравнений (СЛАУ).
Сравнительный анализ работы известных методов решения СЛАУ с алгоритмом прямого вычисления производительности МВС при моделировании функционировании МВС приведен в [3]. Для анализа были выбраны следующие точные классические методы решения СЛАУ: метод Гаусса, метод Ьи-разложений, метод релаксации, метод вращения, метод последовательного исключения переменных Жордана-Гаусса.
т
г=1
г=1
Р
т
+
,=1
В отличие от алгоритма прямого вычисления производительности МВС, для работы классических методов не достаточно знать такие параметры МВС, как Т0. - среднее время выполнения одной команды в процессоре г-го типа, Т. - время обслуживания запроса процессора г-го типа, q - параметр связанности алгоритмов по памяти. Для работы методов нам понадобится матрица значений коэффициентов при неизвестных в СЛАУ. Каждое уравнение этой системы представляет собой разность вероятности нахождения системы в некотором ее состоянии и вероятностей перехода системы в соседние состояния. Возможно четыре
к ,1
варианта перехода системы из состояния аА,я,...,]к:
1) а*+1’1 } +1 } - поступил новый запрос от процессора г-го типа, запрос отправлен на обслуживание, очереди нет, / = 1, N . Коэффициент при вероятности такого
/ ; V
перехода будет равен
к ,1+1
к +1
2) ак^к,..., ] +1,...,, - поступил новый запрос от процессора г-го типа, все шины заняты, запрос отправлен в очередь, / = 1, N . Коэффициент при вероятности такого пе-
рехода будет равен
1 -
гк-1Ч1+1
4)
]1, ]2,---, ] 1,---, JN
нет, / = 1, N . Коэффициент при вероятности такого пере-
г г 14 п - к +1
хода будет равен (т, - ]1 +1) Vj------.
п
Здесь п - количество шин, т. - количество процессоров г-го типа, к - количество запросов на обслуживании, I - количество запросов в очереди, j. - количество запро-
! Ч
п
Т - Ч Т
10/
п
1
ц/ =7'
при подсчете было бы разумно учитывать только значимые действия, в связи с чем для получения оценок трудоемкости учитывалось общее количество действий умножения, деления и возведения в степень.
Зависимость количества вычислений при работе указанных методов от размерности матрицы СЛАУ исходной задачи. представлена на рисунке. Сплошной тонкой линией показана зависимость алгоритма прямого вычисления производительности МВС, трудоемкость которого с ростом размерности уравнения возрастает линейно, тогда как количество вычислений в точных методах решения СЛАУ близко к п3. Таким образом, уже при размерности СЛАУ, равной 80, алгоритм прямого вычисления производительности МВС требует в десятки раз меньше вычислений, чем классические методы.
------Прямой
алгоритм
.....Метод Гаусса-
Жордана
------Метод Гаусса
3) а^,А,---,] -1,---,] - в условиях существования очереди обработан запрос г-го типа, один из запросов в очереди отправлен на обслуживание, / = 1, N . Коэффициент при вероятности такого перехода будет равен
( - ]/ + ;
- обработан запрос г-го типа, очереди
сов от процессора г-го типа, vj =
а = |], ПРИ ], < к> г 1 к при ], > к.
Нетрудно увидеть, что общее количество всех возможных ситуаций, в которых может находиться система, будет зависеть только количества типов процессоров и от
N
числа процессоров каждого типа: £ = П [т, +1]. Таким
,=1
образом, СЛАУ будет содержать 5 уравнений по 5 слагаемых в каждом, т. е. нам нужна матрица £ х £.
Таким образом, чтобы оценить трудоемкость работы классических методов решения СЛАУ, необходимо учитывать вычислительные затраты на генерацию матрицы значений этих систем.
Скорость работы метода напрямую зависит от числа вычислений, которое потребуется для получения решения. Большую часть ресурсов от всех арифметических операций занимают операции деления (261 мкс), умножения (211 мкс), возведения в степень (580 мкс) и тригонометрические операции (508 мкс), в то время как операции типа сложения требуют примерно 5 мкс. Поэтому
Метод
вращения
Метод LU разл ожений
0 20 40 60 80 Размерность
Зависимость количества вычислений от размерности СЛАУ
Вторым параметром, по которому производилось сравнение методов, была точность получаемых решений. В ходе исследования было установлено, что по точности алгоритм прямого вычисления производительности МВС уступает классическим методам. Конечно, точность является важнейшей характеристикой метода, однако в данном случае полученные значения не используются напрямую. Ведь в первую очередь нас интересуют не вероятности нахождения МВС в ее состояниях, а средняя длина очереди, коэффициенты относительных потерь производительности для процессоров каждого типа и, самое главное, относительная производительность системы. Данные по алгоритму прямого вычисления производительности МВС и методу Гаусса, суммарные ошибки методов для уравнений разных размерностей и значения относительной производительности системы, полученные по результатам работы методов, приведены в таблице.
Несмотря на значительную разницу в точности полученных вероятностей нахождения системы в ее состояниях, отличие в относительной производительности, получаемой с помощью алгоритмов прямого вычисления производительности МВС и точных методов, не является значительной. Более того, в случае когда интерес представляют не абсолютные значения относительной производительности, а ее положение в шкале отношений среди значений для других МВС, можно говорить, что алгоритмы прямого вычисления производительности МВС дают вполне адекватное значение относительной производительности. Иными словами, при решении задачи оптимизации по выбору эффективного варианта МВС для вычисления значений целевой функции предпочтительнее
использовать именно алгоритм прямого вычисления производительности МВС.
Возвращаясь к задаче оптимизации, приведем формальную запись построенной оптимизационной модели:
^ т .. ^ т№ T01, ... ^ ... , Том) ^ тах,
Св(n, тр ..., тр ., T01, ... ,То., ... , Т,№) ^ min.
В данной модели приняты следующие обозначения: Пв - критерий оценки производительности; Св - критерий оценки стоимости. Остальные обозначения соответствуют введенным выше.
В качестве приемлемого средства решения такой задачи был выбран генетический алгоритм. Однако для работы этого алгоритма необходимо закодировать каждое решение в бинарную строку конечной длины - хромосому. Нам же необходимо работать с вариантами МВС произвольной конфигурации, с заранее не известными значениями параметров МВС и их количеством. Действительно, в качестве вариантов МВС, которые рассматривает алгоритм, могут оказаться такие варианты, которые отличаются количеством типов процессоров, а значит и количеством наборов данных [2]. Для решения этой проблемы авторы разработали модифицированный генетический алгоритм с переменной длиной хромосомы, в котором был реализован оригинальный оператор процентного скрещивания, позволяющий скрещивать хромосомы разной длины.
Для оценки эффективности работы генетического алгоритма к решению той же задачи был подключен алгоритм мультистарта локального поиска. Для представления решения структура МВС также кодировалась в бинарную строку переменной длины, длина которой зависела от количества компонентов МВС. При каждом новом запуске случайным образом выбиралось количество компонентов МВС, а значит и длина бинарной строки, поэтому алгоритм локального поиска каждый раз работал в новом подпространстве решений. В качестве алгоритма локального поиска использовал алгоритм перехода по первому улучшению. Каждое решение, как и в генетическом алгоритме, сравнивалось по двум критериям: производительности и стоимости системы.
В данной работе поиск решения осуществлялся в пространстве решений мощностью 260. В такой ситуации каждый запуск алгоритма локального спуска требовал, как минимум, 60 вычислений целевой функции. А если брать количество точек мультистарта, равное размерности пространства поиска, по рекомендации, часто встречающейся в литературе, то нужно сделать не менее 3 600 вычислений целевой функции для беглого просмотра всего пространства решений. Генетический же алгоритм находит решения, не уступающие алгоритму локального спуска в смысле Парето, но требующие при этом в десятки раз меньшего количества вычислений целевой функции.
В данной статье показана применимость алгоритма прямого вычисления производительности МВС на этапе проектирования. Впервые предложены генетический алгоритм и алгоритм мультистарта локального поиска, позволяющие получать решения на поисковом пространстве переменного объема. Разработанные в ходе исследования программные системы позволяют практически полностью автоматизировать процесс выбора эффективной структуры многопроцессорной вычислительной системы произвольной конфигурации для решения задач управления в реальном времени, распределенных систем обработки информации и других сложных задач, к которым предъявляются повышенные требования по надежности и производительности, что снижает на порядок стоимость работ по разработке таких систем снизится на порядок.
Библиографический список
1. Терсков, В. А. Модели функционирования и методы оптимизации структуры многопроцессорных вычислительных систем / В. А. Терсков ; Сиб. юрид. ин-т Мин-ва внутр. дел Рос. Федерации. Красноярск, 2001.
2. Формализация задач выбора эффективного варианта распределенных систем управления / С. Н. Ефимов, И. А. Панфилов, Е. С. Семенкин, В. А. Терсков // Вестн. Сиб. гос. аэрокосмич. ун-та / под ред. проф. Г. П. Белякова ; Сиб. гос. аэрокосмич. ун-т. Вып. 4. Красноярск, 2003. С. 24-31.
Размер- ность Ошибка прямого алгоритма Ошибка метода Гаусса Производительность при прямом алгоритме Производительность при методе Гаусса
4 0,013 601 7,954 84 Е-9 1,999 6 1,999 95
12 0,078 419 4,924 15 Е-7 3,987 6 3,985 46
20 0,079 229 6,164 37 Е-7 5,983 17 5,980 43
32 0,079 882 4,180 41 Е-7 8,976 45 8,971 39
40 0,080 573 6,086 82 Е-7 10,971 1 10,962 1
48 0,081 264 1,037 72 Е-6 12,965 3 12,958 1
52 0,08 161 8,219 05 Е-7 13,962 1 13,956 7
56 0,081 956 2,113 46 Е-6 14,958 9 14,952 2
60 0,082 302 4,788 43 Е-7 15,955 5 15,942
3. Панфилов, И. А. Сравнительный анализ эффектив- логии / И. А. Панфилов ; Сиб. гос. аэрокосмич. ун-т. Крас-ности методов решения СЛАУ при моделировании фун- ноярск, 2004. кционирования МВС : дис. ... магистра техники и техно-
s. N. Efimov, I. A. Panfilov
THE METHOD DEVELOPMENT FOR THE STRUCTURE CHOICE OF HIGHLY PARALLEL COMPUTING SYSTEMS
The problem of effective variant choice of highly parallel computing system is given in the form of an optimization problem. Properties of the optimization problem are discussed. The algorithm ofperformance direct evaluation is discussed. This performance is compared with traditional methods of linear equations systems solving.