Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Обработка данных на параллельных вычислительных комплексах Карпов Андрей Николаевич

Обработка данных на параллельных вычислительных комплексах
<
Обработка данных на параллельных вычислительных комплексах Обработка данных на параллельных вычислительных комплексах Обработка данных на параллельных вычислительных комплексах Обработка данных на параллельных вычислительных комплексах Обработка данных на параллельных вычислительных комплексах Обработка данных на параллельных вычислительных комплексах Обработка данных на параллельных вычислительных комплексах Обработка данных на параллельных вычислительных комплексах Обработка данных на параллельных вычислительных комплексах
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

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

Карпов Андрей Николаевич. Обработка данных на параллельных вычислительных комплексах : дис. ... канд. физ.-мат. наук : 05.13.18 Тула, 2006 154 с. РГБ ОД, 61:07-1/435

Содержание к диссертации

Введение

Глава 1. Параллельные алгоритмы обработки данных 14

1. L История развития многопроцессорных комплексов и параллельных вычислений 14

1.2. Использование многопроцессорных систем 18

1.3. Параллелизм в задачах численного моделирования 20

1.3.1. Статистическая и динамическая балансировка 20

1.3.2. Параллелизм типа "коллективного решения'' 21

1.3.3. Геометрический параллелизм 23

13.4. Проблемы распараллеливания при решении сложных

задач численного моделирования 25

1.3.4.1. Проблема распараллеливания на примере моделирования задачи горения 25

1.3.4.2. Распараллеливание счетной модели в задачах горения 28

1.3.4.3. Формальная постановка задачи 28

1А Эффективность параллельной программы 29

1А1. Понятие эффективной параллельной программы 29

1.4.2. Свойства идеальной параллельной программы 30

1.4.3. Адаптации программ к архитектуре параллельных компьютеров 31

1.5. Проблемы отладки и мониторинга 33

1.6. Научная визуализация параллельных вычислений 35

1.6.1. Краткая история развития визуализации 35

1.6.2. Проблемы визуализации в параллельных вычислениях 38

1.6.3. Сложности образного представления абстрактных данных 39

1.6.4. Спецификации графического вывода 41

1.6.5. On-line визуализация параллельных вычислений 42

Глава 2, Подходы к реализации параллельных алгоритмов и систем визуализации 44

2Л, Моделирование объектов распараллеливания 44

2 Л Л. Уровни декомпозиции объектов распараллеливания.». 46

2 Л .2, Возможность распараллеливания объектов в алгоритмах численного моделирования 49

2.2- Геометрический параллелизм 54

2.3. Распределение нагрузки между процессорами 57

2.3.1. Независимые вычисления одинаковой трудности на гомогенных процессорах 57

2.3.2. Независимые вычисления одинаковой трудности на гетерогенных процессорах 58

2.3.3. Независимые вычисления различной трудности на гомогенных процессорах 59

2.3.4. Независимые вычисления различной трудности на гетерогенных процессорах 60

2.3.5. Зависимые вычисления одинаковой трудности на гомогенных процессорах 61

2-3,6. Зависимые вычисления одинаковой трудности на гетерогенных процессорах 61

2.37. Зависимые вычисления различной трудности на гомогенных процессорах 62

2,3,8. Зависимые вычисления различной трудности на гетерогенных процессорах 63

2-4, Выбор механизма визуализации в реальном времени на параллельных вычислительных комплексах 63

2.4.1. Визуализация на выделенном узле 63

2.4.2- Последовательная визуализация на выделенном узле . 65

2.4.3. Визуализация на счетных узлах 67

2.4.4. Визуализация с предварительной обработкой данных на счётных узлах 69

2.5. Модульная архитектура визуализатора 71

Глава 3. Реализации параллельных алгоритмов математического моделирования и визуализации 76

3.1. Сохранение и восстановление состояния расчёта 76

3.2. Синхронизация узлов в процессе расчета 79

3.3. Механизм динамической балансировки на основе статистики 81

3.4. Предобработка и выборка данных с вычислительных узлов . 84

3-5. Отображение результатов расчета 88

3.5.1. Модульная архитектура визуализатора 89

3.5.2. Архитектура модели передачи и преобразования данных 92

3.5.3. Поддержка внешних источников данных 96

3.6. Средства разработки 97

3,6.1. Язык программирования C++ 97

3.6.2- Библиотека MPI 99

