которых выживает только один, поэтому возникновение ложных образов невозможно, а емкость сети ограничена только размерностью векторов, представляющих образы. В то же время, в синергетической модели НС может быть отдельно запомнен любой новый образ без изменения ранее существовавших параметров.
В.Ф. Гузик, В.Е. Золотовский, О.А. Мунтян РАСПАРАЛЛЕЛИВАНИЕ В СИСТЕМАХ МОДЕЛИРОВАНИЯ
Создание перспективных средств моделирования, позволяет не только облегчать создание моделируемых систем, но и визуализировать сам процесс вывода результатов моделирования. Все это накладывает существенные ограничения на техническую базу вычислительной системы, на которой будет функционировать система моделирования. Эти ограничения можно условно разделить на две части: производительность вычислительной системы (ВС), направленная на обеспечение достаточной мощности для поддержки процесса моделирования (вычислительная часть), и производительность ВС, направленная на отображение результатов моделирования в удобном для пользователя виде. От аппаратной части ВС требуется обеспечение своего рода баланса между этими частями. Известно, что ресурсы любой системы не бесконечны, и в связи с этим приходится чем-то жертвовать: либо вычислительной производительностью, либо производительностью на отображение результатов. Как правило, всегда жертвовали качеством отображения результатов моделирования. Для этих целей было достаточно графиков, представляющих динамику моделируемого процесса, но в современных системах необходимо отображать результаты моделирования процессов в реальном времени и трехмерном пространстве. Отображение подобных процессов требует от ВС больших вычислительных затрат. Для снижения нагрузки на центральный процессор ВС, при отображении сложной графической информации, используют высокоскоростные графические адаптеры, которые позволяют производить операции рисования, как с двумерными, так и с трехмерными объектами без использования центрального процессора ВС. Такие графические адаптеры носят название графические ускорители. Однако какой бы большой мощностью не обладали графические ускорители, большая часть затрат ресурсов по организации отображения результатов моделирования лежит на центральном процессоре ВС. К таким затратам можно отнести поиск определенных данных в общем массиве. Это имеет большое значение, поскольку в алгоритмах отображения и обработки трехмерных поверхностей значительная часть операций связана с поиском определенного элемента на исследуемой поверхности. При организации поиска средствами ВС (нагрузка на центральный процессор) понадобится значительное время. При решении задачи моделирования в реальном времени этот временной интервал может вызвать провалы при отображении результатов, что, в свою очередь, может повлечь за собой неадекватное представление общей картины исследуемого процесса.
Преодоление этих трудностей возможно при использовании многопроцессорных ускорителей, что требует разработки соответствующих методов распараллеливания потоков данных.
Существует несколько методов распараллеливания программ и данных - статические и динамические. Статические методы распараллеливания используются для распараллеливания сложных программ, где необходимы значительные усилия для отыскания параллельных участков. Динамическое распараллеливание программ используется в случаях, когда необходимо распределять команды между свободными процессорами для их выполнения. При распараллеливании программ поиска целесообразно использовать
статическое распараллеливание, так как каждая ветвь поиска является клоном одной и той же программы.
При распараллеливании потоков данных используют также статические и динамические методы распараллеливания. При статическом методе множество данных разбивается на подмножества, по какому-либо признаку (например, четные и нечетные элементы, каждый первый или второй и т.д.), и полученные подмножества распределяются между процессорами. При динамическом распараллеливании данные из потока передаются в первый свободный процессор, что обеспечивает равномерную загрузку процессоров и непрерывный разбор.
Для этих целей был разработан метод динамического распараллеливания потока данных, который позволил значительно сократить время поиска, а также снизить нагрузку центрального процессора ВС.
Разработанный метод динамического распараллеливания потоков данных основан на распределении задачи поиска по свободным процессорным элементам. При данном подходе полный перебор элементов общего массива ^-процессорами будет проходить быстрее в N раз, чем при полном переборе этих же элементов одним процессором. Основываясь на этом, был разработан алгоритм, позволяющий производить поиск элемента с заданными свойствами в массиве данных. Данный алгоритм был апробирован на многопроцессорном ускорителе при решении задачи обнаружения местоположения объекта на местности.
Задача поиска состоит в получении координат (Хп, Уп, Ъп) для точки на ландшафте некоторой местности и определении объекта, находящегося в данной точке на поверхности ландшафта в виде его географических координат.
Исходная поверхность строится путем аппроксимации некоторой исходной системы треугольными полигонами. В связи с этим каждый полигон будет описываться тремя точками в пространстве, где каждая точка имеет свои координаты (X, У, Ъ).
Идентификация объекта (в данном случае треугольника) сводится к нахождению координат его вершин и определению принадлежности точки (Хп, Уп, Ъп) поверхности данного треугольника.
Пусть дана поверхность (рис. 1).
Рис.1
Необходимо найти поверхность, на которой лежит точка, заданную тройкой координат. Увеличим область, обведенную кругом (рис. 2).
........ ' '....................
Рис. 2
Точка на поверхности представлена координатами Хт, Ут, Zт, а треугольник в пространстве представлен тройкой координат для каждой вершины: Хв} Ув} Zв1, Хв2 Ув2 Zв2, Хв3 Ув3 Zв3.
Общий массив, содержащий набор треугольников, имеет структуру представляющую список элементов, которые имеют следующий вид:
Element
-X,, Yv Z ■ Х2, y2, z2 ‘Хз, Y3, Z3
При поиске координаты каждой вершины элементы сравниваются с координатами точки на плоскости. Если они совпадают или достаточно близки, то элемент считается найденным. Если координаты найденной вершины принадлежат не одному треугольнику, то выбираются все треугольники, имеющие вершину в этих координатах, либо первый встреченный.
Данная задача была проверена на многопроцессорном ускорителе (далее ускоритель). Структура используемого ускорителя представлена на рис. 3.
Приведенная на рис.3 структура ускорителя содержит:
ОП - оперативная память;
МП - микропроцессор;
ЛП - локальная память;
ВМм - вычислительный модуль.
Ускоритель построен на процессорах фирмы Analog Device ADSP-TS101 [1], поскольку внутренняя структура в значительной степени подходит для решения данной задачи. Особенность внутренней структуры процессоров ADSP-TS101 заключается в наличии двух элементарных процессоров, ADSP-TS101 может обрабатывать данные как в режиме SISD, так и в режиме SIMD. В режиме SISD, ADSP-TS101 обрабатывает данные, используя только первичный вычислительный модуль (вмо, который является всегда активным. Запустить вторичный элементарный процессор (ВМ2) и перевести ADSP-TS101 в режим SIMD позволяет просто установка определенного бита в соответствующем регистре. При этом ВМ2 выполняет те же самые команды, как и первичный вычислительный модуль, но они вычисляют различные данные. Рассмотрим процедуру динамического распределения потока данных более подробно на примере поиска определенного элемента.
Перед началом работы в процессоры МП2-МП4 загружается программа сравнения координат вершин с координатами искомой точки, а МП! - программа мониторинга и распределения данных по процессорам МП2-МП4. Программа в МП2-МП4, написана таким образом, что данные для сравнения берутся из ЛП, и в случае обнаружения искомой вершины или перехода на следующую структуру в ЛП программа посылает сообщение программе в МП1 либо для прекращения поиска, либо для записи новой порции данных в ЛП данного процессора. Программа мониторинга и распределения данных выполняет копирование данных из ОП в ЛП нужного процессора, а также осуществляет функции обработчика событий при появлении событий пришедших от программ поиска. К таким событиям относятся:
- вершина найдена (Vertex_found);
- стек пусть (Stack_empty);
- элемент обработан (Processed).
Допуская, что оперативной памяти ускорителя достаточно для размещения всех элементов массива полигонов, поиск осуществляется примерно в 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) значительное ускорение процесса создания новых устройств и систем.
Компьютерное моделирование применимо к очень широкому кругу задач в таких
областях, как автомобилестроение, нефте- и газодобыча, фармакология, прогноз погоды и изменений климата, сейсморазведка, проектирование электронных устройств, синтез новых материалов и многих других.
В настоящее время быстро развивается направление по созданию систем моделирования различных физических процессов на средствах персональной компьютерной техники, т. е. на обычных ПЭВМ. Сдерживающим фактором широкого распространения этого направления является необходимость обучения оператора методам программирования для той или иной системы моделирования. Желание освободить исследователя от