Научная статья на тему 'Специализированный комплекс для проведения символьных преобразований в системах структурного моделирования'

Специализированный комплекс для проведения символьных преобразований в системах структурного моделирования Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
115
42
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Специализированный комплекс для проведения символьных преобразований в системах структурного моделирования»

Допуская, что оперативной памяти ускорителя достаточно для размещения всех элементов массива полигонов, поиск осуществляется примерно в N раз быстрее, где N -число процессоров в ускорителе. При распределении элементов производилось разбиение всего массива на количество частей, равне количеству поисковых процессоров, что в значительной степени уменьшило, таким образом, количество обрабатываемых вершин. Все это, в свою очередь, приводит к значительному сокращению общего времени поиска.

Ниже приводится сравнение времен выполнения поиска заданной точки на приведенной на рис. 1 поверхности. Приводимая поверхность содержит 20 000 треугольников. Поиск на одном процессоре проводился на Ые1 Се1егоп 700.

Количество процессоров Время поиска

Один процессор » 20 с

Два процессора » 11 с

Три процессора » 5.8 с

Из таблицы можно видеть, что использование структурных многопроцессорных ускорителей позволяет значительно сократить время обработки трехмерных изображений в системах моделирования при отображении результатов.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. ADSP-21060 SHARC Preliminary User's Manual. Second Edition 3/94. - Norwood: Analog Devices Inc., 1994. 186 p.

В.Е.Золотовский, П.В.Савельев, В.Б.Резников, С.И.Ляшкова

СПЕЦИАЛИЗИРОВАННЫЙ КОМПЛЕКС ДЛЯ ПРОВЕДЕНИЯ СИМВОЛЬНЫХ ПРЕОБРАЗОВАНИЙ В СИСТЕМАХ СТРУКТУРНОГО МОДЕЛИРОВАНИЯ

В настоящее время уровень развития вычислительной техники позволяет использовать средства компьютерного моделирования при проектировании сложных физических объектов. Вполне очевидны преимущества такого подхода. В качестве основных достоинств можно выделить:

1) экономию денежных средств при исследовании моделей проектируемых систем по сравнению с натурным экспериментом;

2) возможность исследования критических режимов работы, приводящих к разрушению системы;

3) быструю реконфигурацию моделируемой системы;

4) значительное ускорение процесса создания новых устройств и систем.

Компьютерное моделирование применимо к очень широкому кругу задач в таких

областях, как автомобилестроение, нефте- и газодобыча, фармакология, прогноз погоды и изменений климата, сейсморазведка, проектирование электронных устройств, синтез новых материалов и многих других.

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

необходимости создания программных средств и ускорить создание компьютерных моделей привело к появлению визуальных систем структурного моделирования, в которых процесс программирования заменяется на создание мнемонической структурной схемы исследуемой физической системы [1, 2]. Также необходимо отметить, что моделирование сложных многокомпонентных систем требует автоматизации программирования исходных задач в системе моделирования.

Решение поставленной проблемы предлагается проводить при помощи разрабатываемых нами алгоритмов и методов структурного моделирования [1, 2]. Согласно этим алгоритмам и методам в настоящее время разрабатывается система структурного моделирования [3]. Эта система позволит визуализировать процесс моделирования и освободить исследователя от традиционного процесса программирования системы.

Общая структура системы представлена на рис. 1. На верхнем уровне определяется интерфейс системы. Интерфейс предназначен для представления исходного физического объекта (системы) на входном языке системы моделирования. Здесь происходит декомпозиция моделируемой системы и её описания в схему компонент (отдельных моделей) и определяются процедуры взаимодействия между отдельными объектами. Применение структурных принципов предполагает наличие библиотек предопределенных элементов. При этом процесс программирования заключается в композиции библиотечных элементов и определении функциональных связей между объектами. На данном уровне реализуется описание исследуемого физического объекта в базисе структурных моделей. Также исследователь определяет схему взаимодействий между объектами -структурную схему коммутаций моделей. Далее модели компонуются в общую модель (общую систему уравнений). Полученная система уравнений разбивается согласно структуре базового вычислителя и решается при помощи стандартных численных методов. Большое внимание уделяется реализации поддержки нескольких численных методов, что позволит проводить оценочное предварительное решение. Моделирование сложных систем требует распределённого решения полученной системы уравнений на многопроцессорной или многомашинной системе. Для каждого отдельного процесса определяются его собственные условия завершения процесса моделирования. Ведущий процессор производит проверку условий завершения всех вычислителей, а также осуществляет сбор данных мониторинга. Результатом моделирования являются временные и фазовые зависимости параметров исследуемой системы, которые отображаются соответствующей системой визуализации.

