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



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

Разработка методов и алгоритмов обработки информации при визуализации жидкостей в системах виртуальной реальности Торгонин Евгений Юрьевич

Разработка методов и алгоритмов обработки информации при визуализации жидкостей в системах виртуальной реальности
<
Разработка методов и алгоритмов обработки информации при визуализации жидкостей в системах виртуальной реальности Разработка методов и алгоритмов обработки информации при визуализации жидкостей в системах виртуальной реальности Разработка методов и алгоритмов обработки информации при визуализации жидкостей в системах виртуальной реальности Разработка методов и алгоритмов обработки информации при визуализации жидкостей в системах виртуальной реальности Разработка методов и алгоритмов обработки информации при визуализации жидкостей в системах виртуальной реальности Разработка методов и алгоритмов обработки информации при визуализации жидкостей в системах виртуальной реальности Разработка методов и алгоритмов обработки информации при визуализации жидкостей в системах виртуальной реальности Разработка методов и алгоритмов обработки информации при визуализации жидкостей в системах виртуальной реальности Разработка методов и алгоритмов обработки информации при визуализации жидкостей в системах виртуальной реальности Разработка методов и алгоритмов обработки информации при визуализации жидкостей в системах виртуальной реальности Разработка методов и алгоритмов обработки информации при визуализации жидкостей в системах виртуальной реальности Разработка методов и алгоритмов обработки информации при визуализации жидкостей в системах виртуальной реальности
>

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

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

Торгонин Евгений Юрьевич. Разработка методов и алгоритмов обработки информации при визуализации жидкостей в системах виртуальной реальности : диссертация ... кандидата технических наук: 05.13.01 / Торгонин Евгений Юрьевич;[Место защиты: Белгородский государственный национальный исследовательский университет - ФГАОУ ВПО].- Белгород, 2014.- 137 с.

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

Введение

Глава 1. Анализ состояния вопроса в области создания методов описания жидкостей для задач визуализации в системах виртуальной реальности 14

1.1. Анализ особенностей систем виртуальной реальности, требования и

ограничения, предъявляемые к используемым методам и алгоритмам 14

1.2. Анализ особенностей современной аппаратной базы систем виртуальной реальности 18

1.3. Особенности планирования выполнения задач в системах реального времени 21

1.4. Классификация методов описания жидких сред и геометрического представления поверхностных волн 24

1.5. Модели и методы описания поверхностного волнения 26

1.6. Методы описания потоков в жидких средах 39

1.6.1. Сеточные методы описания динамики жидких сред, разработанные для применения в задачах визуализации 39

1.6.2. Бессеточные методы описания динамики жидких сред, разработанные для применения в задачах визуализации 43

Глава 2. Разработка метода синтеза поверхностного волнения на основе обработки статистической информации 50

2.1. Статистическая модель описания движения поверхности жидкой среды 50

2.2. Разработка метода обработки спектра направленного поверхностного волнения 59

2.3. Разработка стохастического метода описания ненаправленного поверхностного волнения 64

2.4. Алгоритм синтеза поверхностного волнения 66

2.5. Анализ эффективности разработанного алгоритма синтеза поверхностного волнения 69

Глава 3. Разработка гибридной модели представления жидкой среды со свободной поверхностью 71

3.1. Модель представления жидкой среды 71

3.2. Адаптация метода SPH для описания жидкой среды в системах виртуальной реальности 79

3.3. Выбор функции ядра сглаживания метода SPH 83

3.5. Алгоритм расчёта динамики среды методом SPH 90

3.6. Экспериментальная проверка предложенного алгоритма 92

3.7. Гибридная модель представления жидкой среды 99

3.8. Гибридный метод описания динамики и визуализации жидких сред 102

Глава 4. Разработка вычислительной системы для эффективной обработки информации при визуализации жидких сред 109

4.1. Модель представления среды на больших пространствах 109

4.2. Управление исполнением вычислительных задач в гетерогенной вычислительной среде 111

4.3. Синхронизация при обработке общей информации 115

4.4. Тестирование программного комплекса и анализ результатов 117

Заключение 124

Список литературы 126

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

Актуальность работы. В настоящее время происходит бурное

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

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

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

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

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

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

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

