понедельник, 30 декабря 2019 г.

Материалы по курсу "Архитектура и программное обеспечение высокопроизводительных вычислительных систем (Распределенное и параллельное программирование)" ВМК МГУ можно взять тут.

воскресенье, 15 декабря 2019 г.

Материалы к экзамену по спецкурсу "Высокопроизводительные вычисления" (НИУ ВШЭ)

Слайды и программа учебной дисциплины (с рекомедуемой литературой) доступны по ссылке.

Знанием материала будет спрашиваться в объеме предоставленных слайдов.

среда, 18 января 2017 г.

Материалы для подготовке к экзамену 24.01.2017 (ВМК)

http://distcomp.ru/posypkin/curs/fall2016.zip
Новая программа экзамена 24 января 2017 года для студентов ВМК

Программа экзамена по курсу
«Архитектура и программное обеспечение высокопроизводительных вычислительных систем»
осенний семестр, 2016 год
1. Классификации архитектур вычислительных систем. Классификации Флинна, Ванга-Бриггса, Фенга, Шора, Хендлера, Хокни, Скилликорна.
2. Архитектуры SMP, MPP, PVP. Кластерная архитектура.
3. Особенности организации памяти в современных персональных компьютерах и МВС. Различные виды памяти. Различные архитектуры МВС по типу доступа к памяти. (UMA. NUMA, NORMA и т.д.) Классификация архитектур. Общая схема.
4. Особенности организации памяти в современных персональных компьютерах и МВС. Алгоритмы обмена данными между уровнями кэша L1-L2-L3. Механизмы поддержки когерентности кэшей в МВС.
5. Топологии сетей МВС. Сферы применения. Свойства. Характеристики. Примеры использования (суперкомпьютеры из top500).
6. Графические ускорители. Особенности организации памяти и вычислений. Типы шейдеров и шейдерные языки. Понятие GPGPU и применение CUDA.
7. Архитектура MIC. Особенности организации памяти и вычислений. Отличие от графических ускорителей. Основные отличия поколений Xeon Phi и направления развития.
8. Коммутаторы для МВС. Простые коммутаторы. Алгоритмы арбитража. Составные коммутаторы. Коммутатор Клоза. Баньян-сети. Дельта-сети.
9. Способы оценки производительности МВС. Методы оценки и единицы измерения. Виды оценок (актуальные на конец 2016 года).  Принципы формирования top 500 и др. top.
10. Концепция грид-систем, способы классификации грид-систем. Грид-системы из персональных компьютеров.
11. Система Condor.
12. Система BOINC. Принцип работы инфраструктуры. BOINC-менеджер, BOINC-клиент, сервер, серверная и клиентская части распределённого приложения.
13. Система BOINC. Основные понятия. Приложение, версия приложения, расчётный блок, результат, физические и логические имена файлов. Master-URL. Начисляемые баллы.
14. Архитектура BOINC-сервера. Linux. Apache. MySQL, PHP. Демоны.
15. Установка BOINC-сервера. Пользователь root. Установка служебных пакетов. Использование git. Технология виртуализации.
16. Администрирование BOINC-сервера. Основные команды Линукс. Права доступа к файлу. SSH-содинение,
17. Основные этапы установки BOINC-сервера и создания проекта.
18. Запуск предустановленного тестового приложения в инфраструктуре BOINC.
19. Ускорение и эффективность параллельных программ. Информационные зависимости по данным. Закон Амдала.
20. Многопоточное программирование: обзор технологий POSIX Threads, функции для создания и завершения потоков.
21. Проблема недетерминизма в многопоточных программах.
22. Поддержка синхронизации потоков в POSIX Threads. Семафоры.
23. Критические секции в POSIX Threads.
24. Условные переменные в POSIX Threads.
25. Блокирование на чтение-запись в POSIX Threads.

пятница, 8 января 2016 г.

Программа и материалы (слайды) курса доступны для скачивания.

Программа отдельно:

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