В качестве общего описания моделей в системе структурного моделирования была выбрана форма описания в виде систем алгебро-дифференциальных уравнений как наиболее универсальная, позволяющая описывать объекты различной физической природы [4]. Однако при моделировании электрических сетей построение описания сети в данной форме довольно затруднительно. В этой связи возникла задача автоматического формирования математического описания электрических сетей [5]. Решение данной задачи предполагается проводить при помощи одного из двух методов: метода переменных состояния и метода узловых потенциалов.

Рис. 1

При моделировании общей исходной системы по неявным схемам необходимо формирование матриц Якоби. В настоящее время формирование этих матриц реализуется вручную. Полученные уравнения вводятся в интерфейс системы структурного моделирования в явном виде. Поскольку численные методы предполагают многоитерационное решение исходной математической модели, предлагается при формировании и решении общей системы уравнений использовать методы символьных преобразований для получения исходной модели в общем виде. Решение данной задачи требует введения в ядро системы структурного моделирования специального модуля, обеспечивающего символьную обработку.

На первом этапе предлагается создать модуль выполнения операций над матрицами в символьной форме. Исследования проводятся в двух направлениях: для модуля с последовательной обработкой и модуля с параллельной обработкой всех символьных вычислений. Как уже было сказано выше, применение неявных методов, которые позволяют хорошо распараллелить и поднять устойчивость решения задачи, требует формирования матрицы Якоби. Для моделирования многозвенных систем процесс формирования матрицы Якоби (нахождение производных п-го порядка) необходимо осуществлять полностью автоматически и в символьной форме. Эту задачу следует решать путем добавления блока символической обработки к системе структурного моделирования. Кроме формирования матрицы Якоби, важной задачей является также нахождение обратной матрицы проводимостей. Размерность данной матрицы пропорциональна количеству ветвей в моделируемой электрической цепи и может достигать более 106 элементов (т.е. матрицы 1000x1000). Отметим, что решение обратной матрицы в символьном виде позволит получить абсолютно точный результат, в отличие от численного решения, погрешность которого значительно возрастает для таких жестких систем, как электрические цепи.

Современные системы, такие, как MatCAD и Мар1е, решают задачу получения обратной матрицы, однако они позволяют работать с матрицами, размерность которых не превышает 100. Кроме того, данные системы универсальные и поэтому они не оптимизированы на решение конкретно задачи инвертирования матриц. Поэтому возникает необходимость в создании специализированных средств, ориентированных на нахождение обратной матрицы. Данные средства позволят сократить время решения общей системы, а значит и время моделирования в целом.

В процессе решения поставленной задачи были разработаны и протестированы алгоритмы получения обратной матрицы, представленной в числовом виде. Результаты тестов представлены на рис. 2. На данном рисунке по оси абсцисс показан порядок тестовых матриц, а по оси ординат - время нахождения обратной матрицы.

Рис.2

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

Если исходные данные представлены полиномами п-й степени, то сложность алгоритма значительно возрастает. Это связано с необходимостью отслеживания значений численных коэффициентов при различных степенях х. Высокая вычислительная сложность задачи требует, прежде всего, оптимизации реализации элементарных операций обработки полиномов. Наименьшей трудоемкостью в этом случае обладают такие операции, как сложение (вычитание) и умножение. Реализация деления более сложна. Кроме того, его результат не всегда определен точно. Так как для дальнейших расчетов предполагается использование обратной матрицы, то снижение точности на данном этапе повлечет за собой увеличение погрешности решения в целом. Такие последствия являются нежелательными. Поэтому предлагается использовать алгоритмы получения обратной матрицы, исключающие выполнение операции деления над полиномиальными выражениями. Дополнительным условием является возможность распараллеливания процесса решения.

На основе вышеперечисленных требований был разработан модуль получения обратной матрицы, содержащей элементы, представленные в виде полиномиальных дробей. Однако отказ от выполнения операции деления на ранних стадиях вычислений реализуется только операциями сложения и умножения. Тем самым допускается возникновение накопления значений элементов матрицы в процессе решения. Причем рост (либо спад при дробных значениях) происходит с геометрической прогрессией. Это приводит к переполнению разрядной сетки процессора фиксированного размера. Эксперименты

показали, что описанная ситуация проявляется уже в том случае, когда размерность исходной матрицы выше 12.

Ввиду того, что современные процессоры персональных компьютеров ориентированы на работу с данными фиксированной разрядности мантиссы - 32 или 64 бита, это ведет ещё и к округлению результатов проводимых вычислений. Следовательно, происходит потеря точности данных, например, при арифметических операциях с двумя большими числами, близкими по модулю.

Решение этой проблемы весьма актуально для задач компьютерного моделирования, поскольку современные задачи моделирования требуют высокой точности получаемых данных при приемлемой скорости вычислений. И потеря значения при округлении может существенно исказить результаты решения математической модели. Например, при нахождении наименьшего общего кратного двух полиномов в случае наличия коэффициентов, представленных периодической дробью, возникает проблема неоднозначности эквивалентных выражений.