Математические основы описания жидких сред, были заложены такими исследователями, как Андреев Б.М., Глуховский Б.Х., Давидан И.Н., Крылов Ю.М., Пирсон Д. и другие. И в настоящее время создатся множество алгоритмов обработки информации при описании жидкостей для систем виртуальной реальности, проявляется значительный интерес со стороны

исследователей: Беляева В.С., Бэкера М., Крячко Ю., Митчела Дж., Мюллера М., Тессендорфа Дж., Бродкорба А., Хэссельмана К., Фостера Н. и других.

Рисунок 1. Структурная схема системы виртуальной реальности

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

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

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

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

Для достижения поставленной цели были сформулированы и решены следующие задачи:

1. Анализ существующих моделей, методов и алгоритмов обработки

данных при визуализации жидких сред в системах виртуальной реальности;

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

  2. Разработка методов обработки информации и параллельных алгоритмов оптимизации процедуры отображения жидких сред для повышения эффективности управления в системах виртуальной реальности;

  3. Программная реализация разработанных алгоритмов визуализации жидкостей для гетерогенных систем;

  4. Сравнительная оценка эффективности и адекватности предлагаемых методов и алгоритмов.

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

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

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

Степень достоверности результатов проведенных исследований

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

Научная новизна. Представленные в диссертационной работе результаты являются новыми и заключаются в следующем:

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

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

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

Практическая значимость.

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

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

Положения, выносимые на защиту:

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

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

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

  4. Программная реализация разработанных алгоритмов для гибридных вычислительных систем на основе технологии OpenCL.

Апробация работы. Основные положения и результаты диссертационного
исследования докладывались и обсуждались на международных научно-
технических конференциях: III Международная научно-техническая
конференция «Высокопроизводительные вычисления (HPC-UA'13)» (КПИ,
г.Киев, Украина, 2013г.); XXIII Международная научная конференция
«Математические методы в технике и технологиях (ММТТ-23)» (СГТУ,
г.Саратов, 2010г.); IV Международная научная конференция
«Информационные технологии в науке, образовании и производстве (ИТНОП-
2010)» (ОГТУ, г.Орел, 2010г.); Международная научно-практическая
конференция – «Молодежь и научно-технический прогресс» (БГТУ им.
Шухова, г.Губкин, 2009, 2010, 2011гг.), а так же заседаниях и семинарах
кафедры ПОВТАС БГТУ им. Шухова.

Результаты работы использовались:

- При описании волновых процессов океана в разработанной системе
визуализации программного комплекса «STAR Sea: Ocean Simulator».
Свидетельство о государственной регистрации программы для ЭВМ
№2012619216.

- При выполнении НИОКР, реализованной при поддержке фонда содействия
развития малых форм предпринимательства в научно-технической сфере

(проект У.М.Н.И.К. «Разработка программного комплекса для моделирования и визуализации динамики движения жидкостей на высоко распараллеленных вычислительных системах»).

Публикации. По материалам диссертации опубликовано 9 печатных работ, в том числе 3 статьи в центральных рецензируемых изданиях, рекомендованных ВАК РФ для публикации основных научных результатов диссертаций. По теме исследования получено 1 свидетельство об официальной государственной регистрации программы для ЭВМ.

Структура и объем диссертации. Диссертационная работа состоит из введения, четырх глав, разбитых на параграфы, заключения и списка литературы. Содержание диссертации изложено на 131 странице основного текста, включающего 37 рисунков, 3 таблицы. Список литературы содержит 122 наименования.

Анализ особенностей современной аппаратной базы систем виртуальной реальности

Комбинацию вычислительных устройств различной архитектуры в одной системе называют гетерогенной архитектурой. Использование такой архитектуры для расчётов называют гетерогенными вычислениями. Одной из основных задач проектирования программных систем для таких архитектур является создание параллельных алгоритмов, способствующих оптимальному использованию ресурсов всех доступных вычислительных устройств. К таким ресурсам, как правило, относятся центральные процессоры (CPU) и графические процессоры (GPU).

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

