понедельник, 14 сентября 2015 г.

Возможные темы докладов на семинаре по параллельным вычислениям:

  1. Архитектура и средства разработки ПО для процессора Intel Xeon Phi (2-3 семианара)
  2. Алгоритмы балансировки вычислительной нагрузки в параллельной реализации методов типа ветвей и границ. (5-6 докладов по разным методам и статьям)

Материалы для докладов высылаются на e-mail заинтересованным студентам, а также ищутся студентами самостоятельно в Интернет. Для получения зачета по семинару необходимо сделать хотя бы один доклад.
Возможные темы дипломных работ студентов ВМК:
  1. Реализация метода ветвей и границ для графических плат (GP GPU). Ограниченные возможности по взаимодействию между ядрами GPU создают сложности для такой реализации. Требуется организация крупноблочного параллелизма с учетом особенностей целевой архитектуры и решаемой задачи.
  2. Реализация метода ветвей и границ для современного высокопроизводительного параллельного со-процессора (Xeon Phi). 
  3. Разработка и исследование децентрализованных стратегий балансировки вычислительной нагрузки в параллельной реализации метода ветвей и границ для систем с распределенной памятью. Работа предполагает создание новых алгоритмов балансировки нагрузки, не имеющих центрального компонента, который нередко становится "бутылочным горлышком" из-за большого числа обращений. Также предполагается реализация разработанных алгоритмов в виде программных модулей в библиотеке BNB-Solver, сравнительное исследование их эффективности на симуляторе и на реальной системе..
  4. Разработка и исследование иерархических стратегий балансировки вычислительной нагрузки в параллельной реализации метода ветвей и границ для систем с распределенной памятью. Работа предполагает создание новых алгоритмов балансировки нагрузки, построенных на модели супервизор-менеджер-подчиненный. Также предполагается реализация разработанных алгоритмов в виде программных модулей в библиотеке BNB-Solver, сравнительное исследование их эффективности на симуляторе и на реальной системе.
  5. Разработка механизмов сохранения больших деревьев ветвлений, возникающих при решении задач оптимизации методов ветвей и границ (миллионы узлов). Также разработка методов автоматизированного анализа и классификации таких деревьев. Интересны также методы интерактивной визуализации этих деревьев.

вторник, 27 мая 2014 г.

Материалы для МИЭТа  (2014 год, весна)

слайды

Темы:

  1. Понятия ускорения, эффективности, зависимости по данным
  2. Библиотека POSIX Threads.
  3. Пакет OpenMP.
  4. Многопоточные расширения нового стандарта С++ 11.
  5. MPI

понедельник, 6 января 2014 г.

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

1.  Список задач для высокопроизводительных систем. Основные определения. МВС. Суперкомпьютер. Кластер. Грид-система. HPC(eng). и др.
2.      Классификации архитектур вычислительных систем. Классификации Флинна, Ванга-Бриггса, Фенга, Шора, Хендлера, Хокни, Скилликорна.
3.      Архитектуры SMP, MPP, PVP. Кластерная архитектура.
4.      Особенности организации памяти в современных персональных компьютерах и МВС. Различные виды памяти. Различные архитектуры МВС по типу доступа к памяти. (UMA. NUMA, NORMA и т.д.) Классификация архитектур. Общая схема.
5.      Иерархия памяти. Уровни иерархии. Времена доступа и размеры памяти на каждом уровне. Алгоритм миграции данных между различными уровнями кэш-памяти.
6.      Графические ускорители. Особенности организации памяти и вычислений. Шейдеры.
7.      Способы организации высокопроизводительных процессоров: Ассоциативные процессоры. Клеточные и ДНК-процессоры. Нейронные процессоры. Процессоры с нечеткой логикой. Основные принципы функционирования, предпосылки развития альтернативных способов организации МВС, текущие трудности в реализации.
8.      Специализированные процессоры. Коммуникационные процессоры. Конвейерные процессоры. Матричные процессоры. Применение. Основные принципы функционирования.
9.      Топологии сетей МВС. Сферы применения. Свойства. Характеристики. Примеры использования.
10.  Коммутаторы для МВС. Простые коммутаторы. Алгоритмы арбитража. Составные коммутаторы. Коммутатор Клоза. Баньян-сети.
11.  Способы оценки производительности МВС. Методы оценки. Виды оценок.  Принципы формирования top 500 и .др. top.
12.  Надежность отказоустойчивость и другие характеристики МВС. Требования к компонентам МВС.
13. Ускорение и эффективность параллельных программ. Информационные зависимости по данным. Закон Амдала.
14. Многопоточное программирование: обзор технологий POSIX Threads, функции для создания и завершения потоков.
15. Проблема недетерминизма в многопоточных программах. Поддержка синхронизации потоков в POSIX Threads. Критические секции.
16. Общая характеристика пакета OpenMP. Последовательные и параллельные участки. Директивы распараллеливания.
17. Директивы распределения работы в OpenMP на примере распараллеливания циклов.
18. Устранение информационных зависимостей в циклах средствами OpenMP, директива reduction.
15. Общая характеристика библиотеки MPI. Функции инициализации и завершения MPI-программы.
16. Определение номер процесса в MPI. Функции попарной пересылки.
17. Применение шаблонов MPI_ANY_SOURCE, MPI_ANY_TAG, вычисления по типу «управляющий-рабочие».
18. Концепция грид-вычислений, понятие виртуальной организации. Область применения, виды и примеры грид-систем, классы грид-приложений.
19. Технологии построения грид-систем, ключевые функции промежуточного программного обеспечения и принципы реализации.
20. Структура ППО gLite, основные сервисы. Обеспечение безопасности. Запуск грид-задания.
21. Феномен Big Data, проблемы хранения и обработки больших объемов данных. Модель программирования MapReduce. Инвертированный индекс. Параллельная обработка и агрегация результатов. Назначение, преимущества и недостатки MapReduce.
22. Реализация модели MapReduce на вычислительном кластере. Требования к реализации. Общая схема реализации.
23. Основные функции системы Google Map Reduce. Спекулятивное выполнение. Отказоустойчивость.
24. Реализация MapReduce в системе Hadoop. Архитектура Hadoop кластера. Особенности файловой системы Hadoop.
25. Грид-системы из персональных компьютеров. Основные реализации.
26. Система BOINC. Принцип работы инфраструктуры. BOINC-менеджер, BOINC-клиент, сервер, серверная и клиентская части распределённого приложения.
27. Система BOINC. Основные понятия. Приложение, версия приложения, расчётный блок, результат, физические и логические имена файлов. Master-URL. Начисляемые баллы.
28. Архитектура BOINC-сервера. Apache. MySQL, PHP. Демоны.
29. Основы работы с ОС Linux. Основные команды (touch, cp, mkdir, ssh). Обозначение пути к файлу. Пользователь root. Использование репозиториев.
30. Основные этапы установки BOINC-сервера и создания проекта.
31. Основные этапы развёртывания распределённого приложения в инфраструктуре BOINC.
32. Основные функции DC-API.
33.Концепция облачных вычислений. Характерные черты облачных систем. Модели и примеры облачных сервисов. Отличие облачных систем от грид-систем.