3.6.3. Протокол ТСРЛР 102

3.6.4. Модель компонентных объектов (СОМ) 104

Глава 4. Результаты использования предложенных решений 107

4.1, Характеристики разработанных программных средств 107

4.1.1. Масштабируемость 107

4 Л ,2 Поддержка аппаратных платформ и операционных

4.1.3, Взаимодействие с внешними источниками данных 113

4.2. Решение практической задачи численного моделирования 117

4.2.L Цель практического исследования 118

4.2,2, Оценка возможности расчета практической задачи 119

4.2-3. Исходные данные практической задачи 120

4.2-4. Выходные данные практической задачи 122

4.2.5- Результаты решения практической задачи и выводы .„. 135

Заключение 138

Библиографические список использованной литературы

Введение к работе

Стремительное развитие наук, как фундаментальных, так и прикладных, использующих сложные (многомерные, многопараметрические) математические модели или требующих сложной, но быстрой обработки информации, а также быстрый технологический прогресс, привели к тому, что значительно возросла потребность в применении мощных вычислительных средств [99], К таким отраслям относятся:

квантовая физика: физика элементарных частиц, ядерная физика, квантовая теория поля;

статистическая физика;

физика молекул (исследование и предсказание молекулярных свойств материалов);

физика плазмы (моделирование поведения плазмы на ЭВМ);

квантовая химия (структура молекул и кристаллов, химические реакции);

науки о Земле: физика атмосферы, метеорология, климатология (предсказание погоды и изменения климата), геофизика (движение Земной коры и землетрясения), физика океана;

биология, экология (прогнозирование развития экосистем);

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

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

математическая лингвистика: распознавание речи, анализ текста и автоматический перевод;

информатика: ведение баз данных, распознавание образов, распределенные вычислительные системы;

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

баллистика (наведение баллистических снарядов и управление реактивным движением);

медицина, фармацевтика (моделирование лекарственных препаратов);

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

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

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

8 исследований обязан именно появлению мощных вычислительных машин, полнокровная его жизнь определяется триадой: Физика - Математика -ЭВМ [15].

Вспомним, что Физика отвечает, в первую очередь, за следующий круг вопросов:

выбор рационального подхода к изучению проблемы;

установление различного уровня точности схем явления;

проверка достоверности и пределов применимости схем и ММ;

выявление особенностей изучаемой проблемы на основе анализа результатов вычислительного эксперимента.

Математика, прежде всего, выполняет следующие функции;

дает математическую постановку задачи;

обеспечивает выбор, модификацию или создание эффективного численного метода ее решения;

создает алгоритм решения задачи, учитывающий особенности ЭВМ;

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

предлагает математические методы контроля над вычислениями.

ЭВМ объединяет ту часть работ по организации вычислительного эксперимента, которые непосредственно связаны с вычислительной машиной:

создание программных средств для надежной и экономичной реализации алгоритма;

разработку и систематическое осуществление методов численного контроля; ,

организацию и проведение вычислительного эксперимента на ЭВМ;

участие в анализе его результатов, проведение дополнительных расчетов и т.д.

Современная наука, ориентируясь на численный эксперимент, претерпевает качественное изменение в формах и объемах экспериментальной базы. Отсюда вытекают изменения в технологиях поиска решений актуальных задач. Обзор технологических цепочек (от постановки задачи до получения ее решения) позволяет сделать интересное наблюдение. Различные направления научной деятельности предлагают свои подходы к решению различных задач. Аналогичная ситуация и при использовании современного инструментария, каковым является многопроцессорная вычислительная система, или. иначе - суперЭВМ, существует множественность подходов к разрешению уже только одной конкретной задачи. Многовариантность подходов, порой, требует от исполнителей приобретения ими определенных навыков работы с суперЭВМ [17].

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

Развитие многопроцессорной вычислительной техники неразрывно связано с разработкой технологий параллельного программирования - как универсальных, так и под конкретную архитектуру суперЭВМ. Под

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

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

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

Современные вычислительные установки (суперЭВМ), позволяют существенно расширить фронт научных и научно-технических разработок.

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

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

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

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

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

работе освещены лишь некоторые направления, ориентированные на разрешение проблем в подходах к разработке параллельного программного

обеспечения.

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

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

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

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

В данной работе основное внимание будет сосредоточено на проблемах создания параллельных алгоритмов численного моделирования

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

Параллелизм в задачах численного моделирования