Исследования показали, что гетерогенная архитектура может дать ускорение в вычислениях в 5-50 раз при решении задач вычислительной гидродинамики по сравнению с использованием только традиционных CPU [23]. На рисунке 1.2 показан рост производительности CPU и GPU устройств в течении последнего десятилетия. Рисунок объясняет большой интерес к использованию GPU для научных вычислений в качестве вычислителей общего назначения.

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

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

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

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

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

1) Наличие различного аппаратного и программного обеспечения вычислительных узлов; 2) Различная производительность вычислительных узлов, входящих в состав комплекса;

3) Неоднородность каналов связи между вычислительными узлами.

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

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

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

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

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

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

Разработка метода обработки спектра направленного поверхностного волнения

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

Как видно из рисунка 2.2, при рассмотрении равновесной области спектра поверхностных гравитационных волн, спектр показывает регулярные черты, описываемые степенными законами, в которых S(co) (со)а.

Большая часть спектра описывается зависимостью типа со 5. Эта закономерность была обнаружена Р. Филлипсом и объясняется следующим образом. При рассмотрении волн достаточно больших длин и периодов, капиллярным эффектом можно пренебречь. В равновесных условиях такие волны будут терять энергию главным образом при их обрушении с той же скоростью, с которой они её получают от ветра. Скорость потери энергии при обрушении волн, зависит только от ускорения силы тяжести (g) и частоты (), что определяет форму спектра в этом диапазоне частот, как безразмерная постоянная, а коэффициент (2х4) подобран эмпирическим путём.

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

Из предположения гауссовости процесса следует, что статистические характеристики волновых аппликат на участке квазиоднородности достаточно полно описываются функцией спектральной плотности S(k), аргументами которой являются в декартовой системе координат проекции кх и ку волнового числа к. Функция S(k), которая называется пространственным спектром волн, определяет распределение дисперсии амплитуд гармоник, случайное наложение которых формирует изменчивую волновую поверхность на участке квазиоднородности процесса. С точностью до постоянного множителя интеграл от S(k) равен волновой энергии спектральных составляющих в заданных пределах проекций волновых чисел.

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

При переходе от волнового числа к частоте получаем описанную выше функцию S(a), в) частотно-направленного спектра, которая в отличие от функции S(k), при расчётах не требует допущения линейности вероятностной гидродинамической модели волновой поверхности.

По данным о пространственном спектре легко определить спектр волновых чисел Б(к), как: который связан с частотным спектром, известным и описанным в работе [5] соотношением то есть, согласно закону дисперсии гравитационных волн в открытом море на глубокой воде, существует простая зависимость между и соответствующим волновым числом /с, являющимся амплитудой волнового вектора к. Данная зависимость выражается следующим образом: к = —, (2.7) где g - ускорение свободного падения. Синтез поверхностного волнения реализуется с помощью быстрого преобразования Фурье, применяемого к спектральным данным, и которое позволяет оценивать следующую сумму: Величина h(k,t) является комплексным числом, представляющим и амплитуду, и фазу волны к во время t. Так как применяется дискретное преобразование Фурье, то имеется только конечное число волн и позиций, входящих в уравнения и если размер карты высот, сохраняющей информацию о поверхностном волнении равен NxM, а размерность сетки равна величине L, то можно записать

Поле амплитуд в частотной области в начальный момент времени, согласно работе [ПО], выражается следующим образом: где г и І - две независимых величины от Гауссового генератора случайных чисел с нулевым математическим ожиданием и единичным среднеквадратичным отклонением, Ph(k) – спектр Филлипса.

В некоторый момент времени t, имеется возможность создать поле амплитуд независимое от предыдущего момента времени h(k,t) = К0 (к)еіа)Юґ + кЪ{-к)е-шФ г, где - угловая частота волны к представляющая скорость, на которой волна идёт поперёк поверхности.

Мнимая часть равна нулю, поле является комплексно-сопряженно симметричным Закон дисперсии гравитационных волн (2.7) с учётом глубины жидкой среды (d) принимает вид

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

Функция Ph(k), так же, как (2.1) получена на основе эмпирических данных наблюдения за морем и выражается в виде энергетического спектра, описывающего гравитационные волны на поверхности жидкой среды

