Общая информация
Кафедры параллельных вычислений (ПВ) ФИТ НГУ и параллельных вычислительных технологий ПВТ (НГТУ) предоставляют студентам уникальную возможность повысить свою квалификацию в области супервычислений:
- Теория параллельных вычислений
- Языки и системы параллельного программирования
- Параллельные вычислительные технологии
- Методы и средства параллельного решения задач большого размера
- Распределенные, грид и облачные вычисления
- Эффективное программирование специализированных вычислителей
- Проектирование параллельных программ
- Функциональное программирование
- Синтез параллельных алгоритмов и программ
- Технология фрагментированного программирования
- Организация вычислений на кластерах и грид
- Методы и технологии решения задач на кластерах и грид
- Использование средств параллельного программирования пакета Матлаб
- Программирование на графических ускорителях
- Проектирование мелкозернистых алгоритмов и структур
- Практика параллельной реализации численных алгоритмов в области моделирования процессов течения многофазных сред
- Решение прикладных задач с использованием пакета Матлаб
- Параллельная фотореалистичная графика
- Системные алгоритмы конструирования и выполнения фрагментированных программ
- Верификация и анализ программ
- Параллельные численные библиотеки для высокопроизводительных вычислений
- Тестирование мультикомпьютеров
- Практика решения задач в распределённых вычислительных системах
- Методы и средства программирования численных алгоритмов на ПЛИС
- Научный семинар
Научные проекты
I. Система фрагментированного программирования
!!! Смотри подробное описание проекта по ссылке
Разработка и реализация алгоритмов исполнения фрагментированных программ на мультикомпьютерах.
Параллельное программирование задач научного моделирования на мультикомпьютерах (параллельных вычислителях с распределённой памятью) является сложной задачей. Важную роль играют системы автоматизации конструирования параллельных программ, так как они могут взять на себя большое количество трудоёмкой и сложной работы, упростив тем самым работу параллельного программиста. Разработка системных алгоритмов для таких систем представляет собой научную проблему, не имеющую общего удовлетворительного решения, и требующая проработки для различных частных случаев. Технология фрагментированного программирования, разрабатываемая в ИВМиМГ СО РАН, предназначена для автоматизации конструирования параллельных программ численного моделирования. Магистерская диссертация посвящена разработке системных алгоритмов для исполнительной среды (runtime system), осуществляющих исполнение фрагментированных программ, используемых в данной технологии. Работа подразумевает знакомство с технологией фрагментированного программирования и со спецификой параллельной реализации задач численного моделирования. Разработанные алгоритмы будут включены в экспериментальную среду исполнения LuNA, разрабатываемую в институте, в дополнение или на замену существующим алгоритмам системы. Практическая значимость ожидаемого результата состоит в улучшении качества (по времени выполнения, расходу памяти, нагрузке на сеть и т.п.) исполнения прикладных фрагментированных программ заданного класса.
Цель проекта HPC (High Performance Computing) Community Cloud – создание программного инструментария для обеспечения автоматического доступа программных комплексов к высокопроизводительным вычислительным системам (ВВС), накопления и повторного использования программ для решения прикладных задач на ВВС, предоставления пользователям авторизованного совместного доступа к накопленным ресурсам, повышения уровня интерфейсов взаимодействия пользователей с ВВС, обеспечения доступа к учебным и справочным материалам в области суперкомпьютерных технологий и параллельного программирования. HPC2C предоставляет программным системам программных интерфейс (application programming interface, API), а пользователям – веб-интерфейс для работы с удаленными ВВС.
Примеры тем бакалаврских работ
Разработка модельных вычислительных приложений параллельной вычислительной частью (С++ & MPI/OpenMP/POSIX), обеспечивающей выполнение расчетов на кластерах, и графическим интерфейсом, встроенным в веб-GUI HPC2С на основе <HTML5, CSS, JS, WebGL>, или в виде отдельного десктопного приложения на Qt, или мобильного приложения (Android SDK, Unity, etc). Примеры приложений: визуализация 3D-сцен методом трассировки лучей, динамика гравитирующих тел (N-body problem), распределение тепла в пластинке, модель цунами и другие.
Разработка визуальных средств анализа производительности параллельных программ: автоматизация (bash shell, JS, C++) замеров времени исполнения вычислительных программ, запускаемых на вычислительных кластерах посредством HPC2C API, визуализация графиков в веб-интерфейсе HPC2C (HTML5, CSS, JS, WebGL).
Примеры тем магистерских работ
Разработка системы для организация согласованного запуска частично-упорядоченного множества задач в HPC2C (графы обработки данных, work-flow на основе готовых вычислительных модулей – крупноблочное программирование). Планирование прохождения задач.
Разработка сложных вычислительных приложений и библиотек по проектам кафедры и ее партнеров с параллельной вычислительной частью (С++ & MPI/OpenMP/POSIX), обеспечивающей выполнение расчетов на кластерах, и графическим интерфейсом, встроенным в веб-GUI HPC2С на основе <HTML5, CSS, JS, WebGL>, или в виде отдельного десктопного приложения на Qt, или мобильного приложения (Android SDK, Unity, etc). Примеры приложений/библиотек: библиотека для реализации структурированных адаптивных сеток для решения крупномасштабных задач численного моделирования, библиотека процедур для анализа сейсмических данных.
- Разработка системы для управления данными пользователей: анализ потребностей пользователей в перемещении данных/файлов между персональными компьютерами и высокопроизводительными вычислительными системами, обеспечение обмена файлами между пользователями, учет версий файлов и ведение истории изменений. Учет особенностей различных сценариев работы с данными: например, файлы небольшого размера, содержащие результаты расчетов, немедленно скачиваются на компьютер пользователя, в то время как файлы большого размера скачиваются по запросу и с учетом требований пользователя на загрузку канала передачи. Автоматическое перемещение файлов для обеспечения выполнения потоковой обработки данных (см. п. 1 о work-flow)
III. Синтез параллельных программ. Представление знаний в вычислительных моделях, формальная спецификация задач, автоматический вывод алгоритмов и программ.
Проект посвящен разработке теории и инструментария для обеспечения:
формального представления знаний в различных предметных областях в виде вычислительных моделей (близкие понятия: онтология, семантическая сеть),
формулировки (спецификации) задач на вычислительной модели и на объединении множества вычислительных моделей, представляющих различные предметные области,
вывода эффективных алгоритмов и синтеза эффективных программ на основе
знаний, формально представленных в виде вычислительных моделей,
спецификации задачи на вычислительных моделях,
спецификации целевой вычислительной системы.
Темы бакалаврских работ
Система визуального конструирования вычислительных моделей: графический редактор для представления вычислительных моделей и алгоритмов, система синтеза алгоритмов на простых вычислительных моделях. Встраивание визуального конструктора в HPC Community Cloud (см. соответствующий проект).
Система программирования для разработки асинхронных программ: язык программирования, исполнительная система для выполнения асинхронных программ в системах с общей и распределенной памятью. Генерация асинхронных программ по спецификациям задач на вычислительных моделях.
Темы магистерских диссертаций
Разработка формального представления предметной области из сферы интересов кафедры и ее партнеров в виде множества вычислительных моделей и создание предметно-ориентированной системы программирования на основе этого формального представления. Разработка библиотеки процедур для реализации типичных операций предметной области. Примеры областей: линейная алгебра, сеточные задачи, в частности, структурированные адаптивные сетки, обработка данных сейсмического мониторинга.
Разработка алгоритмов и программная реализация вывода эффективных алгоритмов на основе вычислительных моделей, формальных спецификаций задач и спецификаций целевых неоднородных распределенных вычислительных систем.
IV. Система поддержки проведения международных конференций серии Parallel Computing Technologies (PaCT)
Примеры тем бакалаврских работ
- Разработка программного комплекса для построения статических метакомпьютеров NumGrid (объединение суперкомпьютеров в единую метасистему).
- Разработка системы управления распределёнными структурами данных. Примеры:
- согласованное распределение множества массивов для представления сеточных данных в задачах численного моделирования и все необходимые операции с массивами для работы прикладного уровня программ,
- распределенное представление графов для графовых задач.
- Разработка унифицированной пользовательской системы QMaestro для управления распределенными задачами и ресурсами метакомпьютеров NumGrid.
- Разработка распределенной вычислительной системы на мобильных устройствах.
- Реализация численных моделей в распределенных вычислительных системах.
Примеры тем магистерских работ
- Разработка инструментария для автоматического определения параметров элементов распределенной вычислительной сети: производительности процессоров, линий связи, наличие сопроцессоров на вычислитеьлных узлах, объемы памяти. Эта информация должна быть поставляться планировщику для принятия решений об отображении вычислений на ресурсы распределенной системы.
- Алгоритмы и программное обеспечение для организации межкластерных коммуникаций в NumGRID. Разработка эффективных алгоритмов для реализации коллективных коммуникационных операций MPI в неоднородных иерархических системах.
- Разработка средств профилирования и отладки прикладных программ для NumGrid.
- Разработка инструментария для анализа эффективности реализации коммуникационных операций в NumGrid, оптимизация реализации коммуникационных операций.
Список рекомендуемой литературы
Доступные ресурсы
Для практического освоения суперкомпьютерных технологий студенты имеют доступ к суперкомпьютерам Сибирского Суперкомпьютерного центра РАН (ССКЦ) http://www2.sscc.ru, суперкомпьютерного центра Новосибирского национального исследовательского университета http://www.nusc.ru и к суперкомпьютерным центрам других университетов, в том числе МГУ, и институтов СО РАН. Суперкомьютеры ССКЦ и НГУ входят в список 50 наиболее производительных систем СНГ (Top50 СНГ), суперкомьютер МГУ занимает первое место с пиковой производительностью порядка 1015 вещественных операций в секунду (порядок производительности ноутбука – 109 операций в секунду).
Успехи и перспективы выпускников
Все выпускники успешно строят карьеру по профессии в науке и в индустрии, работают в институтах Российской академии наук, университетах, в коммерческих компаниях:
- Новосибирский государственный университет – образование и наука
- Новосибирский государственный технический университет – образование и наука
- Институт вычислительной математики и математической геофизики СО РАН – наука и инженерные задачи, см. также Сибирский суперкомпьютерный центр (www.sscc.icmmg.nsc.ru/)
- Институт нефтегазовой геологии и геофизики им. А. А. Трофимука СО РАН – наука и инженерные задачи
- Центр финансовых технологий – разработка банковского программного обеспечениня (ПО)
- Parasoft – автоматизация разработки и сопровождения ПО
- Huawei - разработка аппаратного обеспечения вычислительных систем и ПО
- Intel – разработка аппаратного обеспечения вычислительных систем и ПО
- Parallels – разработка ПО для виртуализации и автоматизации
- Alawar – фабрика игр, один из лидеров мирового рынка казуальных игр
- XIAG AG – аутсорсинг
- НСК Коммуникации Сибири – коммуникационное оборудование
- Новотелеком – телекоммуникационные услуги
- 2ГИС – картографические материалы и созданные на их основе картографические произведения и программные продукты
- Overmobile – ведущий российский разработчик и издатель мобильных браузерных игр
- Azoft IT – аутсорсинг на долгосрочной основе более чем для 50-ти компаний в России, США, Канаде, Европе и Австралии.
- Yandex – поиск, браузер, диск и т. д.
- Iowa State University, USA
- Argonne National Laboratory, USA
- Софтлайн – лидирующий глобальный поставщик IT-решений и сервисов, работающий на рынках России, СНГ, Латинской Америки, Индии и Юго-Восточной Азии.
- The university of Aizu, Япония