(c) Larry Ewing, Simon Budig, Garrett LeSage
с 1994 г.

Кафедра Информатики и Математического Обеспечения

ПетрГУ | ИМиИТ | О кафедре | Проекты | Лаборатория ИТС | Семинары НФИ/AMICT
Сотрудники | Учебный процесс | Табель-календарь | Курсовые и выпускные работы
Вычислительные ресурсы | Публикации | Архив новостей | Контактная информация (English)

Методы и алгоритмы параллельных вычислений

Осенний семестр 2018-19гг.

План курса

Вопросы к экзамену

Экспериментальная площадка

Экспериментальная площадка представляет собой кластер из виртуальных серверов на базе ОС Linux (OpenSuSe). Каждый сервер обладает 4 ядрами по 1000 МГц каждое. В кластере используется сетевой домашний каталог для хранения пользовательских данных.

Доступ к кластеру производится с использованием учетной записи вычислительной системы кафедры ИМО (от kappa). Точка доступа:

  • Адрес: etourism.cs.karelia.ru
  • Порт: 20206
Имена серверов:
  • cloud1 - основной сервер, сервер входа в кластер, хранилище сетевых домашних каталогов;
  • cloud2 - дополнительный сервер.
Поддерживается переход между серверами с использованием протокола ssh (например, ssh cloud2). Для упрощения перемещения между серверами рекомендуется выполнять аутентификацию по ключу:

Практическое задание

  1. Выполнить вход в кластер с использованием собственной учетной записи. Настроить аутентификацию по ключу.
  2. Создать тестовое приложение с использованием MPI (пример исходного кода и make-файла), скомпилировать и запустить в параллельном режиме на одном сервере (mpirun -n 4 ./mpi_hello_world) и на кластере (mpirun -n 4 --hostfile hosts_file ./mpi_hello_world) с использованием файла hosts_file содержащего имена серверов кластера. Если во время компиляции выдает ошибку "gcc: error: libtool:: No such file or directory", то надо добавить путь к исполняемым файлам (например, прописать в .bashrc) "export PATH=/usr/lib64/mpi/gcc/openmpi/bin:$PATH".
  3. Расширить тестовое приложение mpi_hello_world: основной процесс отправляет параметры работы дочерним процессам, получает результаты и выполняет оценку времени работы; дочерние процессы получают задачу, выполняет вычисления и отправляет результат работы. Задачу придумать самим.
  4. Создать тестовое приложение с использованием OpenMP (пример исходного кода и make-файла), скомпилировать и запустить.
  5. Расширить тестовое приложение omp_hello добавив параллельную обработку цикла с оценкой времени работы. Задачу придумать самим.

Индивидуальная задача

Выполнение индивидуальной задачи подразумевает поиск алгоритма по выбранной теме, авторская реализация алгоритма с использованием технологий параллельной обработки данных и проведение серии экспериментов. Результаты оформляются в виде отчета, содержащего:
  • Описание алгоритма,
  • Исходный код реализации,
  • Оценка времени выполнения для 1, 2, 4, 6 и 8 параллельных процессов.
Приветствуется анализ вариантов параллелирования и его оценка.

Список тем.

Рекомендуемая литература