При решении широкого круга задач математической физики на многопроцессорных системах с помощью сеточных методов [71], широко используются два подхода для построения параллельных программ. Первый получил название метода геометрического параллелизма, второй - метод коллективного решения [73]. Идеи, положенные в основу этих методов, отличает простота и элегантность. Не будет преувеличением утверждение, что подавляющее большинство решаемых в настоящее время с помощью методов конечных разностей или конечных элементов задач газовой динамики, микроэлектроники, экологии, и многих других эффективно решаются именно методом геометрического параллелизма. Методом коллективного решения целесообразно пользоваться при построении параллельных алгоритмов решения задач методами Монте-Карло, при проведении серий однотипных расчетов и в ряде других случаев.

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

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

Рассмотрим в качестве примера разностную сетку как набор независимых узлов, в каждом из которых следует определять ряд параметров на каждом временном слое с помощью решения системы ОДУ с соответствующими начальными данными [28]. Решение системы в каждом узле зависит только от локальных значений переменных в этом узле. При этом вычислительная нагрузка в различных узлах значительно отличается. При построении параллельной программы с помощью классического метода "коллективного решения" используется следующая стратегия распределения вычислительной нагрузки.

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

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

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

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

Возможность распараллеливания объектов в алгоритмах численного моделирования

Далее рассмотрим, какие объекты в алгоритмах решений задач поддаются распараллеливанию.

Основные численные методы (метод конечных элементов, метод конечных разностей и другие) сводят исходную задачу к формированию системы линейных алгебраических уравнений (СЛАУ) и последующему ее решению [31, 13], В последовательной программе, например, реализующей метод конечных элементов, основная часть времени приходится на формирование самой СЛАУ (расчет коэффициентов), а не на ее решение. Важно также отметить, что элементы матрицы СЛАУ зависят только от своего положения в ней и не зависят друг от друга. В этом случае складывается благоприятная ситуация для применения параллельных алгоритмов формирования СЛАУ. При этом необходимо выполнить следующие операции: 1) расщепить вычислительную задачу на параллельные ветви; 2) провести вычисления в этих ветвях; 3) сформировать и решить СЛАУ (тем или иным способом), В статье [66] приводится пример описания параллельного алгоритма формирования СЛАУ, а также особенности применения технологии МРІ.

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

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

Можно выдвинуть тезис о том, что циклы - это одни из наиболее важных программных конструкций с доступным параллелизмом. Проблема извлечения мелкозернистого параллелизма (параллелизма внутри циклов) из этих конструкций имеет важное значение в свете возрастающей популярности суперскалярных ЭВМ [85],

В статье [65] представлены алгоритмы вычислительных процедур, а также полученные с их помощью результаты, основанные на методологии сверхточной параллельной арифметики. Эту методологию предлагается применять для решения прикладных задач линейной алгебры и математической физики. Упомянутая работа посвящена созданию алгоритмических и программных средств поддержки точных матричных вычислений, основанных на комплексном использовании параллелизма MIMD-систем [22] и многоразрядной арифметики с динамической длиной операндов. Особое внимание уделяется влиянию округлений в базовых матричных операциях на точность вычисления матричных задач. В работу включены библиотека программ, а также тестовые примеры, демонстрирующие эффективность разработанного подхода. Представленные результаты демонстрируют возможность выполнения на параллельных ЭВМ точных матричных вычислений с одновременной передачей сообщений. Разработанный пакет прикладных Программ может быть легко адаптирован к выполнению на параллельных компьютерах различных типов.

Очевидно, что использование многоразрядной арифметики не является типичным для суперкомпьютеров. Ее применение неизбежно ведет к замедлению выполнения приложения. Однако потери времени в этом случае могут быть компенсированы не только проведением расчетов с максимальным использованием стандартных типов данных, но также и адаптацией высокоэффективных параллельных алгоритмов, изначально приспособленных к исполнению на однопроцессорной ЭВМ, к средствам высокоточной обработки. Многоразрядная арифметика должна применяться только в самых «тяжелых» участках алгоритма. Но даже в этом случае динамическая длина операндов помогает обрабатывать только ограниченное количество разрядов. Именно таким образом предлагается достигать баланс между скоростью и точностью вычислений,

Механизм динамической балансировки на основе статистики

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

