2. Общие сведения о системе.
Система GPUDigitalLab – это программно-аппаратный комплекс состоящий
из основного вычислительного ядра и набора программных решений
подключенных к нему посредством одним из видов интер-процессорных
протоколов обмена данными.
Задачей центрального процессора является контроль обмена данными
между программными модулями а также выполнения скоростных расчетов
по заданным математическим алгоритмам и входных параметрам в виде
источников данных.
В основе системы лежит технология Microsoft DirectCompute. Данная
технология позволяет использовать вычислительные шейдеры(compute
shader) в которых математические алгоритмы реализованы на основе
языка HLSL. Данные подключаются к данному алгоритму в виде
константных буфферов. Устройство Direct3D11 исполняет заданный
алгоритмов на основе заданного количества потоков.
3. Структура Вычислительного ядра системы
GPUDigitalLab
Центральный
Процессор
Менеджер
Direct2D
Менеджер
Direct3D11
Менеджер Media
Foundation
Менеджер
DirectCompute
Менеджер Базы
Знаний
Менеджер
исполняемых
алгоритмов
Менеджер
виртуальных агентов
Менеджер
внешних
подключений
Менеджер Мат.
Моделей
Обработчик Событий
Диспетчер Задач
Модуль взаимодействия со
средой 3D Визуализации
Менеджер
Экспериментов
Менеджер архивации
и распаковки данных
4. Каналы сетевой и межпроцессорной
связи поддерживаемые системой.
TCP/UDP протоколы через Windows Sockets
COM Clients
HTTP Запросы
REST Cloud API
Именованные Каналы (Named Pipes)
5. Принцип работы вычислительного
ядра системы GPUDigitalLab.
Система в реальном времени собирает и
анализирует данные проходящие через
указанные ранее протоколы.
Получив запрос на выполнение новой задачи
система создает пустой архив и записывает в
него данные, полученные через протокол,
архивирует и передает его основному модулю
для исполнения.
Задачей основного модуля является правильное
определение типа задачи и корректный запуск
необходимых для ее исполнения подсистем.
6. Обработка входных данных в ядре
GPUDigitalLab
Модуль обработки
сетевых запросов
TCP/HTTP
Модуль обработки
запросов от
облачных
ресурсов по
протоколу REST
Модуль по
обработке
сигналов от COM
клиентов
Модуль обработки
сигналов по
протоколу Named
Pipes
Модуль приему
входных
сигналов
Модуль
создания и
распаковки
архивов
Математический
Алгоритм
Трехмерная
Модель
Основной
Программны
й Модуль
Источник Данных с
параметрами для
выполнения задачи
Тип Выходного
файла результатов
расчетов
Трехмерная
Модель
Тип Выходного
файла
7. Выполнение вычислительного
алгоритма в ядре GPUDigitalLab
Математический
Алгоритм
Основной
Программны
й Модуль
Источник Данных с
параметрами для
выполнения задачи
Модуль Исполнения
Математических
Алгоритмов
Диспетчер Задач
Системы
Новая задача с
указанным ID.
8. Запуск эксперимента на основе
математической модели Математический
Алгоритм
Основной
Программный
Модуль
Источник Данных с
параметрами для
выполнения задачи
Тип Выходного
файла результатов
расчетов
Трехмерная Модель
Тип Выходного
файла
визуализации
Менеджер
Экспериментов
Проект
Эксперимента
Менеджер
Математических
моделей
Математическая
Модель
Менеджер
Математических
моделей
Симулятор
вычислительного
эксперимента
Программатор
экспериментов
Среда 3D
визуализации
9. Программирования сложных экспериментов
с несколькими параллельными процессами
Эксперимент
Виртуальной Среды
Основной
Программный
Модуль
Менеджер
Виртуальных
Сред
Менеджер
Экспериментов
Эксперимент 4
Эксперимент 3
Эксперимент 2
Эксперимент 1
10. Мульти-Агентные Системы и Эксперименты
• Среда для исполнения виртуальных агентов представляет собой среду
запуска внутренних процессов в заданный период времени
• Виртуальный Агент – это Windows Service состоящий из модуля по работе
с вычислительными шейдерами и основной процедуры.
• Среда создает агентов при получении задачи состоящей из группы
параллельной процессов работающих одновременно
• Каждый виртуальный агент должен иметь отдельную версию
аппаратных модулей для корректной работы и таймер для оценки
времени работы
•
11. Программирования сложных экспериментов
с несколькими параллельными процессами
Эксперимент
Виртуальной Среды
Основной
Программный Модуль
Менеджер
Виртуальных Сред
Менеджер
Экспериментов
Агент 3Агент 2Агент 1 Агент 4
Менеджер
Вычислительных
агентов
13. Этапы программирования сложного
вычислительного процесса
Загрузка данных из базы знаний об изучаемом процессе
Разбиение задачи на группу математических моделей
Установка подключения источников данных к системе моделирования
GPUDigitalLab
Запуск системы 3D визуализации Imagine3D
Загрузка и рендер трехмерного проекта для эксперимента
Загрузка алгоритмов представленных в виде вычислительных шейдеров
HLSL.
Создание и программирование группы математических моделей
Запуск процесса симулятора экспериментов.
14. Протоколы поддерживаемые ядром
для подключения сторонних программ
TCP/UDP Протоколы
HTTP Запросы
СOM Clients
Named Pipes
Облачные Cлужбы(REST SDK)
Azure Web Services
15. Программное Обеспечение
используемое системой
Microsoft Visual Studio 2013-2015 (C++, HLSL)
Microsoft Direct3D 11
Microsoft DirectCompute(Shader Model 5)
Microsoft Windows Server 2012 (серверная ОС)
Microsoft SQL Server 2014
Microsoft Web API
Microsoft Azure
Microsoft XML Web Services
NVIDIA PhysX
NVIDIA OptiX
Windows Mobile/Windows Phone/Google Android (Мобильные ОС(клиенты))
16. Необходимое для запуска проекта
Оборудование
Вычислительный Сервер
Процессор Intel Xeon
КоПроцессор Intel Xeon Phi/NVIDIA Tesla K80
Графический Процессор NVIDIA GeForce
Система Охлаждения
Оперативная Память DDR3
Жесткие Диски
Рабочие станции программистов
17. Оценочная стоимость проектов
Облачный портал оснащенный сервисами по математическому
моделированию – стоимость проекта 5 000 000.
Дата-центр компьютерного моделирования оснащенный серверным
помещением и блоком визуализации оснащенного датчиками захвата
жестов – 120 000 000(руб.)
18. Наша Команда
Губанов Олег Игоревич – Технический Директор(Выпускник Aberystwyth
University(Software Engineer) В 2010-2011 году проходил практику в Microsoft
Research в Кембридже в должности программиста C++. Дипломный Проект –
Imagine3D – среда 3D визуализации на основе интерактивного сценария
написанного на скриптовом языке LUA.
Кирилл Александрович Некрасов – доцент кафедры Технической Физики
УРФУ(Уральский Федеральный Университет). Область Исследований –
Молекулярная Динамика и Квантово-Химические Расчеты.
Кузнецов Максим Александрович – Инженер Программист, Выпускник Кафедры
Информационные Технологии (Институт Радиоэлектроники и информационных
Технологий).
Коромыслов Илья Николаевич Лукаш Вячеслав Александрович – Биолог,
научный Консультант. Кандидат Биологических Наук(Уральский
Государственный Технический Университет).
Лукаш Вячеслав Александрович – Биолог, научный Консультант. Кандидат
Биологических Наук(Уральский Государственный Технический Университет).
Гаврилов Илья Валерьевич– Биолог, научный Консультант. Кандидат
Биологических Наук(Уральский Государственный Технический Университет).