В этом выражении L - максимально допустимая высота волны, равная U2/g и, таким образом, являющаяся результатом непрерывного воздействия ветра со скоростью U; W - направление ветра; К - направление волны, то есть нормализованный вектор к; а- числовая константа, влияющая на высоту волн. Величина а определяется по данным обработки информации полученной датчиками с помощью выражений 2.3-2.5. Последний элемент - \K-W\2, указанный в выражении (2.9), позволяет создавать только частично сонаправленные ветру волны.

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

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

Гибридная модель представления жидкой среды

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

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

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

Возникает ещё две трудности применения SPH в системах виртуальной реальности:

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

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

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

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

Так как волны различной частоты имеют различную скорость распространения и могут иметь различную природу возникновения, задачу анимации и визуализации моря требуется разделить по процессам и выполнять вычисления параллельно. В рамках предлагаемой модели, поверхностные волны могут быть представлены в виде суммы 3 компонент, предусматривающих обработку различной информации где X - горизонтальная координата точки (x,z), высоту которой мы оцениваем; Ext(X, t) - высота изо-поверхности в точке Х, построенная в результате расчётов динамики жидкости методом SPH; h(k, t) - комплексное число, представляющее и амплитуду и фазу волны к во время t;п- количество гармоник выбираемых из спектра описывающего ветровое волнение; M – количество октав шума применяемого для имитации ряби; – параметр стойкости, определяющий весовой коэффициент с которым i-ая октава шума влияет на итоговый результат.

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

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

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

Как показали эксперименты – шаг не должен превышать трёх кадров визуализации, что равняется 50-100 мс.

При этом ограничении на время шага, исходя из условий Куранта и при заданной длине сглаживания порядка 10 метров, следует ограничить скорость жидкости величиной в 40-50м/с.

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

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

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

В ходе исследований была разработана мультимедийная платформа «StarSea: Ocean Simulator» имеющая модульную структуру и предназначенная для эффективного использования ресурсов гетерогенных вычислительных систем при представлении и визуализации виртуальных пространств, в данном случае синтезе поверхностного волнения жидких сред со свободной поверхностью: морей, океанов, рек и других водоёмов. К основным требованиям в таких системам относятся: скорость работы, фотореализм результата визуализации, реактивность при взаимодействии с внешними устройствами и при взаимодействии подсистем, к которым в том числе относятся специализированные библиотеки описаний математических моделей объектов и явлений, базовая система событий, основанная на передаче сообщений, наличие менеджера управления исполнением программы, точная синхронизация звуковых и графических событий, управление вводом/выводом.

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

Программный комплекс «StarSea: Ocean Simulator» был спроектирован для работы в системах с разделённой памятью. Его структура показана на рисунке 4.3. Для координации всех действий в системе используется система событий, которой обязаны пользоваться все подсистемы для передачи сообщении другим подсистемам или передачи управления данными, а также для синхронизации всех действий.

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

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

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

Менеджер управления сценой поддерживает функциональные отношения объектов в моделируемой трёхмерной сцене путём построения иерархии объектов в зависимости от местоположения в пространстве. Это позволяет узлам уведомлять друг друга обо всех изменениях, поскольку данные изменяются динамически и оценивать ситуацию необходимо во время выполнения программы. Для обеспечения независимости подсистем и, например, при необходимости выполнять визуализацию независимо от системы моделирования, у каждого узла есть прокси-узел в пределах подсистемы визуализации, в котором содержатся только необходимые для данной системы данные: буфер вершин, геометрии, и данные о текстурах. Прокси-узлы могут связываться друг с другом, чтобы обеспечить возможность взаимодействия нескольких GPU устройств при обработке геометрии.

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

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

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

Рисунок 4.4. Организация процесса многопоточных вычислений

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

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

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

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

Часть программного комплекса, реализующая его логику, создаёт очередь задач и ожидает результаты, исключая свои задачи из очереди (рисунок 4.4), а для непосредственного выполнения задачи поступают в очереди исполнения конкретных вычислительных устройств после проверки возможности их своевременного исполнения.

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

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

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

Похожие диссертации на Разработка методов и алгоритмов обработки информации при визуализации жидкостей в системах виртуальной реальности