Таким образом, при создании моделирующих стендов необходимо решить проблему проведения вычислений с числами неограниченной длины. При этом возникает задача разработки модуля аппаратной реализации основных процедур обработки чисел произвольной длины [6, 7].

Для апробации решения данной проблемы был разработан программный модуль, реализующий базовые арифметические операции с вещественными числами произвольной разрядности (сложение, вычитание, умножение, сравнение, деление и др.).

Вышеописанный подход подразумевает использование центрального процессора системы как для длинных вычислений, так и для расчета самой модели. Естественно, дополнительная нагрузка процессора увеличит общее время расчетов. Таким образом, этот способ организации вычислений с длинными числами применим только при условии отсутствия жестких временных ограничений на синтез модели и её исследование.

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

Создание описанного вычислителя сможет решить целый ряд проблем, которые были описаны выше. В частности, приведем некоторые достоинства предлагаемого подхода:

- исследователь может произвольно задавать точность проводимых вычислений, что позволяет реализовать более адекватную математическую модель при минимуме вычислительной сложности;

- появляется возможность регулировать чувствительность системы, т.е. можно вести расчеты с неограниченно малыми шагами во времени. Это позволит расширить класс задач, к которым применим метод компьютерного моделирования, за счет менее устойчивых систем;

- применение готового блока длинных вычислений позволит разработчикам сконцентрировать свое внимание именно на самих моделях, а не на процедурах символьной обработки данных;

- так как в настоящее время основной единицей моделирующей системы является персональный компьютер, то этот подход позволит не только сохранить независи-

мость ПЭВМ, но и расширить её функциональные возможности за счет добавления новых вычислительных ресурсов;

- используя предложенное устройство, реализующее алгоритмы на аппаратном уровне, снимается дополнительная вычислительная нагрузка с центрального процессора моделирующей системы. Следовательно, процесс моделирования будет вестись быстрее, а результаты будут получены за более короткий срок.

Предложенная специализированная вычислительная среда в общем случае представляет собой многопроцессорную вычислительную систему, которая позволит осуществлять параллельную обработку как нескольких операций, так и одной операции с различными частями исходного числа. Данные принципы организации длинных вычислений резко повысят точность рассчитываемых моделей и значительно ускорят процесс моделирования сложных систем [8].

В результате проведенных исследований предполагается разработка лабораторного макета высокопроизводительной многопроцессорной вычислительной системы с программным обеспечением, реализующей обыкновенные операции и операции длинной арифметики. Эти вычислительные системы составят основу моделирующих стендов, которые позволят организовать процедурно-структурное моделирование сложных технических объектов. В соответствии с предварительной договоренностью такие моделирующие стенды будут использоваться в научно-исследовательских и опытноконструкторских организациях нашей страны и в инженерном центре Университета Южная Каролина (США) [3, 5, 8].

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Гузик В.Ф., Золотовский В.Е. Проблемно-ориентированные высокопроизводительные вычислительные системы. Таганрог: Изд-во ТРТУ, 1998.

2. Гузик В.Ф., Золотовский В.Е. Проблемно-ориентированные высокопроизводительные вычислительные системы.// Известия ТРТУ № 1(15). Таганрог: Изд-во ТРТУ. 2000.

3. Гузик В.Ф. Структурно-процедурная система моделирования. // Известия ТРТУ. Материалы Всероссийской научно-технической конференции с международным участием «Компьютерные технологии в инженерной и управленческой деятельности». Таганрог: 2002.

4. Гузик В.Ф., Золотовский В.Е., Резников В.Б. Имитационная модель на основе дифференциальных уравнений в форме Коши // Тез. докладов Всероссийской научно-технической конференции студентов, молодых ученых и специалистов “Новые информационные технологии в научных исследованиях и в образовании” (НИТ-2001).

5. V. Ph. Guzik, V.E. Zolotovsky, Y. V. Chernukhin, S.V. Tretyakov, R.A. Dougal Structural Modeling for Simulation of Power Electronic Systems. “The 7th workshop on computers in power electronics” IEEE Blacksburg, Virginia, 2000.

6. Золотовский В.Е., Павленко В.Г. Организация вычислений с произвольной разрядностью МВС.// Электронное моделирование. Киев, 1998. № 15

7. Золотовский В.Е., Павленко В.Г. Аппаратная реализация базовых операций в вычислительных системах с изменяемой разрядностью.// Электронное моделирование. Киев, 1997. № 13

8. Гузик В.Ф., . Чернухин Ю.В, Золотовский В.Е. Многопроцессорный акселератор процедурных вычислений на базе сигнальных процессоров// Материалы Международной научнотехнической конференции «СуперЭВМ и многопроцессорные вычислительные системы МВС2002» Таганрог, 2002.

i Надоели баннеры? Вы всегда можете отключить рекламу.