УДК 004.272.43
МИКРОПРОГРАММНЫЙ ПРИНЦИП ОТОБРАЖЕНИЯ АЛГОРИТМОВ РЕШЕНИЯ СЛОЖНЫХ ФИЗИЧЕСКИХ ЗАДАЧ НА МАШИНАХ С РЕКОНФИГУРИРУЕМОЙ
МУЛЬТИМИКРОКОНВЕЙЕРНОЙ ВЫЧИСЛИТЕЛЬНОЙ СТРУКТУРОЙ
Н.И. Витиска, Д.В. Задорожний, В.И. Шмойлов
В работе рассматривается микропрограммный принцип отображения метода встречной прогонки для решения сложных физических задач, сводящихся к трёхточечным системам линейных алгебраических уравнений большой размерности. Метод разработан для реализации на реконфигурируемых мультиконвейерных вычислительных структурах, архитектура которых базируется на однородных вычислительных средах - пульсирах. Детально описан граф метода прогонки, который без изменений отображается на однородную вычислительную среду. Показано ускорение выполнения метода встречной прогонки на пульсирах по сравнению с двухпроцессорной машиной
Ключевые слова: прогонка, реконфигурируемые вычислительные структуры, пульсиры
При решении дифференциальных уравнений описывающих большие научнотехнические задачи, в прикладной математике, гидродинамике, экологии и атомной физике в большинстве случаев приходят к сеточным задачам математической физики и системам алгебраических уравнений, возникающим при их решении. Как наиболее распространенные методы (конечных разностей и Галеркина) так и новейшие методы конечных суперэлементов используемые для расчётов ядерных энергетических реакторов, сводят
дифференциальную задачу к системе линейных алгебраических уравнений (СЛАУ) вида Ах=Ь, где матрица А - ленточная. В работе [1] одной из основных задач ставится разработка методов решения получающихся систем уравнений с огромным числом неизвестных. Очевидно, что справиться с решением таких систем на однопроцессорной машине не представляется возможным, поэтому стратегически важной является задача разработки суперкомпьютеров, содержащих порядка 104-105микропроцессоров, и алгоритмов, которые будут решать сложные научно-технические задачи на пике производительности данных
суперкомпьютеров.1
Суперкомпьютеры предназначены для решения сложнейших проблем современности, требующих обработки гигантских объёмов информации в короткие промежутки времени. Создание и использование суперкомпьютеров относится к факторам стратегического развития науки и техники и входит в первую десятку приоритетных технологий развитых стран.
Витиска Николай Иванович - ТГПИ, д-р техн. наук, профессор, тел. (8634)605397
Задорожний Денис Владимирович - ТГПИ, аспирант, тел. (8634)672289
Шмойлов Владимир Ильич - ЮНЦ РАН, научный сотрудник, тел. (8634)368337
Развитие микроэлектроники и создание семейств высокопроизводительных
микропроцессоров привело к тому, что доминирующим направлением построения суперкомпьютеров в настоящее время являются многопроцессорные вычислительные системы (МВС) с массовым параллелизмом,
содержащие тысячи параллельно
функционирующих микропроцессоров. В то же время при решении сложных научнотехнических задач существующие МВС с массовым параллелизмом обеспечивают достаточно низкую реальную
производительность, зачастую не
превышающую 10-15% от пиковой
производительности системы, вследствие того, что организация параллельных вычислений и процедуры межпроцессорных обменов требуют больше времени, чем непосредственно
вычисления.
Как известно, метод прогонки отлично
распараллеливается на системах с
двухпроцессорной или двуядерной
архитектурой (метод встречной прогонки), однако считается что, этот подход нельзя развить для большего количества процессоров, если сеточная область ю одномерна. В [2] утверждается, что при распараллеливании метода прогонки на многопроцессорной системе содержащей более двух процессоров, время ее выполнения не только не уменьшается, а, наоборот, существенно превышает время выполнения на одном процессоре. Настоящая статья посвящена микропрограммному отображению метода прогонки на машинах с реконфигурируемой мультиконвейерной вычислительной
структурой, архитектура которых базируется на однородных вычислительных средах -пульсирах.
В настоящее время успехи развития многопроцессорных вычислительных систем
обеспечиваются в основном за счет роста технологических возможностей, в частности за счет уменьшения топологических размеров при изготовлении кремниевых микросхем,
вследствие чего повышается плотность компоновки вентилей на одном кристалле и возрастает скорость работы процессоров.
Помимо технологических путей повышения производительности вычислительных систем существуют
алгоритмические, программные и архитектурные методы. Алгоритмические методы сводятся к построению более эффективных математических методов решения задач, применительно к ленточным системам с трёхдиагональной структурой вряд ли появятся методы превосходящие по эффективности метод прогонки. Программные методы состоят в разработке программ, обеспечивающих эффективное использование вычислительных систем, включая память, каналы связи и т.п. Наконец, важнейшим направлением повышения производительности
вычислительных систем являются
архитектурные методы.
Любой процесс происходящий в реальной системе любую задачу можно описать с помощью некоторого множества
математических и логических зависимостей или в форме некоторого графа 0^,Х), который будем называть информационным графом или графом алгоритма решения задачи.
При моделировании процессов,
происходящих в системе 5 с помощью параллельной многопроцессорной
вычислительной системы, в последней организуется соответствующий
вычислительный процесс, который
описывается в большинстве случаев совершенно другим графом
Множество вершин О* определяется множеством процессоров вычислительной системы. Множество дуг X* представляет собой множество каналов коммуникаций между процессорами. При этом входные и выходные дуги графа ) определяются каналами
связи с источником входных и приемником выходных данных, в частности с памятью системы. Операции 0^ из множества О реализуются в процессорах вычислительной системы в форме последовательных процедур обработки данных.
Как правило, если многопроцессорная вычислительная система имеет «жесткую» архитектуру, то графы С и С* существенно отличаются один от другого. Различие между
графами Си С* объясняется тем фактом, что жесткая архитектура параллельной
многопроцессорной вычислительной системы в большинстве случаев значительно отличается от структуры моделируемой системы Б. В результате для моделирования системы 5 с помощью многопроцессорного компьютера с «жесткой» архитектурой в последнем приходится организовывать некоторый мультипроцедурный вычислительный процесс, который моделирует систему -5. но структурно с ней не совпадает и описывается графом С*, существенно отличным от графа С реальной моделируемой системы 3 [3].
Задача потоковой обработки заключается в преобразовании кортежа (потока) векторов входных данных = ...№) в кортеж
(поток) векторов выходных данных
Р( < -.!{>< О =1Л-.Ю в соответствии
с графом алгоритма При структурном
способе организации вычислений,
обеспечивается, минимальное время обработки массива векторов данных по сравнению со всеми остальными способами организации вычислительной системы [4,5,6]. Как известно наиболее эффективной структурой организации вычислений является мультиконвейерная вычислительная структура (МКВС), которая сочетает в себе как параллельный, так и конвейерный способ обработки информации, поскольку входные данные обрабатываются одновременно по различным конвейерным цепочкам процессоров.
Для создания вычислителя, с помощью которого можно решать различные потоковые задачи, отличающиеся графом алгоритма :1: ^ .V) необходимо обеспечить возможность изменения (реконфигурации) архитектуры информационных связей между процессорами для отображения графов алгоритмов с различной топологией. Мультиконвейерный вычислитель, обладающий такими
возможностями, называют мультиконвейерной структурой с реконфигурируемой архитектурой или реконфигурируемой мультиконвейерной вычислительной структурой (РМКВС).
Понятно, что для обеспечения
возможности реконфигурации архитектуры мультиконвейерного вычислителя в его состав необходимо ввести некую коммутационную систему (КС), с помощью которой могут быть организованы различные информационные связи между процессорами ^ 0 = 1,2,
Иной подход, в отличие от предыдущего не требующий больших аппаратных затрат, заключается в создании мультиконвейера с
жесткой архитектурой и обеспечении коммутационных возможностей за счет придания каждому процессору
дополнительных функций транзитной передачи информации [7]. В принципе, в такую матричную мультиконвейерную структуру можно отобразить любой граф алгоритма
Процесс детализации алгоритма можно продолжать вплоть до достижения некоторого уровня неделимых элементарных операций, которые называют микрооперациями. В результате такого разбиения исходный граф ■■ может быть заменен графом микроопераций с_пС<3_Т1,^_Т1) (где п - число уровней разбиения).
Полученный таким образом граф микроопераций может быть реализован с помощью мультиконвейерного вычислителя, состоящего из процессоров, реализующих микрооперации, приписанные вершинам графа г \ Ч. Очевидно, что для реализации таких микроопераций не имеет смысла использовать сложные процессоры, а достаточно использовать простейшие однобитные процессорные элементы, которые в дальнейшем будем называть ячейками однородной вычислительной среды.
Мультиконвейер, состоящий из
вычислительных ячеек, реализующих
некоторый набор простейших микропераий, называют мулътимикроконвейерной
вычислительной структурой (МКВС).
Преимущество мультимикроконвейерной структуры заключено в максимально возможной конвейеризации при обработке потока данных и, как следствие, обеспечении максимально возможного темпа работы
конвейера и минимально возможного времени обработки большого массива векторов данных конвейера. Действительно темп работы мультиконвейера обратно пропорционален
времени Л Г выполнения самой длительной операции на его ступени, находящейся на критическом пути. Поэтому понятно, что чем проще будет эта операция, то тем меньше будет время ЬТ Общее время обработки массива из N векторов входных данных при этом будет равно = (Л? + — 1} ■ ЛТ,
где Нтах— число ступеней мультиконвейера, расположенных на критическом пути. Естественно, чем проще будут микрооперации, приписанные вершинам графа 0~п^~п,Хп), тем сложнее будет сам граф и, как следствие, тем больше будет величина Нтах. Однако при
большом значении N величиной Нтах можно пренебречь [3]. В результате получаем £_ = М-ЛТ, то есть чем меньше будет величина ¿Г, тем меньше будет и общее время обработки массива векторов данных.
Решение трёхдиагональной системы уравнений удобнее всего получить по формулам прогонки, для ускорения будем использовать формулы встречных прогонок.
Формулы метода встречных прогонок имеют вид:
_ _ Ъ\ - — 1 о ____ 1
_ ІЇ+ДіА . _
і = 1*2, *..,«1 - 1,
£ =
і = N — 1.Я — 2..................т, £, = Ьї
Сіг
Ґш
Чі = 1 = N -їм -2...т, =
сі~°і ЇН-1
для вычисления прогоночных коэффициентов и = ^Е+іУі+1 -ЬДі+1, і = т-1.Ш-2....Д
Я** = +ЧІ+1, І = т, т+1....И- І,
Чт + %-тРт
Угг.
' %таті
для определения решения.
Опишем реализацию описанного алгоритма в пульсирующих информационных решетках. Граф схема метода прогонки без изменений легко отображается на пульсир в силу того, что реконфигурация пульсира происходит с помощью программатора, задающего функцию каждой ячейки, и реализуется на уровне микрооперций.
Пульсирующие информационные решетки (пульсиры) - это однородные вычислительные среды нового поколения, ориентированные не на микросхемы, а на кремниевые пластины, позволяющие реализовать в полной мере трёхмерные вычислительные системы. Каждая ячейка пульсира соединена с восемью соседними ячейками, и представляет собой однобитовый тактируемый модуль,
выполняющий вычислительные функции, функции коммутационных информационных потоков, памяти, диагностики и
перепрограммирования. Работа с ячейкой
предполагает режимы: “программирование и
настройка”, “работа” и
“перепрограммирование”. Подробное описание функциональных схем и принципов работы пульсиров описаны в [7,8].
Граф метода прогонки для решения на РМКВС в потоковом варианте имеет вид:
/ \
Рис. 1. Граф прямого хода метода левой прогонки.
На входы предварительно
запрограммированного пульсира подается поток значений а, Ь, с, £ а, ви 1, проходя через ячейки пульсира запрограммированные на выполнения определённых математических операций (* умножение,+ сложение, -
вычитание, / деление) входной поток
преобразуется в выходной, то есть значения а{+1, в+г. Операции обведённые пунктиром выполняются параллельно, примечательно, что в прямом ходе метода прогонки параллельно выполняются операции одинаковой сложности сначала 2 операции умножения, потом 3 сложения (вычитание реализовано как сложение числа с противоположным знаком), и
2 деления, то есть нет простоя из за различного времени выполнения операций. В то же время, мы видим, что у нас образовался конвейер, состоящий из трёх параллельных блоков, то есть налицо мультиконвейерная
вычислительная структура, которая как известно считается наиболее эффективной структурой организации вычислений. Аналогично строится мультиконвейерная вычислительная структура для прямого хода метода правой прогонки.
Г\
Рис. 2. Граф прямого хода метода правой прогонки Обе вычислительные структуры работают независимо друг от друга до того момента пока переменная г не достигнет значения т-1 для прямого, и т для обратного хода прогонки, затем программатор перепрограммирует рабочие области пульсира для обратного хода метода левой и правой прогонки соответственно.
V/
Рис. 3. Граф обратного хода метода левой прогонки
\У
Рис. 4. Граф обратного хода метода правой прогонки
На графах обратного хода метода
прогонки опять же присутствует и конвейерный и параллельный способ обработки информации, тем самым достигается максимальный параллелизм.
В связи с тем, что в мультимикроконвейерной вычислительной структуре операции реализуются аппаратно, существенное значение имеет использование таких кодов и форматов данных, которые обеспечивают наименьшие затраты
вычислительных ресурсов среды при
выполнении той или иной операции. Другими словами, микропрограммные модули арифметических и логических операций должны содержать минимальное число микрокоманд. Каждая микрокоманда модуля, идентифицированная координатами (г, у), является программой настройки ячейки с этими же относительными координатами (г, у) в некоторой связной области среды, настраиваемой совокупностью микрокоманд микропрограммного модуля (МПМ) на
аппаратурную реализацию конкретной арифметической или логической операции [9].
Известно, что для реализации метода прогонки необходимо затратить время та(^=3№;х+(2№1)т^+3М;+, т+ - длительность одной операции сложения (вычитание
понимаем как сложение), тх - длительность одной операции умножения, - длительность
одной операции деления. При использовании метода встречной прогонки на машине с двумя процессорами при N^<»,
та(Ы)^(3Ы/2)т х+((2^+1)/2)т-+(3№/2)т+. Реализуя метод встречной прогонки описанным выше способом на пульсирах, учитывая его распараллеливание и конвейеризацию можно сказать, что время необходимое для прямого хода метода прогонки при К^да, будет равно та(Ж)п^((К+2)/2)т^ так, как время реализации операции деления самое большое из операций присутствующих в конвейере, а время
обратного хода та(Л% ^((М+1)/2)т*. Общее время решения при
та(Л) ^(<К+2)/2)т++((Ы+1)/2)т*, что на ((2Ы-1)/2)х^+((Н-1)/2)х^+(3Ы/2)х+ меньше, чем при реализации метода встречной прогонки на машине с двумя процессорами.
В работе предложен микропрограммный принцип отображения метода встречной прогонки для решения сложных физических задач, сводящихся к трёхдиагональным
системам линейных алгебраических уравнений большой размерности. Метод разработан для реализации на реконфигурируемых
мультиконвейерных вычислительных
структурах, архитектура которых базируется на однородных вычислительных средах -пульсирах. Детально описан граф метода прогонки, который без изменений
отображается на однородную вычислительную среду, то есть граф алгоритма решения задачи и соответствующий ему вычислительный процесс полностью идентичны. Показано
ускорение выполнения метода встречной прогонки на пульсирах по сравнению с двухпроцессорной машиной.
Литература
1. Жуков В.Т., Страховская Л.Г., Федоренко Л.П., Феодоритова О.Б. Об одном направлении в конструировании разностных схем. //Ж. вычисл. матем. и матем. физики. 2002. Т42. №2, с 222-234.
2. Вшивков В.А., Тарнавский Г.А., Неупокоев Е.В. Параллелизация алгоритмов прогонки: многоцелевые вычислительные эксперименты //Автометрия. - 2002.
3. Каляев И.А. - Принципы организации
реконфигурируемых мультиконвеерных вычислительных систем. Высокопроизводительные вычислительные системы и алгоритмы // Материалы пятой Международной научной молодёжной научнотехнической крнференции Таганрог: изд-во ТТИ ЮФУ, 2008. с. 14-52.
4. Валиев К.А. Квантовые компьютеры и квантовые вычисления. УФН, 175(1),3(2005).
5. Аладышев О.С., Дикарев Н.И., Овсянников А.П. и др. СуперЭВМ: области применения и требования к производительности - Известия ВУЗов. Электроника, 2004, №1, 13-17.
6. Корнеев В-В. Архитектура вычислительных систем с программируемой архитектурой. - Новосибирск: Наука, 1983, 116.
7. Прангишвили И.В., Абрамова Н.А., Бабичева Б.В., Игнатущенко В.В. Микроэлектроника и однородные структуры для построения логических и вычислительных устройств. - М.: Наука, 1967, 228.
8. Русин Б.П., Кузьо М.Н., Шмойлов В.И. Пульсирующие информационные решётки - новое поколение однородных вычислительных сред // Автоматика и вычислительная техника. - Рига, 2002, №1, 60-71.
9. Шмойлов В.И., Русын Б.П., Кузьо М.Н. Однородные вычислительные среды и пульсиры. - Львов: Меркатор, 2001,62.
10. Шмойлов В.И. Организация вычислительного процесса в мульти-конвейерной вычислительной структуре. - Львов: НТЦ «Интеграл», 1991, 93.
Таганрогский государственный педагогический институт Южный научный центр РАН
MICROPROGRAMMING WAY OF REPRESENTATION FOR ALGORITHMS OF FINDING DIFFICULT PHYSICAL TUSK SOLUTION WITH THE HELP OF COMPUTERS HAVING CONFIGURABLE MULTYMICROCONVEYOR COMPUTATIONAL STRUCTURE
N.I. Vitiska, D.V. Zadorojniy, V.I. Shmoylov
Microprogramming way of representation for the opposite side sweep method of finding difficult physical tusk solution, coming to three point large size systems of linear algebraic equations. The method developed for realization on the computers having configurable multymicroconveyor computational structure, based on homogeneous computing environment - pulsirs. Side sweep method graph, which represents on the homogeneous computing environment without any changes, in detales described in this work. The speed up of side sweep method worked on the pulsirs in comparison with two processors machine is shown
Key words: sweep method, configurable multymicroconveyor structure, pulsirs