Университет

Кафедры отдела в университетах

На базе Лаборатории синтеза параллельных программ (Отдел математического обеспечения высокопроизводительных вычислительных систем) Института вычислительной математики и математической геофизики СО РАН работают кафедра Параллельных вычислений НГУ и кафедра параллельных вычислительных технологий НГТУ. Это означает, что:

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

Образование

Кафедры ПВ и ПВТ обеспечивают студентам получение образования всех уровней в области суперкомпьютерных технологий:

  • бакалавриат (академическая степень  -- бакалавр), начальная ступень высшего образования;
  • магистратура (академическая степень -- магистр), следующая ступень, позволяющая углубить специализацию в области супервычислений, получить начальную научную подготовку,
  • аспирантура -- очередная ступень образования, направленная на подготовку студента к соисканию ученой степени кандидат наук (Philosophy Doctor - PhD) в области супервычислений;
  • докторантура (наивысшая ученая степень –- доктор наук).

Студенты получают образование в областях супервычислений:

  • теория параллельных вычислений,
  • современные языки и системы параллельного программирования, в т.ч. средства программирования специализированных вычислителей (GPU, FPGA, Xeon Phi, Cell, etc.),
  • архитектура высокопроизводительных вычислительных систем,
  • проектирование сложных параллельных программ для решения задач большого размера,
  • системное программирование: разработка средств высокоуровневого конструирования программ и программного обеспечения для организации вычислений в неоднородных распределенных системах,
  • распределенные, грид и облачные вычисления.

Для практического освоения суперкомпьютерных технологий студенты имеют доступ к суперкомпьютерам Сибирского Суперкомпьютерного центра РАН  (ССКЦ, http://www2.sscc.ru), суперкомпьютерного центра Новосибирского национального исследовательского университета (http://www.nusc.ru), Межведомственного Суперкомпьютерного Центра Российской Академии Наук (http://www.jscc.ru) и к суперкомпьютерным центрам других университетов, в том числе МГУ, и институтов СО РАН. Суперкомьютер ССКЦ входит в список 50 наиболее производительных систем СНГ (Top50 СНГ), суперкомьютер МГУ занимает первое место с пиковой производительностью 2,5*1015 вещественных операций в секунду (порядок производительности ноутбука  – 109 операций в секунду), имеет более чем 37 тыс. процессорных ядер.

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

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

Перспективы выпускников

Выпускники кафедры работают в институтах Российской академии наук, университетах, в коммерческих компаниях:

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

Научная работа

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

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

Результаты своих исследований студенты представляют на студенческих, всероссийских и международных конференциях, выигрывают различные студенческие, молодежные и научные гранты (гранты У.М.Н.И.К, дипломы конференций МНСК, Дней науки НГТУ, лучшие доклады недавних всероссийских конференций по параллельным вычислениям в Томске, Перми, Красноярске).

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

В настоящее время на кафедре ведутся несколько научных проектов. Есть проекты, поддержанные Программой фундаментальных исследований РАН, РФФИ (Российский фонд фундаментальных исследований), Интеграционные проекты СО РАН.

Приводим ниже два примера проектов.

I. Проект системы фрагментированного программирования LuNA.

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

Примеры тем выпускных квалификационных работ (бакалавриат)

  1. Оптимизация коммуникаций в параллельной программе с учетом топологии коммуникационной сети суперкомпьютера в системе фрагментированного программирования.
  2. Разработка фрагментированного алгоритма решения задачи численного моделирования.
  3. Разработка и реализация механизма профилирования фрагментированных программ.
  4. Разработка подсистемы управления распределенными фрагментированными данными в мультикомпьютере.
  5. Разработка и реализация визуального языка представления фрагментированных программ.
  6. Визуализация процесса исполнения фрагментированных программ.

Примеры тем магистерских диссертаций

  1. Разработка и реализация алгоритмов динамической балансировки загрузки процессоров для класса задач численного моделирования.
  2. Алгоритмы автоматического распределения ресурсов мультикомпьютера при исполнении фрагментированных программ.
  3. Оптимизация исполнения фрагментированных программ на основе профилировочной информации.
  4. Алгоритмы верификации фрагментированных алгоритмов и программ.
  5. Алгоритмы конструирования прямого управления для эффективной реализации фрагментированных алгоритмов

II. Проект  NumGrid

В целях обеспечения решения больших и сверхбольших задач математического моделирования в естественных науках в институтах СО РАН супервычислительными средствами ИВМиМГ СО РАН развивает проект NumGrid (Numerical Grid) по созданию программного обеспечения для построения распределенных вычислительных систем, объединяющих удаленные суперкомпьютеры на основе создания общей коммуникационной среды, для решения сообща больших задач. Приложение NumGrid распределятся между несколькими суперкомпьютерами и получает возможность использовать специфику аппаратных, программных и информационных ресурсов каждой из вычислительных систем для решения комплексных задач.

Примеры тем бакалаврских работ

  1. Разработка программного комплекса для построения статических метакомпьютеров NumGrid (объединение суперкомпьютеров в единую метасистему).
  2. Разработка системы управления распределёнными структурами данных. Примеры:
    1. согласованное распределение множества массивов для представления сеточных данных в задачах численного моделирования и все необходимые операции с массивами для работы прикладного уровня программ,
    2. распределенное представление графов для графовых задач.
  3. Разработка унифицированной пользовательской системы QMaestro для управления распределенными задачами и ресурсами метакомпьютеров NumGrid.
  4. Разработка распределенной вычислительной системы на мобильных устройствах.
  5. Реализация численных моделей в распределенных вычислительных системах.

Примеры тем магистерских диссертаций

  1. Разработка инструментария для автоматического определения параметров элементов распределенной вычислительной сети: производительности процессоров, линий связи, наличие сопроцессоров на вычислитеьлных узлах, объемы памяти. Эта информация должна быть поставляться планировщику для принятия решений об отображении вычислений на ресурсы распределенной системы.
  2. Алгоритмы и программное обеспечение для организации межкластерных коммуникаций в NumGRID. Разработка эффективных алгоритмов для реализации коллективных коммуникационных операций MPI в неоднородных иерархических системах.
  3. Разработка средств профилирования и отладки прикладных программ для NumGrid.
  4. Разработка инструментария для анализа эффективности реализации коммуникационных операций в NumGrid, оптимизация реализации коммуникационных операций.

Работа по каждой магистерской теме обеспечивает при должном усердии подготовку как минимум кандидатской диссертации.