Схема взаимодействие вичуапияаторя Mirage и пакета численного , овання GasDynanticsTool была реализована следующим обраіом. Диспетчер генерирует запрос на вычислительные учлы, с цепью получения опте і ГІ її" І жкшется тщщт для ееех узлов и ЇОСЛЙ их получения узлов, диспетчер передает их льнейшега отображения кли параметром запроса на щ тш:тцит выборки на вычислительном узле ишт прорежившшя, В рамках одного запроса он одинаков различается только номерами начальных ячеек для выбора

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

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

Используя модульный подход к построению архитектуры визуализатора можно создать гибкую и хорошо расширяемую систему для анализа полученных результатов [163 56]. Создаваемый нами проект системы визуализации параллельных вычислений предполагает се функционирование по следующей схеме: 1. Задача считается па параллельном вычислителе и оставляет (окончательный или промежуточный) результат в файлах или в памяти процессоров вычислителя. 2. На параллельном же вычислителе проводится некоторая предобработка и фильтрация данных, связанная с будущей визуализацией. 3. По заданию пользователя строятся модули описания параллельных фильтров и видов отображения, на вход которых подаются данные после предобработки. 4. Сама визуализация осуществляется на графической рабочей станции.

Реализовано два варианта использования системы - в off-line (после окончания счета) и on-line (по ходу счета параллельной программы) режимах.

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

Разработанный нами многофункциональный визуализатор MIRAGE за счет своей модульной архитектуры позволяет дополнять установленный пакет новыми возможностями при помощи подключения внешних модулей (plug-in) [50]- Используя специфичные внешние модули, можно применить один и тот же пакет для работы с самыми разнообразными данными и в самых различных предметных областях,

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

В классическом определении под (компьютерной) визуализацией понимается методика перевода абстрактных представлений об объектах в геометрические образы, что дает возможность исследователю наблюдать результаты компьютерного моделирования явлений и процессов [37].

На рисунке 3.12 представлена структура подсистемы визуализации с точки зрения, производимой ею преобразований и реорганизацией данных [10].

Поддержка аппаратных платформ и операционных

Предложенные в данной работе идеи и рекомендации нашли свое отражение в программном комплексе «GasDynamicsTool (GDT)». Приводится расчет прохождения оперенного снаряда через дульный тормоз, полученный благодаря использованию предложенных идей и методик. Данное исследование представляет собой решение реальной проблемы, возникшей при отработке противотанковой системы «Китолов», разрабатываемой ФГУП КБ Приборостроения (г. Тула) [93], Задача включает комплекс нетривиальных проблем; дульный тормоз и снаряд имеют сложную трехмерную геометрию, которая должна быть импортирована из CAD - системы; снаряд движется в дульном тормозе, что приводит к изменению конфигурации задачи в каждый момент времени; необходимо решить проблему при наличии в расчетной области нескольких сотен миллионов трехмерных ячеек, что накладывает жесткие требования к вычислительной технике, качеству расчетной схемы и эффективности пакета в целом. Необходимость такого объема ячеек связана с наличием большого количества мелких деталей в блоке стабилизации и дульном тормозе, геометрия которых может быть искажена при аппроксимации недостаточно мелкой кубической сеткой; наличие высоких градиентов газодинамических параметров в зоне течения приводит к существенным требованиям к устойчивости разностной схемы.

На ранних этапах отработки изделия «Китолов-2М» имели место случаи деформации и разрушения лопастей блока стабилизаторов, что приводило к аномальной работе изделия. Была высказана гипотеза, что причиной деформаций являются сшш, япшикающие в следствий значительных иереяадои давления, действующее на блок стабилизаторов в момент его прохождения через дульный тормоз орудия Д-30

Целью данного исследования является оценка величины газодинамического воздействия продуктов сгораиад метательного наряда, действующего на блок стабили заторов изделия «Кнтолов-2М» (рис. 4.22) в момент прохождения его через дудышй тормоз орудия Д-30,

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

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

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

Согласно ТЗ НИР была разработана модификация программы «GasDynamicsTool (GDT)», позволяющая проводить вычислительный эксперимент для задач, характерных для функционирования ракетных и артиллерийских систем, объективно отражая параметры сложных течений, в том числе, течений газообразных продуктов от сгорания метательных зарядов.

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

Программа предназначена для изучения процессов переноса в газах (вязкость, теплопередача, диффузия); термохимических процессов и химической кинетики реакций, включая горение и детонацию.

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

Похожие диссертации на Обработка данных на параллельных вычислительных комплексах