2. IEEE Standard for Binary Floating-Point Arithmetic / ANSI/IEEE Standard No. 754. -American National Standards Institute. - Washington, DC, 1985.
3. Ercegovac M., Lang T. Digital Arithmetic. - San Francisco: Morgan Kaufmann Publishers, 2004.
4. Сайт FPGA and CPLS solutions from xilinx. - Режим доступа: http://www.xilinx.com/support/documentation/virtex-5.htm, свободный.
Грушин Анатолий Иванович
Ремизов Максим Леонидович
Ростовцев Артем Вадимович
Николаев Дмитрий Дмитриевич
Чинь Куанг Киен
Институт точной механики и вычислительной техники РАН, ведущий научный сотрудник, к.т.н., [email protected]
Институт точной механики и вычислительной техники РАН, инженер-конструктор, [email protected]
Институт точной механики и вычислительной техники РАН, инженер-конструктор, [email protected]
Московский физико-технический институт (государственный университет), студент, [email protected]
Московский физико-технический институт (государственный университет), студент, [email protected]
УДК 004.45
ТЕХНОЛОГИЯ ПОСТРОЕНИЯ ВИРТУАЛЬНЫХ ИСПЫТАТЕЛЬНЫХ СТЕНДОВ В РАСПРЕДЕЛЕННЫХ ВЫЧИСЛИТЕЛЬНЫХ СРЕДАХ Г.И. Радченко, Л.Б. Соколинский
В работе представлена технология построения виртуальных испытательных стендов в распределенных вычислительных средах на основе технологии CAEBeans. Дано описание структурной организации оболочек CAEBeans, описаны базовые принципы реализации системы CAEBeans.
Ключевые слова: CAEBeans, Грид, распределенные вычисления, Грид-сервисы, иерархии проблемно-ориентированных оболочек
Введение
При разработке новых технологических линий и производственных технологий важную роль играют экспериментальные комплексы и стенды. В качестве примера можно привести аэродинамические трубы, стенды по испытанию резьбы труб и др. В настоящей работе рассматривается технология построения виртуальных испытательных стендов путем создания и анализа математических моделей разрабатываемой продукции на высокопроизводительных вычислительных системах с помощью инженерных пакетов. Такой подход позволяет существенно повысить точность анализа проектных вариантов продукции, значительно сократить стоимость опытно-конструкторских работ и проводить виртуальные эксперименты, которые в реальности выполнить невозможно.
Для проведения экспериментов в области современного компьютерного моделирования требуются значительные вычислительные ресурсы. Опыт использования суперкомпьютерных систем показывает, что максимальная эффективность использования вычислительных ресурсов может быть достигнута при объединении таких систем в вычислительные Грид-сегменты [1].
В качестве перспективного подхода к решению задач организации виртуальных испытательных стендов в распределенных вычислительных средах предлагается применение технологии CAEBeans [2]. В основе технологии CAEBeans лежит обеспечение сервисно-ориентированного предоставления программных ресурсов базовых компонентов CAE-систем и формирование деревьев проблемно-ориентированных оболочек, инкапсулирующих процедуру постановки и решения конкретного класса задач. Технология CAEBeans автоматизирует декомпозицию задач на типовые подзадачи, поиск вычислительных ресурсов, постановку задач соответствующим базовым компонентам CAE-систем, мониторинг хода решения задач, предоставление результатов решения задачи пользователю.
Модель задачи инженерного моделирования
При постановке задачи посредством проблемной оболочки CAEBean пользователю предоставляется возможность оперировать терминами той проблемной области, в рамках которой проводится решение задачи. Каждая конкретная задача может быть описана некоторым индивидуальным набором значений входных параметров, необходимых для реализации алгоритма решения данного класса задач. В качестве примера таких параметров можно привести скорость поступательного движения и скорость вращения трубы при моделировании процесса закалки [3]. С точки зрения системы CAEBeans, каждый параметр решения задачи имеет определенную семантику, определяя свойство проблемной области задачи или отражая особенности процесса решения задачи. Постановкой задачи, с точки зрения системы CAEBeans, является указание пользователем значений всех параметров, определяющих конкретную инженерную задачу. Таким образом, проблемно-ориентированную постановку задачи можно описать так называемым полным дескриптором задачи, представляющим собой множество пар «параметр-значение».
Для решения задачи инженерного моделирования пользователь должен пройти сложный технологический цикл, который может включать в себя следующие этапы: подготовка геометрии модели исследуемой области; построение вычислительной сетки; определение физики протекающих процессов; решение поставленной задачи моделирования; визуализация и анализ полученных результатов. Таким образом, мы можем составить логический план решения каждого определенного класса задач компьютерного моделирования, который представляет собой ориентированный граф, в вершинах которого могут находиться блоки двух типов: подзадачи, выполняемые отдельными базовыми компонентами САЕ-пакетов, и специальные служебные операции управления потоком решения задачи (ветвление, распараллеливание и т.п.), что обеспечивает возможности гибкого исполнения логического плана. В процессе решения полный дескриптор задачи распределяется между блоками операций логического плана решения задачи.
В соответствии с этим, в зависимости от определяемой семантики, все множество параметров можно разбить на непересекающиеся подмножества категорий. С одной стороны, категории параметров отражают отдельные этапы технологического цикла (построение геометрии, визуализация и др.). С другой стороны, можно выделить отдельные категории параметров, ответственных за процесс решения задачи инженерного моделирования (например, выбор определенной среды генерации геометрии задачи или системы визуализации).
Дерево проблемных оболочек САЕВеаш
В основе технологии САЕВеа^ лежит процесс классификации типовых задач, для решения которых используется САЕ-пакет, и построения дерева проблемных оболочек
САЕВеаш над САЕ-пакетом на основе этой классификации. Корневой элемент дерева проблемных оболочек представляется проблемной оболочкой, соответствующей наиболее обобщенному описанию определенного класса решаемых задач. Процедуру формирования дерева проблемных оболочек можно описать как движение от корневого элемента к листьям. Технология САЕВеаш позволяет дочерним проблемным оболочкам конкретизировать классы задач, решаемые их родительской оболочкой, путем выделения и инкапсуляции групп параметров, значения которых фиксируются на данном уровне абстракции.
Первоначально для решения конкретной инженерной задачи предлагается использовать проблемную оболочку с листовой вершины соответствующего дерева проблемных оболочек. Данная оболочка имеет максимально простой пользовательский интерфейс. Однако ее область применения ограничена и допускает решение узкого класса задач. Если инженеру необходимо охватить более широкий класс задач, он осуществляет переход к родительской оболочке, переходя, тем самым, на более высокий уровень абстракции. Родительская оболочка расширяет класс задач, который может быть решен посредством проблемной оболочки предыдущего уровня абстракции. Таким образом, пользователь может дойти до корневого САЕВеап, который предлагает максимальные возможности по решению конкретного класса задач.
Слои архитектуры системы САЕВеаш
Для поддержки технологии САЕВеаш и разработанной модели инженерной задачи была разработана слоистая архитектура системы САЕВеаш. Архитектура системы САЕВеаш формируется из четырех слоев - концептуального, логического, физического и системного (рис. 1).
Проблемный САЕВеап
Потоковый САЕВеап
Компонентный САЕВеап
Системный САЕВеап
Концептуальный слой
Логический слой
Физический слой
Системный слой
Рис. 1. Схема слоев архитектуры САЕВеапв
Концептуальный слой системы формируется на основе оболочек САЕВеаш, которые мы будем называть проблемными. Пользовательский интерфейс, предоставляемый проблемным САЕВеап, является основным средством взаимодействия пользователя с системой САЕВеаш, посредством которого пользователь может произвести постановку инженерной задачи, проследить за ходом решения поставленной задачи, получить требуемые результаты решения.
Процесс постановки задачи посредством проблемного САЕВеап сводится к указанию тем или иным образом значений входных параметров, характеризующих задачи
соответствующего класса. Проблемный СЛББеап скрывает от пользователя распределенный характер вычислительной среды, структуру аппаратных, программных и лицензионных ресурсов. Также технология СЛЕБеаш предусматривает возможность формирования дерева проблемных СЛЕБеаш. Это позволяет организовать подстройку проблемных СЛЕБеаш под возможную конкретизацию базовой общей задачи в соответствии с требованиями конечных пользователей.
При постановке пользователем задачи соответствующий проблемный СЛЕБеап формирует полный дескриптор задачи. При этом не делается различий между тем, указывал ли пользователь значение данного параметра явно, или же оно было тем или иным способом вычислено соответствующим проблемным СЛЕБеап. Набор параметров, составляющих полный дескриптор задачи, одинаков для всех проблемных СЛЕБеап, входящих в одно дерево проблемных оболочек.
Сформированный полный дескриптор задачи передается в потоковый СЛЕБеап, представляющий логический слой системы СЛЕБеаш. Потоковый СЛЕБеап реализует логический план решения определенного класса задач компьютерного моделирования. При получении полного дескриптора задачи потоковый СЛЕБеап распределяет массив переданных параметров по блокам операций логического плана решения задачи (рис. 2). В процессе решения задачи потоковый СЛЕБеап, «руководствуясь» планом решения задачи, передает параметры подзадачи соответствующим компонентным СЛЕБеап и получает от них результаты решения соответствующих подзадач.
Полный дескриптор задачи: • Давление=6
Концептуальный слой
Потоковый САЕВеап , '
СредаГеометрии?
Температура1 Температура2 СкоростьДвижения •{-СкоростьВращения •,
КоличествоПроцессоров ^ / КоличествоШагов
Рис. 2. Распределение параметров по блокам логического плана решения задачи
Компонентные оболочки СЛЕБеап, составляющие физический слой системы СЛЕБеаш, инкапсулируют процесс постановки и решения конкретной подзадачи компьютерного моделирования посредством определенного базового компонента. Компонентный СЛЕБеап обладает информацией о методах взаимодействия с конкретным базовым компонентом. В зависимости от интерфейса автоматизированной постановки задач, поддерживаемого базовым компонентом, разрабатывается специальный генератор постановки данной подзадачи. Внедрение физического слоя в систему СЛЕБеаш позволяет обеспечить универсальность применения совместимых базовых компонентов для решения одинаковых подзадач. Возможность применения того или иного базового
компонента для решения определенной подзадачи зависит только от возможности реализации компонентного CAEBean, транслирующего постановку подзадачи в соответствующую компонентно-ориентированную форму.
С точки зрения системной реализации, большинство современных CAE-систем может быть представлено как набор относительно функционально-независимых компонентов, каждый из которых отвечает за собственную ступень технологического цикла решения задачи компьютерного моделирования. С точки зрения CAEBeans, такие компоненты (базовые компоненты) - это изолированные приложения, которые представляются как «черный ящик», реализующий некий специфический интерфейс [3-5].
Системным CAEBean называется оболочка, инкапсулирующая функциональные возможности конкретного базового компонента и обеспечивающая сервисно-ориентированный подход к постановке задач и получению результатов. Системный CAEBean, реализованный для конкретного базового компонента, является его «представителем» в вычислительной Грид-среде. Практически во всех случаях современными инженерными системами поддерживается широкий спектр различных методов управления процессом постановки и решения задач.
Для решения подзадачи, поставленной на физическом слое компонентным CAEBean, необходимо обеспечить ее проекцию на набор ресурсов, предоставляемых системным слоем. Для организации этого процесса используется брокер ресурсов - автоматизированная система регистрации, анализа и предоставления ресурсов распределенной вычислительной среды. Брокер представляет собой промежуточное программное обеспечение, реализующее оптимальный выбор и виртуализацию доступа к наборам ресурсов в гетерогенной вычислительной среде. Компонентный CAEBean формирует запросы на предоставление вычислительных ресурсов, которые передает брокеру ресурсов. На основе этих запросов брокер выбирает те ресурсы, которые удовлетворяют критериям поиска, и передает адреса данных ресурсов компонентному CAEBean.
Реализация оболочек CAEBeans
Важной частью работы является применение разрабатываемой технологии для решения конкретных производственных задач. По заказу Челябинского трубопрокатного завода разработана проблемно-ориентированная оболочка для решения задачи «Моделирование овализации труб при закалке» [3]. Разработанная оболочка инкапсулирует процесс решения задачи в рамках функциональных возможностей пакета DEFORM и позволяет производить моделирование задачи вычислительными ресурсами суперкомпьютерного центра Южно-Уральского государственного университета.
Заключение
В статье представлены основные результаты разработки технологии CAEBeans, ориентированной на формирование виртуальных испытательных стендов в распределенных вычислительных средах. Архитектура представленной системы может быть разделена на четыре слоя - концептуальный, логический, физический и системный.
Можно выделить следующие основные этапы дальнейшего развития работы: программная реализация иерархии оболочек CAEBeans; разработка программных средств для поддержки технологии CAEBeans. В рамках апробации технологии CAEBeans необходимо продолжать разработку оболочек CAEBeans для решения реальных задач инженерного анализа.
Работа проводилась при финансовой поддержке Федерального агентства по науке и инновациям (грант 2007-4-1.4-20-01-026), программы СКИФ-ГРИД (грант СГ-1/07) и Фонда содействия развитию малых форм предприятий в научно-технической сфере (грант 7434).
Литература
1. Foster I., Kesselman C., Tuecke S. The Anatomy of the Grid: Enabling Scalable Virtual Organizations // International J. of Supercomputer Applications and High Performance Computing. - 2001. - T. 15. - № 3. - Р. 200-222.
2. Радченко Г.И., Соколинский Л.Б. CAEBeans: иерархические системы структурированных проблемно-ориентированных оболочек над инженерными пакетами // Тр. Всерос. науч. конф. «Научный сервис в сети Интернет: многоядерный компьютерный мир. 15 лет РФФИ». - Новороссийск, 2007. - C. 54-57.
3. Дорохов В.А., Маковецкий А.Н., Соколинский Л.Б. Разработка проблемно-ориентированной GRID-оболочки для решения задачи овализации труб при закалке // Тр. междунар. науч. конф. «Параллельные вычислительные технологии». - СПб, 2008. - 520 c.
4. Радченко Г.И., Соколинский Л.Б., Шамакина А.В. Разработка компонентно-ориентированных CAEBean-оболочек для пакета ANSYS CFX // Тр. междунар. науч. конф. «Параллельные вычислительные технологии». - СПб, 2008. - C. 438-443.
5. Насибулина Р.С. [и др.] Методы организации программных интерфейсов к инженерным пакетам в среде GPE // Тр. междунар. науч. конф. «Параллельные вычислительные технологии». - СПб, 2008. - C. 537.
Радченко Глеб Игоревич - Южно-Уральский государственный университет,
аспирант, [email protected]
Соколинский Леонид Борисович - Южно-Уральский государственный университет,
д.ф.-м.н, профессор, [email protected]
УДК 519.685
РАЗРАБОТКА ПРИЛОЖЕНИЙ В СРЕДЕ PARJAVA А.И. Аветисян, В.В. Бабкова, М.Д. Калугин
Статья посвящена вопросам разработки и настройки масштабируемых параллельных программ в рамках интегрированной среды ParJava. Рассмотрены основные трудности разработки и инструменты среды, помогающие их решать.
Ключевые слова: разработка масштабируемых параллельных приложений, высокопродуктивные кластерные вычисления.
Введение
При расчете сложных технологических систем объем вычислений настолько велик, что возникает необходимость в выполнении программ на высокопроизводительных вычислительных системах. Кластеры являются одним из распространенных типов таких систем.
Существует много инструментальных систем, таких как TAU [1] (Университет штата Орегон и Исследовательский центр Juelich из Лос-Аламоса) и Paradyn [2] (Университет штата Висконсин), которые поддерживают реализацию, отладку и доводку параллельных программ. Как правило, эти системы предоставляют программисту наборы таких инструментов для анализа параллельных программ, как профилировщик, трассировщик, инструменты для моделирования работы программы, визуализатор и др. Эти системы являются наборами различных инструментов, нацеленных на поддержку разработки параллельных программ. Однако в них не рассматриваются вопросы организации комплексного использования набора инструментов в рамках единой методологии, позволяющей разрабатывать параллельные программы гарантированного качества с использованием таких инструментов.